【Unity3D实例-功能-拔枪】角色拔枪(三)IK的使用-紧握武器

这篇文章是"角色拔枪"功能的末篇文章,我将向大家展示如何利用 Unity 强大的逆向运动学------IK技术,开发一个角色拔枪并紧握武器的功能案例。本文将详细介绍从动画配置到 IK 应用的全过程,以及如何通过IK技术,让角色的双手紧紧握住武器。如果大家还不清楚拔枪功能和分割上下身的功能可以参考我前两篇文章:

(1)首篇文章:如何实现动态创建武器和角色拔枪的动画,大家可以参考《【Unity3D实例-功能-拔枪】角色拔枪(一)动态创建武器》。

(2)次篇文章:如何分离角色的"上身动画"和"下身动画",使得上半身进行特定动作(诸如:拔枪、射击、换弹)时,下半身仍能持续执行移动动画的技巧,大家可以参考《【Unity3D实例-功能-拔枪】角色拔枪(二)分割上身和下身》。

目录:

1.安装Animation Rigging

2.为角色安装骨络

3.准备实现IK前的工作

4.编写IK的关键代码

5.完整的拔枪代码

6.测试和运行


一.安装Animation Rigging

点击 Unity 的"Package Manger"下拉框,选择"Unity Registry",然后在搜索框中输入"Animation Rigging",再点击"Install"按钮进行安装即可。

二.为角色安装骨络

选中角色,点击菜单栏中的"Animation Rigging",然后点击"Rig Setup"和"Bone Renderer Setup",为角色添加骨络。

三.准备实现IK前的工作

1.点击角色左手和右手的骨络,在右侧栏中可以看到骨络的定位,然后我们在角色的左手和右手的骨络下,分别创建一个空物体(我这里分别命名为"LeftHandPosition"和"RightHandPosition")。

2.接着把角色左手和右手下的空物体,在场景中分别拖拉到角色对应的左手和右手下。

3.点击动画控制器,选中"Layers"页签,选择上身的动画图层(如果不清楚该动画怎么来的小伙伴,可以去查看我上一篇文章《【Unity3D实例-功能-拔枪】角色拔枪(二)分割上身和下身》),点击图层右上角的"小齿轮",在弹出的窗口中,勾选上"IK Pass"。

四.编写IK的关键代码

1.IK的关键代码

代码、模型和动画都已经上传到我的个人博客了,大家可以自行下载。

原创来源于-谷宇博客:https://www.biguyu.top/home

2.编写完IK代码后,把角色左右手下的空物体和武器的预制体赋予给变量(记得把脚本挂载到角色上)。

3.接着大家可以在运行状态下,拖拉角色左右手下的空物体,调整角色的手部来紧紧握住武器。

五.完整的拔枪代码

1.在 "Assets" 文件夹中新建一个名为 "Scripts" 的文件夹(可以根据自己的喜好来命名),然后在该文件夹里创建一个 C# 脚本文件。并将它拖拉到角色上。

2.完整的拔枪代码

代码、模型和动画都已经上传到我的个人博客了,大家可以自行下载。

原创来源于-谷宇博客:https://www.biguyu.top/home

六.测试与运行

亲测过程:进入"Play Mode"。按下拔枪键,触发拔枪动画后。这时观察角色的手部位置可以紧紧贴着武器,角色移动时,手部也可以跟随武器和身形进行摆动。

相关推荐
小羊没烦恼!3 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
神仙别闹3 天前
基于C#+MySQL实现(WinForm)个人聊天室软件
c#
SmalBox3 天前
02-07-原理篇-文件系统与跨平台适配
unity3d·游戏开发
只睡四小时3 天前
Canvas 弹道联机实战:700 行 + 固定时间步长
python·websocket·html5·游戏开发·canvas
kybs19913 天前
全球灾害数据分析可视化 毕业设计-附源码66794
vue.js·spring boot·mysql·安全·django·c#·asp.net
魔士于安3 天前
unity 丑陋哥布林 哥布林有humannoid 动画没 带动画
unity·游戏引擎·材质·贴图·模型
JQweryuiop3 天前
中小型游戏陪练工作室数字化管理实践:基于七彩屋电竞护航小程序订单、履约与绩效系统的落地复盘
大数据·游戏·小程序·架构
Polevne3 天前
C# SFTP客户端实现文件传输
c#·ssh
samble3 天前
从零搭建灌装监控系统(四):深色主题与样式系统,ResourceDictionary 统一管理
c#·wpf·mvvm·样式·工业控制
cjp5603 天前
024 . WPF MVVM类封装优化
c#