Unity 头发随动效果

https://www.2cto.com/kf/201712/707981.html

目标

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

准备

使用Unity-chan模型来测试,下载地址:https://assetstore.unity.com/packages/3d/characters/unity-chan-model-18705

SpringBone

原版:https://rocketjump.skr.jp/unity3d/109/

改版: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对象里,如下图所示:

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

原文地址:https://www.cnblogs.com/alps/p/8284577.html

时间: 2024-10-12 21:41:55

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

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

感谢网友分享,原文地址(How to Make an Object Shatter Into Smaller Fragments in Unity),中文翻译地址(Unity实现物体破碎效果) In this tutorial I will show you how to create a simple shattering effect for your Unity game. Instead of just "deleting" a crate (or any other obje

Android第四期 - 单侧滑动效果

Android的设置或者登陆或者其他的一些主窗体要展示的功能需要用到sliding的效果,下面就叫大家怎么做.直接上代码!! MainActivity部分: package net.ting.sliding; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.

animation js控制 缓动效果

<!DOCTYPE html><html><head><meta charset="utf-8" /><title>缓动效果</title></head><body><div id="btn" style='position:absolute;'>按钮</div><script type="text/javascript"

WPF中ListBox滚动时的缓动效果

原文:WPF中ListBox滚动时的缓动效果 上周工作中遇到的问题: 常规的ListBox在滚动时总是一格格的移动,感觉上很生硬. 所以想要实现类似Flash中的那种缓动的效果,使ListBox滚动时可以很流畅. 修改模板里的动画效果是一种方法,不过这里有更简单的,WPF为我们提供了行为代码,可以编辑在ListBox的ItemsPanelTemplate模板中,实现方法如下: 右键ListBox选择"编辑其它模板"->"辑项的布局"->"编辑副

易语言EXUI登录界面(附带缓动效果)源码

易语言EXUI登录界面(附带缓动效果)源码,调用了精易模块. 登录的时候有动效果,可以更换配色,按钮样式和背景图片,界面做的挺好看. 下载地址:https://6yunpan.pipipan.com/fs/17009107-357509637 原文地址:https://www.cnblogs.com/xiazai/p/10626497.html

镜头以及各种运动的缓动效果

如果使用物理学的匀加速(减速)运动,会发现实际效果显得迟缓,而且代码还很复杂,不如使用简单的“逐渐插值靠拢”的办法. 就是在每帧更新中,cur = lerp(cur, dst, factor) 其中 cur 是当前值,dst 是目的值,factor 则是一个很小的浮点数.这样插值的结果作为新的当前值,下一帧继续插值.实际产生的缓动效果比匀加速(减速)效果更好. 可以加入两个控制参数,以调节变化的速度. 一个是 lerpSpeed,用来生成上面的 factor: factor = lerpSpee

【FairyGUI &amp; Unity】使用动效功能实现血条UI扣血与加血的缓动效果

原理 血条使用进度条组件,可以得到当前值与最大值. 通过动效-改变缩放可以让图片宽度从1到0按百分比变化. 动效可以指定播放动效的时间范围 组件设计 创建一个进度条组件,作为血条. bar是实际血量条 DownBar是扣血缓动背景图层 UpBar是加血缓动背景图层 LowBar是低血量变色(和控制器配合,本文不讲) n11组合是血量参考线 发布到Unity. 参考代码 if (hpValue < hpBar.value) // HP降低 { hpBar.DownBar.SetScale((flo

unity 实现物体破碎效果的一些方法

游戏越来越接近现实的感觉,如果有一个真是的 虚拟现实设备,可能我们真的会感觉是在真实世界.场景的逼真是在渲染效果.角色AI.游戏逻辑.物理效果等等一起导致的结果.现在游戏越来越大,除了渲染,物理估计是最好性能的一部分.在动作游戏中,物体的毁灭和破碎效果,让战斗更加的逼真和酣畅淋漓的感觉,这篇文章主要从自己应用的角度来简单介绍破碎效果的实现. 1 简单实现 使用maya等3D工具制作碎块组成的物体,游戏中在物体被打碎的时候,首先销毁原先的物体,然后再用碎片组成的pretab替换,形成的效果则是每个

window.requestAnimationFrame与Tween.js配合使用实现动画缓动效果

window.requestAnimationFrame 概述 window.requestAnimationFrame()这个方法是用来在页面重绘之前,通知浏览器调用一个指定的函数,以满足开发者操作动画的需求.这个方法接受一个函数为参,该函数会在重绘前调用. 注意: 如果想得到连贯的逐帧动画,函数中必须重新调用 requestAnimationFrame(). 如果你想做逐帧动画的时候,你应该用这个方法.这就要求你的动画函数执行会先于浏览器重绘动作.通常来说,被调用的频率是每秒60次,但是一般