目标

实现角色的衣袖、头发、裙摆、披风、尾巴等,在角色运动时,可以产生随动的效果。类似王者荣耀角色展示界面。

准备

源码出出处:https://github.com/unity3d-jp/unitychan-crs

学习资料

《Unity中飘逸的头发或飘带实现》https://1vr.cn/?p=1922

《Unity动态骨骼插件 飘带动画基于bone的实时运算》https://www.cgjoy.com/thread-181206-1-1.html

《【飘逸的秀发】如何在移动设备下做出漂亮的头发飘逸效果!》https://gad.qq.com/article/detail/23907

步骤

将模型放入场景中,挂载SpringManager到模型根节点,如下所示:

参数说明:

  • Dynamic Ratio:柔软度,0-1之间,骨骼当前方向到目标方向的平滑度

  • Stiffness Force:整体硬度,越小像丝带,越大像钢筋

  • Stiffness Curve:硬度的逐节点变化

  • Drag Force:力衰减,越大越丝滑,越小像多节棍

  • Drag Curve:力的逐节点变化

    对需要参与进行飘动的骨骼进行添加SpringBone脚本,在这里以左边的头发为例:

    节点J_L_HairTail_00是头发的开始,在这个节点开始添加SpringBone脚本,设置其Child属性为下一个节点,如此往复,直到最后一个节点J_L_HairTail_06,不用再挂脚本。

    参数说明:

    • Child:下一个节点

    • Bone Axis:骨骼方向

    • Radius:半径

    • Is Use Each Bone Force Settings:是否使用自身设置,而不受管理器控制

    • Colliders:进行碰撞的对象

      现在运行拖曳模型,可以看到头发可以动起来,但是会与身体穿插。所以要配置每个节点可能会碰撞的范围,比如第一个节点J_L_HairTail_00,因为靠近背的上部,也只会跟背进行穿插,所以只要在背添加碰撞信息脚本SpringCollider,调整碰撞的半径大小,让其与背部范围相符,然后将此碰撞信息添加到J_L_HairTail_00的Colliders对象里,如下图所示:

      其他的节点需要的碰撞信息比较多,下面的头发需要与相邻的手臂进行碰撞处理,最后配置完毕效果如下:

Unity 头发随动效果的更多相关文章

  1. canvas弹动效果

    弹动效果,用物体与目标的距离乘上系数再累加至速度上,让物体呈加速度运动,再让速度乘与摩擦力系数,让物体最终停止运动 代码如下所示 var canvas = document.getElementByI ...

  2. javascript的缓动效果

    这部分对原先的缓动函数进行抽象化,并结合缓动公式进行强化.成品的效果非常惊人逆天.走过路过不要错过. 好了,打诨到此为止.普通的加速减速是难以让人满意的,为了实现弹簧等让人眼花缭乱的效果必须动用缓动公 ...

  3. animation js控制 缓动效果

    <!DOCTYPE html><html><head><meta charset="utf-8" /><title>缓动 ...

  4. Unity 实现物体破碎效果(转)

    感谢网友分享,原文地址(How to Make an Object Shatter Into Smaller Fragments in Unity),中文翻译地址(Unity实现物体破碎效果) In ...

  5. [ActionScript 3.0] AS3 用于拖动对象时跟随鼠标的缓动效果

    package com.fylibs.components.effects { import flash.display.DisplayObject; import flash.events.Even ...

  6. Adobe Edge Animate –弹性的方块-使用tweenmax缓动效果

    Adobe Edge Animate –弹性的方块-使用tweenmax缓动效果 版权声明: 本文版权属于 北京联友天下科技发展有限公司. 转载的时候请注明版权和原文地址. 此前有Edge爱好者提出一 ...

  7. javascript 45种缓动效果BY司徒正美

    javascript 45种缓动效果 参数 类型 说明 el element 必需,为页面元素 begin number 必需,开始的位置 change number 必需,要移动的距离 durati ...

  8. 过渡与动画 - 缓动效果&基于贝塞尔曲线的调速函数

    难题 给过渡和动画加上缓动效果是一种常见的手法(比如具有回弹效果的过渡过程)是一种流行的表现手法,可以让界面显得更加生动和真实:在现实世界中,物体A点到B点往往也是不完全匀速的 以纯技术的角度来看,回 ...

  9. 《JavaScript 实战》:Tween 算法及缓动效果

    Flash 做动画时会用到 Tween 类,利用它可以做很多动画效果,例如缓动.弹簧等等.我这里要教大家的是怎么利用 Flash 的 Tween 类的算法,来做js的Tween算法,并利用它做一些简单 ...

随机推荐

  1. ASP.NET 4.0 ListView等容器控件中获取ClientID值与HTML中自动生成ID字符串不一样问题。

    ASP.NET 4.0 中 ClientIDMode的属性 可以设置获取不同ID格式的值. 项目中遇到的问题: 1.ListView1 ItemDataBound事件中,获取ClientID结果与自动 ...

  2. 1000M链路的理论值计算

    1000M约等于(1秒/(1纳秒))/ (1024*1024) ============================================================== 1.什么是 ...

  3. systemverilog新增的always_comb,always_ff,和always_latch语句

    在Verilog中,设计组合逻辑和时序逻辑时,都要用到always: always @(*) //组合逻辑 if(a > b) out = 1; else out = 0; always @(p ...

  4. PHP自动导入类

    自动require出所需要的类文件,支持PSR系列规范 spl_autoload_register(function ($class) { $classNames = explode('\\',$cl ...

  5. Sublime text3装入插件Anaconda

    好多人在学习编写代码的时候,会有不同的编辑器,大神们建议我使sublime,但是我在里面写代码,没有一点提示,我的天,不得烧坏我的脑子啊.学Python我用的Ananconda,但是这个spyder有 ...

  6. 高通平台MSM8916LCM模块移植(一)-bootloader部分【转】

    本文转载自:http://www.mobile-open.com/2016/970947.html 高通平台中的bootloader叫做LK(Little Kernel,对于LCM来说LK部分相当重要 ...

  7. python中threading多线程

    python中有两个处理多线程的模块thread和threading.其中thread提供了多线程底层支持的模块,以低级原始的发那个是来处理和控制线程,使用起来较为复杂:而threading基于thr ...

  8. mvn库

    http://maven.aliyun.com/nexus/content/groups/public/ http://mvnrepository.com/http://search.maven.or ...

  9. flask--Wtform

    一.Wtform WTForms是一个支持多个web框架的form组件,主要用于对用户请求数据进行验证. 安装:    pip3 install wtform 用途:  1. 用户登录注册       ...

  10. 只有*.mdf 如何附加数据库到MSSQL

        下载的webform 项目,App_Data文件夹中 只有*.mdf,无*.ldf日志文件. 直接在MSSQL企业管理中 附加数据库  提示附加失败. 新建一个与要附加的数据库同名的数据库,然 ...