当前位置: 首页 > news >正文

Unity 人物模型学习笔记

一、关于模型的检查

拿到人物模型时,检查人物:

  1. 位置信息是否在0点
  2. 布线/UV是否正常
  3. 身体各部分是否分开
  4. 各部分命名是否清晰
  5. 骨骼需要绑定

二、Unity人物动画

https://www.bilibili.com/video/BV1cc41197mF?spm_id_from=333.788.recommend_more_video.-1&vd_source=707ec8983cc32e6e065d5496a7f79ee6

1. 人物下载
  • mixamo.com,可以下载人物模型和动画
2. 导入unity

https://www.bilibili.com/video/BV1Wu411F7Ca?spm_id_from=333.788.recommend_more_video.-1&vd_source=707ec8983cc32e6e065d5496a7f79ee6

  • 通过使用外部材质,导入模型的贴图
    在这里插入图片描述
3. 人物动画

https://www.bilibili.com/video/BV1RH4y1i7px/?spm_id_from=333.337.search-card.all.click&vd_source=707ec8983cc32e6e065d5496a7f79ee6

  • 导入模型后,建立Animator,并关联骨骼(Avatar)阿凡达
  • 可以查看Avatar文件,有骨骼等设置
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 建立一个Animator Control,加一个状态节点,绑定一个动画
    在这里插入图片描述
  • 这里先绑定了一个抠帧动画
    在这里插入图片描述
  • 先去掉Avatar骨骼,发现可以运行(这是因为这个案例的模型不符合T-Pose或Humanoid规则)
  • 只要符合T-Pose与Humanoid规则,相互的人物动画,就可以互通使用
4. 人物动画素材下载
  • https://www.mixamo.com

  • https://assetstore.unity.com/3d/animations

  • 一些动画组件:

  • https://assetstore.unity.com/packages/3d/animations/human-basic-motions-free-154271

  • https://assetstore.unity.com/packages/3d/animations/human-basic-motions-157744
    在这里插入图片描述

  • https://assetstore.unity.com/packages/3d/characters/humanoids/humans/anime-girls-pack-263442
    在这里插入图片描述

  • https://assetstore.unity.com/packages/3d/animations/frank-platformer-basic-222129
    在这里插入图片描述

  • https://assetstore.unity.com/packages/3d/animations/basic-standing-animation-package-219976
    在这里插入图片描述

  • https://assetstore.unity.com/packages/3d/animations/synty-animation-idles-299700
    在这里插入图片描述

  • https://assetstore.unity.com/packages/3d/animations/dialogue-anims-222285
    在这里插入图片描述


三、Animation Rigging

Unity 的 Animation Rigging 是一个强大的动画系统扩展包,主要用于在运行时(Runtime)或编辑器(Editor)中对角色骨骼进行程序化控制,增强传统动画的表现力。它的核心作用是在保持原有动画的基础上,添加动态的、可编程的骨骼控制

网址:https://www.bilibili.com/video/BV1Vf421D7YY/?spm_id_from=333.1387.favlist.content.click&vd_source=707ec8983cc32e6e065d5496a7f79ee6

1. 安装

在这里插入图片描述

  • 下载一个免费的人物UnityChan
    在这里插入图片描述
2、Bone Renderer Setup
  • 菜单 -> Animation Rigging -> Bone Renderer Setup
  • 添加Bone Renderer组件
    在这里插入图片描述
    在这里插入图片描述
  • 能显示骨骼,选择骨骼,调整骨骼显示等
3、Rig Setup,望向目标
  • 菜单 -> Animation Rigging -> Rig Setup
    在这里插入图片描述
  • 在Rig 1里,可以增加骨骼约束
    在这里插入图片描述
  • 在Rig下建立HeadAim,并添加组件Multi-Aim Constraint 多目标约束
    在这里插入图片描述
  • 找到头部的节点,拖入
  • 加入Target
    在这里插入图片描述
  • 通过AnimationRigging小窗口改变Target的样式
    在这里插入图片描述
  • 加入HeadAim的Source Objects,调整Axis
    在这里插入图片描述
  • 限制旋转,更加自然
    在这里插入图片描述
  • 使用权重,来减轻在某种情况下的影响
    在这里插入图片描述
  • 或者
    在这里插入图片描述
  • 碰到需要多个跟随目标的情况,可以如下设置
    在这里插入图片描述
  • HeadAim是头部,ChestAim是身体,都绑定Target,就可以实现
    在这里插入图片描述
4、IK骨骼约束
  • 可以再添加一个约束层
    在这里插入图片描述
  • 建立Rig 2,并有手臂移动约束器
    在这里插入图片描述
  • 使用Two Bone IK Constraint,双骨IK约束器
    在这里插入图片描述
  • 这里有3个骨骼,把手、手肘和手臂分配给它
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 建立一个target
    在这里插入图片描述
  • 选择Target,在选择LeftHand节点,选择菜单Animation Rigging -> Align Transform,对齐到手上
  • 通过右下方的Animation Rigging小窗口,改动下形状
    在这里插入图片描述
  • 把目标绑定在Target关联
    在这里插入图片描述
  • 这样手的位置被约束到了一个位置
    在这里插入图片描述
5、更多案例

通过Animation Rigging的Samples,导入更多的案例进行学
在这里插入图片描述

核心约束脚本
  1. BoneRenderer

功能:在Scene视图中可视化骨骼层级结构
用途:调试和查看骨骼位置关系

  1. RigBuilder

功能:管理所有Rig层的核心组件
用途:必须添加到角色根对象上,协调所有Rig约束

  1. Rig

功能:定义约束层容器
用途:组织和管理一组相关约束

常用约束类型
  1. TwoBoneIKConstraint

功能:实现经典的两段骨骼IK解算
用途:手臂/腿部控制,末端受目标位置和旋转控制

  1. MultiParentConstraint

功能:多父级约束
用途:允许一个骨骼受多个变换源影响,可设置权重混合

  1. MultiPositionConstraint

功能:多位置约束
用途:混合多个位置源的影响

  1. MultiRotationConstraint

功能:多旋转约束
用途:混合多个旋转源的影响

  1. MultiAimConstraint

功能:多目标注视约束
用途:控制骨骼朝向多个目标点

  1. ChainIKConstraint

功能:链式IK约束
用途:处理多骨骼链的IK解算,比TwoBoneIK更灵活

高级约束
  1. BlendConstraint

功能:约束混合
用途:在不同约束设置之间平滑过渡

  1. OverrideTransform

功能:变换覆盖
用途:临时覆盖骨骼的变换值

  1. TwistChainConstraint

功能:扭曲链约束
用途:实现脊柱等部位的扭曲效果

  1. DampedTransform

功能:阻尼变换
用途:为变换添加延迟/阻尼效果

实用工具脚本
  1. RigTransform

功能:装备变换代理
用途:在装备系统中创建虚拟控制点

  1. WeightedTransformArray

功能:加权变换数组
用途:存储带权重的变换数据

  1. RiggingMenu

功能:快速创建装备的菜单工具
用途:加速装备创建流程

典型应用场景
  • 角色装备:组合使用TwoBoneIK和MultiParent创建完整角色装备

  • 面部动画:使用MultiPosition和MultiRotation控制面部混合形状

  • 动态道具:通过OverrideTransform实现武器拾取/放置

  • 注视系统:MultiAimConstraint创建头部/眼睛注视控制

  • 程序动画:结合ChainIK和脚本创建动态运动效果

测试源码地址:https://download.csdn.net/download/qq_17523181/90855595

相关文章:

  • Windows 上安装下载并配置 Apache Maven
  • 英语学习5.17
  • 系统架构设计师案例分析题——软件架构设计篇
  • 深入解析 React 的 useEffect:从入门到实战
  • 网络切片:给用户体验做“私人定制”的秘密武器
  • Spring Boot- 2 (数万字入门教程 ):数据交互篇
  • shell脚本之条件判断,循环控制,exit详解
  • NestJS——日志、NestJS-logger、pino、winston、全局异常过滤器
  • JDBC 的编写步骤及原理详解
  • 多指标组合策略
  • 什么情况下使用ActiveMQ
  • 【读代码】端到端多模态语言模型Ultravox深度解析
  • Flask项目实践:构建功能完善的博客系统(含评论与标签功能)
  • C++ 蓝桥 STEMA 真题模拟测试卷一(选择题)
  • FastMCP:为大语言模型构建强大的上下文和工具服务
  • 系统架构设计(九):分布式架构与微服务
  • 系统架构-大数据架构设计
  • 【2025 技术指南】如何创建和配置国际版 Apple ID
  • 一个可拖拉实现列表排序的WPF开源控件
  • nt!MiInitializePfn函数分析之nt!MiPfPutPagesInTransition函数的关键一步
  • 俄外长与美国务卿通电话,讨论俄美接触等问题
  • 南昌上饶领导干部任前公示:2人拟提名为县(市、区)长候选人
  • 贝壳一季度收入增长42%:二手房市场活跃度维持在高位
  • 科普|男性这个器官晚到岗,可能影响生育能力
  • 一个多月来上海交大接连“牵手”三区,在这些方面进行区校合作
  • 习近平会见智利总统博里奇