微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Unity给力插件之Final IK怎么用

这篇文章给大家分享的是有关Unity给力插件之Final IK怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

Unity给力插件之Final IK怎么用

插件有什么用:

一般游戏中的人物的动画都是通过加载一个骨骼动画,来表现人物动作.  动作由游戏动画师,在3d软件中调整人物骨架在不同时间的姿势, 生成连续的动画. 或是由动作捕捉,记录人的动作,最终导入游戏引擎内.

这两种方式虽然制作过程方式不一样,但最终对于游戏引擎来说,没有什么太大的区别-----两者的动作都是固定,不能改变.   但是在游戏中,这种类型的骨骼动画常常不能满足需求,比如: 一个捡起地面上道具的动画,在游戏中道具不一定在地面上,而是在桌子上,或是放在墙上,.而我们不可能为每种情况都去做一个对应位置的捡道具的动画,在这个时候,我们就需要一种新的方法来,来驱动全身的骨骼,去完成"捡"的动作.  而这就要用到Final IK这个插件.

此外对于没有骨骼的物体组合,比如机械臂,也可以实现非常自然的动作. 

为什么要用这个插件:

  • 相比较unity的自带IK系统,final ik 设置更加方便,用途更广.有很多情景化的应用,如针对和物体交互的动作系统.

  • 用好这个插件,就可以使用少量的固定动画,在此基础上融合IK 动作,做出千变万化的交互动作!  

    对于制作rpg,fps游戏非常有用.

  • VR游戏也是一个非常有趣的应用方向: 现在的第一人称的vr游戏基本没有身体,只有一双手,如果通过vr手柄和VR眼镜的定位信息,来驱动游戏中玩家人物的全身骨骼,近似得同步现实中玩家的动作,一旦实现,便会大大提高代入感.

Final IK细节:

1.aim IK:设定一个目标,关节末端始终朝向该目标,一般用来做头部的朝向。

步骤:

a、在模型头节点处添加aim空物体并reset

b、给模型添加aim IK组件,并填上aim Transform及根脊椎到头的4节关节(可以设置权重)

c、创建目标target(空物体)于脸的正前方,

d、在模型上添加空物体Pin,位置与target一致

e、给target添加aim Boxing脚本,参数为模型对象及pin

f、运行后移动target,模型的脸带动上半身的身体并始终朝向target

2.Biped IK:比Unity自带IK多一个头部IK控制

3.Full Body Biped IK:上面的强化版,控制部位更多(手肘、肩部、腰部、膝部、胯部等)

步骤:

a、给模型添加该组件脚本

b、填入根节点

c、要控制某个IK就增加权重,运行时就出现有一个立方形控制器,通过它可控制对应的IK

d、脚本控制:

public FullBodyBipedIK ik;

public FullBodyBipedeffector effector;//枚举变量,自己选择

ik.solver.leftHandeffector.position = leftHandTarget.position;

//给右手IK控制点赋位置,即让右手移动到指定点

ik.solver.Geteffector(effector).position = target.position;

//给指定部位赋目标

4.Limb IK:3个点,连接3节骨骼,末端点带动2节骨骼,注意添加Bend Goal控制收缩时的方向

5.CCDIK:Limb IK的增强版,可以连接多个骨骼,可以用来制作尾巴、绳索、机械手臂等

6.FABRIK:类似CCDIK,但是更显柔韧的效果,可以用来制作钢条、树干等

7.Grounder FBBIK:人型模型在各种地形上移动时的IK效果

步骤:

a、给模型添加该组件

b、参数填写模型对象

c、模型要添加刚体及碰撞器

d、运行后,模型脚部的网格会贴合地形(脚掌会保持平面,但是会根据地形有不同的倾斜)

e、只需要行走动画,就可以呈现出在各种地形(楼梯、斜坡)上行走的动画效果

8.Grounder IK:效果同上,为未知足数的模型可用,足数可自定义

步骤:

a、给模型的每条腿添加limb IK,并从腿根到脚填入骨骼参数

b、给模型添加grounderIK组件,并填入所有腿、模型网格对象及角色控制器对象

c、自定义行走控制器,运行后可在任意地形上行走

9.Interaction System:相互作用系统,可以获取指定的ik并控制,呈现出相向移动的效果

步骤:

a、创建空物体Box添加Interaction object脚本

b、截取手掌骨骼,添加Inateraction Target脚本,设置参数后旋转手掌角度,此为触碰对象平面时的摆放角度

c、将手掌添加Box

d、模型添加Interaction System

e、添加控制脚本:

interactionSystem.StartInteraction(FullBodyBipedeffector.RightHand, Box, bool);

//执行事件

10.LookAtIK:让模型朝向某点,作为头部朝向时优于aim IK,而且容易配合biped ik使用。

步骤:

a、给模型添加LookAtIK组件

b、添加头部

c、从根部到颈部添加spine

d、运行

11.各种例子的解析:

a、拳击:有专门的FBIK Boxing脚本控制,手部权重随曲线变化,收拳时为谷底,击中目标时为峰值

b、握手、推拉、拾取:用到相互作用系统

c、驾驶:有专门的FBIK Driving Rig脚本控制

d、机器脚:应用角度限制和关节限制

e、击飞效果:手持长棍,挥击目标,可以击飞目标;应用到Motion Absorb的2个脚本。

f、接吻:有专门的Kissing Rig脚本

g、推墙:专门的Touch Walls脚本

感谢各位的阅读!关于“Unity给力插件之Final IK怎么用”这篇文章分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐