Unity中IK(反向运动学)的尝试
来源:互联网 发布:linux打包命令 zip 编辑:程序博客网 时间:2024/05/03 12:58
IK与FK对应,正向运动学就是根骨骼带动节点骨骼运动。而反向运动学就是反过来,由子节点带动父节点运动。
正常来说我是用不到它的,毕竟开发手游还不是次时代fps,玩家也不会关注你脚踩到地面上的细节表现。但是因为美术给出了个难题,所以稍微研究了下Unity中的IK。
正常人物动画的脚是稳定的定在地面上的,使用默认的人形骨骼没有问题。但是自己拉的骨骼就做不到,做动画的时候脚部会或多或少的飘。美术通过两个方法尝试解决这个问题,其中之一就是使用IK。
IK确实可以解决这个问题。但是Unity中MecAnima自带的IK智能用于人形骨骼动画,不能用于Generic的动画。所以这个尝试算是失败了。
对于Humanoid的动画,使用的方法很简单,在Animator窗口中,对于要使用IK的动画勾上Foot IK选项,在Base Layer中勾上IK Pass选项。然后在代码中实现OnAnimatorIK函数来控制IK。
最新研究:
3dMax中使用IK的情景还是非常多的。比如一个小章鱼,每个脚上面绑上IK,然后就可以通过脚步移动控制整条腿的运动。如果不用IK的话操作起来很麻烦而且不自然。
而fbx的格式里面也是有IK信息的。只是Unity过滤了相关的数据而已。美术在导出动画之前做这么的操作,然后动画就正常了。
- Set up the bone structure as you please.
- Create the animations you want, using FK and/or IK
- Select all bones and/or IK solvers
- Go to and press . Unity makes a key filter, so the amount of keys you export is irrelevant
- "Export" or "Export selected" as newest FBX format
- Drop the FBX file into Assets as usual
在3dmax中ctrl+A选中所有所有骨骼,在右侧的选项卡中选择Motion->Trajectories,如果已经选择好骨骼,Collapse按钮就可以正常点击,点击这个按钮,然后正常的导出动画。这样Unity中的动画表现就跟3dmax一致了。
注意,使用Collapse功能会修改动画的帧(使帧间隔变得一样),这样我们很多动作播放的时候就会被改变,比如攻击动作会变得很慢,没有力度。美术应该在Collapse后再次修改动画(或者是在制作动画之前使用Collapse)以保证动画的正确性。
0 0
- Unity中IK(反向运动学)的尝试
- Unity中IK(反向运动学)的尝试
- Unity中IK(反向运动学)的尝试
- Unity IK(反向运动学)初探
- Unity IK(反向运动学)初探
- 使用循环坐标下降(CCD)算法解算反向运动学(IK)
- 正向运动学和反向运动学
- 【3Dsmax】 反向运动学的原理及设置
- 骨骼动画反向动力学(IK)的实现
- 骨骼动画反向动力学(IK)的实现
- 骨骼动画反向动力学(IK)的实现
- unity ik
- 黑马程序员-----------反向推导的尝试
- 尝试使用nginx的反向代理
- Unity Mecanim动画的实现(九):动画层、遮罩与Ik动画
- Unity Mecanim动画的实现(九):动画层、遮罩与Ik动画
- Delta机器人运动学算法编译中遇到的问题
- 反向动力学 Inverse Kinematics (IK)
- Docker相关技术说明
- logstash Codec插件
- Firefox鼠标手势 切换标签组代码 火狐浏览器Tab Groups切换鼠标手势
- 为什么类的定义以分号结束
- stm8 lkf文件详解
- Unity中IK(反向运动学)的尝试
- CSDN博客的收藏路径
- ubuntu 下安装java环境
- 关于 ImageLoader 只显示旧图片不显示新图片的问题?
- 寒假篇12-笨小猴
- Linux查找当前目录下的文件
- 火星人家园接手无穷小放飞互联网计划,打造火星人的“百年老店”
- Jmeter监控系统资源
- 简单博弈