Unity 头发随动效果
目标
实现角色的衣袖、头发、裙摆、披风、尾巴等,在角色运动时,可以产生随动的效果。类似王者荣耀角色展示界面。
准备
源码出出处: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 头发随动效果的更多相关文章
- canvas弹动效果
弹动效果,用物体与目标的距离乘上系数再累加至速度上,让物体呈加速度运动,再让速度乘与摩擦力系数,让物体最终停止运动 代码如下所示 var canvas = document.getElementByI ...
- javascript的缓动效果
这部分对原先的缓动函数进行抽象化,并结合缓动公式进行强化.成品的效果非常惊人逆天.走过路过不要错过. 好了,打诨到此为止.普通的加速减速是难以让人满意的,为了实现弹簧等让人眼花缭乱的效果必须动用缓动公 ...
- animation js控制 缓动效果
<!DOCTYPE html><html><head><meta charset="utf-8" /><title>缓动 ...
- Unity 实现物体破碎效果(转)
感谢网友分享,原文地址(How to Make an Object Shatter Into Smaller Fragments in Unity),中文翻译地址(Unity实现物体破碎效果) In ...
- [ActionScript 3.0] AS3 用于拖动对象时跟随鼠标的缓动效果
package com.fylibs.components.effects { import flash.display.DisplayObject; import flash.events.Even ...
- Adobe Edge Animate –弹性的方块-使用tweenmax缓动效果
Adobe Edge Animate –弹性的方块-使用tweenmax缓动效果 版权声明: 本文版权属于 北京联友天下科技发展有限公司. 转载的时候请注明版权和原文地址. 此前有Edge爱好者提出一 ...
- javascript 45种缓动效果BY司徒正美
javascript 45种缓动效果 参数 类型 说明 el element 必需,为页面元素 begin number 必需,开始的位置 change number 必需,要移动的距离 durati ...
- 过渡与动画 - 缓动效果&基于贝塞尔曲线的调速函数
难题 给过渡和动画加上缓动效果是一种常见的手法(比如具有回弹效果的过渡过程)是一种流行的表现手法,可以让界面显得更加生动和真实:在现实世界中,物体A点到B点往往也是不完全匀速的 以纯技术的角度来看,回 ...
- 《JavaScript 实战》:Tween 算法及缓动效果
Flash 做动画时会用到 Tween 类,利用它可以做很多动画效果,例如缓动.弹簧等等.我这里要教大家的是怎么利用 Flash 的 Tween 类的算法,来做js的Tween算法,并利用它做一些简单 ...
随机推荐
- yii常用操作函数
<?php defined('YII_DEBUG') or define('YII_DEBUG', true); //当在调试模式下,应用会保留更多日志信息,如果抛出异常,会显示详细的错误调用堆 ...
- sql备份命令
--将SQL脚本赋值给变量 ) set @SqlBackupDataBase=N'BACKUP DATABASE dbname TO DISK = ''E:\DBBackup\dbname-'+ ), ...
- 【HackerRank】Coin on the Table
题目链接:Coin on the Table 一开始想用DFS做的,做了好久都超时. 看了题解才明白要用动态规划. 设置一个三维数组dp,其中dp[i][j][k]表示在时间k到达(i,j)所需要做的 ...
- redis 第一篇
一.redis简介 redis是一个开源的高性能键值对数据库:本质上是数据结构服务器或者是数据结构数据库 特点: 1.共享内存 如果有自己的线程可以读list,如果外界还有一个程序都上面的list,那 ...
- Android系统--输入系统(一)必备的Linux知识_inotify和epoll
Android系统--输入系统(一)必备的Linux知识_inotify和epoll 引入 1. 笔记本电脑插入外接键盘,两个键盘都可以使用 a. 键盘即插即用--如何检测键盘的接入和拔出 hotpl ...
- linux文件系统实现原理简述【转】
本文转载自:https://blog.csdn.net/eleven_xiy/article/details/71249365 [摘要] [背景] [正文] [总结] 注意:请使用谷歌浏览器阅读( ...
- 解决MySQL因不能创建 PID 导致无法启动的方法
问题描述 MySQL 启动报错信息如下: ? 1 2 Starting mysqld (via systemctl): Job for mysqld.service failed because t ...
- JavaWeb基础
1.Servlet: Servlet是JavaWeb的3大组件之一,是把url请求转为后台处理的具体类,此类必须实现Servlet接口,一把实际使用时无须我们实现,我们直接使用JavaEE的HTTPS ...
- shell删除最后一列、删除第一行、比较文件
删除文件第一行: sed -i '1d' filename 删除文件最后一列: awk '{print $NF}' filename 比较文件的方法: 1)comm -3 --nocheck-orde ...
- navigationBar
1.navigationBar导航条可以看做是self.navigationController导航控制器的一个属性. 通过self.navigationController.navigationBa ...