栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 游戏开发 > 其他

【Unity笔记】使用IK来控制手持武器以及武器瞄准(一)

其他 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【Unity笔记】使用IK来控制手持武器以及武器瞄准(一)

最终实现的效果如下:

教程时间:2021年12月29日 教程版本:Unity 2020.3
第一步,安装插件: Animation Rigging
  1. Windows → Package Manager

    然后点击 安装即可!!!
第二步 ,导入人物模型以及枪支模型
  1. 人物模型可以去 免费的人物模型以及大量动画 下载,这是 Adobe 公司的一个网站
  2. 枪支可以去unity官网下载免费的武器
    此时,你应该有一个人物模型和枪支模型,然后一个持枪动画
第三步,在场景中准备人物和枪支模型
  1. 必须将模型拆包才可以使用,否则无法操作哦!

    PlayerPerfab 是我创建的空物体,然后将人物模型拖入了进去,等你准备好以后,你的层级关系应该是这样的
第四步,正式开始制作 1. 在PlayerPerfab 下新建一个空物体,起名为 **WeaponHolder **,然后将武器模型拖入到 PlayerPerfab 下 这里注意下,如果你的枪支方向和人物朝向相反,请设置枪支旋转 180 ° 和人物朝向一致
2. 选中 WeaponHolder ,将 WeaponHolder 的坐标移动到枪支的枪托上 为什么这样做呢?请继续往下看 3. 将枪支拖入到 WeaponHolder 下,此时,并重置 WeaponHolder 的 transform

2 ,3 的作用是:当我们持枪时,枪托抵着肩膀,枪口绕着枪托旋转,所以,2 3 组成了下面的效果

第五步,先给人物添加动画 1. 我们使用animator来给人物添加一个 持枪的 idle 动画,如下

2.我们新建一个animator Controller来让人物一开始就保持这个idle动画


这里的意思是,游戏一运行,则开始执行idle动画

3. 将这个控制器拖入到人物模型上的animator上 4.此时,运行游戏,人物会保持持枪动作
第六步 ,给PlayerPerfab 添加渲染骨骼的 Bone Renderer 和 控制约束的Rig Builder

1.将人物的所有骨骼选中,拖入到Bone Renderer 的 Transforms中,记住,是所有!!!

操作成功的标志如下:
人物骨骼是渲染出来的,如果你认真操作发现没有被渲染,你点击别的地方就可以了,比如收起刚才的transforms

2. 在 playerPerfab 下,新建一个 Rig_WeaponPose,并且在 Rig_WeaponPose 下新建一个WeaponPose,作为枪的位置处理

3.给 Rig_WeaponPose 添加一个Rig 组件

4.给 WeaponPose 添加一个 Multi-Parent-Constraint 组件

给Constrained Object(我们要约束的对象) 添加 WeaponHolder (拖入),给Source Object(约束对象对齐的位置)添加WeaponPose(拖入)

5.然后在PlayerPerfab 的Rig Builder 组件中的Rig Layers 中,拖入我们的 Rig_WeaponPose

6.运行游戏,将枪的位置拖入到当前手的位置,然后复制transform的值 这里其实无所谓,大概位置就行,也就是说,你觉得你的手臂和手掌可以正确握住就可以了(甚至武器可以手掌只需要在一个小范围内即可),不用现在就调整到可以握住 7.然后停止运行游戏,将复制的值粘贴到WeaponPose 的 transform上

8.此时,我们运行游戏,人物已经可以(大概)持枪了
等等,这才刚刚开始! 未完待续
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/901380.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号