【Unity教程】使用 Animation Rigging实现IK制作程序化的动画

news2024/9/20 14:57:33

在 Unity 开发中,为角色创建逼真且自适应的动画是提升游戏体验的关键。在本教程中,我们将结合 Animation Rigging 工具和 IK(Inverse Kinematics,反向运动学)插件来实现程序化的动画。
视频教程可以参考b战大佬的视频

一、前期准备

  1. 确保您已经安装了最新版本的 Unity 编辑器。
  2. 在 Unity 包管理器中安装 Animation Rigging 。
    启用预发布包
    在这里插入图片描述
    安装Animation Rigging
    在这里插入图片描述

二、创建项目与导入资源

  1. 创建一个新的 Unity 项目。
  2. 导入带有骨骼和基本动画的角色模型。如果模型没有动画,就下载或者自制一个动画

在这里插入图片描述

三、设置 Animation Rigging

  1. 在 Unity 编辑器中,打开 Window -> Animation -> Animation Rigging 窗口。
  2. 选中模型、点击 Animation Rigging 的Bone Renderer Setup

在这里插入图片描述
4. 选中模型、点击 Animation Rigging 的Rig Setup会生成rig对象

在这里插入图片描述
5. 在rig下创建你的目标空对象、比如我的是左手、对象名称不能重复,所以我的手部模型名是hand.l这里的空对象名字是handl
6. 在rig添加ik组件,ik组件有两种,我选的是tow bone ik constraint,把需要跟随的模型关键拖进对应的地方,跟对应的是肩膀或者胯等根部关节、mid中间的是肘关节或者膝盖、tip是手腕关节或者脚腕、目标就是建立的rig下面的空对象、这样运行的时候,你移动目标对象其他关节就会自动移动了;
在这里插入图片描述

四、添加 IK 约束

  1. 选择角色的腿部骨骼,如大腿和小腿。
  2. 在 Animation Rigging 窗口中,添加 IK 约束。
    参考 Animation Rigging文档
    比如:多父约束可以实现捡起武器的时候除了手臂外的其他部位跟随动作(弯腰,头部跟随等)
    还有其他约束,可以自行了解;

五、利用ik创建动画

这样我们创建动画的时候,只需要控制目标的位置旋转等属性,就可以控制手臂等动作了

六、编写控制脚本

同样的,我们只需要修改目标handl的位置和旋转,就可以带动手臂的移动了

希望这篇博客能够帮助您在 Unity 中成功创建程序化的动画,如果您有任何疑问或需要进一步的帮助,请随时联系。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2049163.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

不只是翻译,更是智慧碰撞!有道翻译与3大强敌的全方位较量

现在的科技牛得不行,翻译软件早就成了咱们学习、工作、生活里少不了的帮手。它们不光是把语言的墙给推倒了,还让咱们说话交流快多了。今儿个,咱们就一块儿瞧瞧2024年的翻译软件圈子,瞅瞅那几个最火的翻译工具,它们怎么…

生信软件30 - 快速单倍型分析工具merlin

Merlin可用于连锁分析或关联分析、IBD和亲缘关系估计、单倍型分析、错误检测和模拟。 1. merlin下载 下载地址: http://csg.sph.umich.edu/abecasis/merlin/download/ # linux版本 wget http://csg.sph.umich.edu/abecasis/merlin/download/Linux-merlin.tar.gz …

如何在本地和远程删除 Git 分支?

如何在本地和远程删除 Git 分支? 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页,我是博主英杰,211科班出身,就职于医疗科技公司,热衷分享知识,武汉城市开发者社区主理人 擅长.n…

创新赛场的制胜法宝:如何让你的商业计划书脱颖而出

创新赛场的制胜法宝:如何让你的商业计划书脱颖而出 前言明确产品或服务的核心功能突出创新性用户需求和市场痛点具体示例和场景详细描述产品和服务的方法实例化产品与服务视觉辅助工具未来展望结语 前言 作为一名资深的项目负责人,我有幸参与了无数次创新…

React + Vite项目别名配置

Node版本:v20.16.0Vite版本:5.4.1 安装 types/node 依赖包 pnpm i types/node -D pnpm ls types/node配置 vite.config.js 文件: resolve: {alias: {"": join(__dirname, "./src/"),}, },使用配置好的别名 : 由上图我们…

考试:操作系统知识(02)

进程同步和互斥 临界资源:各进程间需要以互斥方式对其进行访问的资源。 临界区:指进程中对临界资源实施操作的那段程序。本质是一段程序代码。 ◆互斥:某资源(即临界资源) 在同一时间内只能由一个任务单独使用,使用时需要加锁&…

kafka连接图形化工具(Offset Explorer和CMAK)

kafka连接图形化工具 1、Offset Explorer1.1、下载Offset Explorer1.2、安装Offset Explorer1.3、配置Offset Explorer连接kafka 2、CMAK(kafka的web管理后台)2.1、下载2.2、解压安装2.3、配置2.4、启动2.5、CMAK访问 1、Offset Explorer Offset Explor…

【数据结构】二叉树链式结构(c语言)(附源码)

🌟🌟作者主页:ephemerals__ 🌟🌟所属专栏:数据结构 目录 前言 一、节点的定义 二、创建一棵二叉树 1. 创建新节点 2. 手动创建二叉树 三、方法的声明 四、方法的实现 1. 前、中、后序遍历 1.1 前…

libLZMA库iOS18平台编译

1.下载xz源码: 使用autogen.sh生成configure文件 2.生成makefile rm -rf ./build/iOS && mkdir -p ./build/iOS && cd ./build/iOS && ../../configure --host=arm-apple-darwin64 --prefix=`pwd`/Frameworks/lzma CC="xcrun -sdk iphoneos cl…

二十天刷leetcode【hot100】算法- day2[前端Typescript]

指针 6.三数之和 给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k ,同时还满足 nums[i] nums[j] nums[k] 0 。请你返回所有和为 0 且不重复的三元组。 注意:答案中不可以包含重复的…

Maven项目中Allure和AspectJ的配置及测试执行(常见报错解决方法)

Maven项目中Allure和AspectJ的配置及测试执行 在自动化测试领域,Allure和AspectJ是两个非常有用的工具。Allure提供了丰富的测试报告,而AspectJ则允许我们以声明式的方式编写横切关注点,如日志记录、事务管理等。本文将指导您如何在Maven项目…

MySQL基础练习题47-判断三角形

目录 题目 准备数据 分析数据 方法一 :if函数 方法二:case when 题目 对每三个线段报告它们是否可以形成一个三角形。 准备数据 ## 创建库 create database db; use db;## 创建表 Create table If Not Exists Triangle (x int, y int, z int)## …

XSS-过滤特殊符号的正则绕过

靶场网址:https://xss.pwnfunction.com/ 题目源码: mafia (new URL(location).searchParams.get(mafia) || 11)mafia mafia.slice(0, 50)mafia mafia.replace(/[\\\"\\-\!\\\[\]]/gi, _)mafia mafia.replace(/alert/g, _)eval(mafia) 分析代码…

autojsUI界面分享 免责条款界面

个人简介 👨🏻‍💻个人主页:九黎aj 🏃🏻‍♂️幸福源自奋斗,平凡造就不凡 🌟如果文章对你有用,麻烦关注点赞收藏走一波,感谢支持! 🌱欢迎订阅我的…

计算机毕业设计选题推荐-springboot 基于SpringBoot的宠物爱心组织管理系统

✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 |…

网络编程,网络协议,UDP协议

网络: 1.协议:通信双方约定的一套标准 2.国际网络通信协议标准: 1.OSI协议: 应用层 发送的数据内容 表示层 数据是否加密 会话层 是否建立会话连接 传输层 …

python中模块,包,python常用内置模块,第三方模块

python模块 模块的导入: 模块可以导入一整个也可以导入其中的部分变量函数类,直接饶了的变脸函数类在使用时候就可以不用再前边写上 模块的名字. 这个部分了,所有需要注意同名函数会覆盖,使用时会调用后引入模块的这个函数 包 …

第18 章探讨 C++新标准.新的类功能.比较函数指针、函数符和 Lambda 函数

第18 章探讨 C新标准.新的类功能.比较函数指针、函数符和 Lambda 函数 第18 章探讨 C新标准.新的类功能.比较函数指针、函数符和 Lambda 函数 文章目录 第18 章探讨 C新标准.新的类功能.比较函数指针、函数符和 Lambda 函数18.4 Lambda 函数18.4.1 比较函数指针、函数符和 Lam…

Python爬虫入门教程(非常详细)适合零基础小白

一、什么是爬虫? 1.简单介绍爬虫 爬虫的全称为网络爬虫,简称爬虫,别名有网络机器人,网络蜘蛛等等。 网络爬虫是一种自动获取网页内容的程序,为搜索引擎提供了重要的数据支撑。搜索引擎通过网络爬虫技术,将…

为什么穷大方

为什么有些人明明很穷,却非常的大方呢? 因为他们认知太低,根本不懂钱的重要性,总是想着及时享乐,所以一年到头也存不了什么钱。等到家人孩子需要用钱的时候,什么也拿不出来,还到处去求人。 而真…