随笔
主页
  • Unity
  • 前端文章

    • JavaScript
    • Vue
  • 学习笔记

    • 《JavaScript教程》笔记
    • 《JavaScript高级程序设计》笔记
    • 《ES6 教程》笔记
  • 数据库

    • Redis
  • Html 文档
  • CSS 文档
  • Vue 文档
  • TypeScript
  • Golang
  • 版本控制

    • Git 文档
    • Svn 文档
  • 技术文档

    • Markdown语法
    • GitHub技巧
    • Nodejs
  • 分类
  • 标签
  • 时间线
  • 目录结构
  • 配置和约定
  • 主题配置
  • 首页配置
  • front matter
  • 目录页配置
  • 摘要
  • 主题颜色
  • 评论栏
  • Markdown扩展
GitHub
主页
  • Unity
  • 前端文章

    • JavaScript
    • Vue
  • 学习笔记

    • 《JavaScript教程》笔记
    • 《JavaScript高级程序设计》笔记
    • 《ES6 教程》笔记
  • 数据库

    • Redis
  • Html 文档
  • CSS 文档
  • Vue 文档
  • TypeScript
  • Golang
  • 版本控制

    • Git 文档
    • Svn 文档
  • 技术文档

    • Markdown语法
    • GitHub技巧
    • Nodejs
  • 分类
  • 标签
  • 时间线
  • 目录结构
  • 配置和约定
  • 主题配置
  • 首页配置
  • front matter
  • 目录页配置
  • 摘要
  • 主题颜色
  • 评论栏
  • Markdown扩展
GitHub
  • 基础

  • 资源导入

    • Model Import Settings
    • Speed Tree Import Settings
    • Model
    • Rig
      • 属性
        • Legacy
        • Generic
        • Humanoid
      • Avatar Mapping 选项卡
        • 详解
        • 保存和重用 Avatar 数据(人体模板 (Human Template) 文件)
        • 使用 Avatar 遮罩
      • Avatar Muscle & Settings 选项卡
      • Muscle & Settings 选项卡具有以下区域:
        • 预览更改
        • 移动自由度 (Degree of Freedom, DoF)
      • Avatar Mask 窗口
        • 人形身体选择
        • 选择变换组件
      • Human Template 窗口
    • Animation
    • Matrerials
    • 在Unity外部创建资源
    • Sketc Up
  • 2D

  • Physical2D

  • UGUI

  • Animation

  • Animator

  • Unity
  • 资源导入
dong
2021-01-16

Rig

# Rig

# 属性

  • Animation Type:动画类型
  • None: 不支持动画
  • Legacy: 旧版动画系统,如果希望用3.x的动画系统导入和编辑动画,则选用此项,
  • Generic: 泛型(通用Mecanim动画系统),如果导入FBX资源是一个非人形的(如 丝足动物),请选该项,Unity 会选择一个根节点,但可以确定另一个用作根节点的骨骼。
  • Humanoid: 人形Mecanim动画系统(如IE,两条腿,两只胳膊和头), Unity 通常会检测骨架并将其正确映射到 Avatar。有些情况下,可能需要更改 Avatar 定义 (Avatar Definition) 并手动对映射进行配置 (Configure)。

# Legacy

  • Generation: 生成
  • Dont't Import: 不导入
  • Store in Original Roots(Deprecated): 存储在原始跟中(已启用)
  • Store in Nodes(Deprecated): 存储在节点中(已启用)
  • Store in Root(Deprecated): 存储在根中(已启用)
  • Store in Root(New): 存储在根中(新)

# Generic

  • Avatar Definition: Avatar定义

  • Create From This Model: 从模型中创建

  • Copy From Other Avatar: 从其他Avatar复制

  • Root node: 根节点

  • Source: 源

  • Optimize Game Object: 优化游戏对象

  • Extra Transfroms to Expose ,激活Optimize Game Object*后启用

# Humanoid

  • Avatar Definition: Avatar定义

  • Create From This Model: 从模型中创建,根据此模型创建 Avatar

  • Copy From Other Avatar: 指向另一个模型上设置的 Avatar。

  • Root node: 根节点

  • Source: 复制另一个具有相同骨架的 Avatar 以导入其动画剪辑。仅当 Avatar Definition 设置为 Copy from Other Avatar 时才可用。

  • Optimize Game Object: 优化游戏对象

  • Extra Transfroms to Expose ,激活Optimize Game Object*后启用

# Avatar Mapping 选项卡

保存场景后,Inspector 内将显示 Avatar Mapping 选项卡,其中显示 Unity 的骨骼映射

# 详解

  • (A) 通过这些按钮在 Mapping 和 Muscles & Settings 选项卡之间进行切换。在选项卡之间切换之前,必须对所做的更改执行 Apply 或 Revert 操作。

  • (B) 通过这些按钮在 Avatar 的部位之间进行切换:Body、Head、Left Hand 和 Right Hand。

  • (C) 这些菜单提供各种 Mapping 和 Pose 工具来帮助您将骨骼结构映射到 Avatar。

  • (D) 通过这些按钮接受所做的更改 (Accept)、放弃更改 (Revert) 以及离开 Avatar 窗口 (Done)。在离开 Avatar 窗口之前,必须对所做的更改执行 Apply 或 Revert 操作。

Avatar Mapping(Avatar 映射)指示哪些骨骼是必需的(实线圆圈)和哪些骨骼是可选的(虚线圆圈)。Unity 可自动插入可选的骨骼移动。

# 保存和重用 Avatar 数据(人体模板 (Human Template) 文件)

可以将骨架中的骨骼映射保存到磁盘上的 Avatar 作为人体模板(Human Template)文件(扩展名为 *.ht)。您可以对任何角色重用此映射。例如,您希望通过源代码控制 Avatar 映射,并提交基于文本的文件;或者希望使用自己的自定义工具来解析文件。

要将 Avatar 数据保存到人体模板文件,请从 Avatar 窗口底部的 Mapping 下拉菜单中选择 Save。

Unity 将显示一个对话框,可在其中选择要保存的文件的名称和位置。

要加载先前创建的人体模板文件,请选择 Mapping > Load,然后选择要加载的文件。

# 使用 Avatar 遮罩

有时,将动画限制为特定的身体部位会很有用。例如,在一个行走动画中,角色可能会挥动他们的手臂,但如果他们拿起火炬,他们应该将火炬举起来投光。您可以使用 Avatar 身体遮罩 (Avatar Body Mask) 来指定应将动画限制在角色的哪些部位。

# Avatar Muscle & Settings 选项卡

Unity 的动画系统允许使用肌肉 (Muscles) 控制不同骨骼的运动范围。

正确配置 Avatar 后,动画系统可“理解”骨骼结构,并允许使用 Avatar Inspector 的 Muscles & Settings 选项卡。使用 Muscles & Settings 选项卡可调整角色的运动范围,并确保角色以逼真的方式变形,而不出现视觉瑕疵或自我重叠。

# Muscle & Settings 选项卡具有以下区域:

  • (A) 通过这些按钮在 Mapping 和 Muscles & Settings 选项卡之间进行切换。在选项卡之间切换之前,必须对所做的更改执行 Apply 或 Revert 操作。

  • (B) 通过 Muscle Group Preview 区域可使用预定义的变形来操作角色。这些设置一次影响多个骨骼。

  • (C) 使用 Per-Muscle Settings 区域可调整身体的各个骨骼。可以展开这些肌肉设置以便更改每项设置的范围限制。例如,默认情况下,Unity 会将 Head-Nod 和 Head-Tilt 设置的范围设置为 -40 到 40 度,可以进一步减小这些范围以增加这些动作的刚度。

  • (D) 使用 Additional Settings 可调整身体的特定特效。

  • (E) Muscles 菜单提供了 Reset 工具,可将所有肌肉设置恢复到默认值。

  • (F) 通过这些按钮接受所做的更改 (Accept)、放弃更改 (Revert) 以及离开 Avatar 窗口 (Done)。在离开 Avatar 窗口之前,必须对所做的更改执行 Apply 或 Revert 操作。

# 预览更改

对于 Muscle Group Preview 和 Per-Muscle Settings 区域中的设置,可直接在 Scene 视图中预览所做的更改。可以拖动滑动条来查看应用于角色的每项设置的移动范围:

可以通过网格查看骨架的骨骼。

# 移动自由度 (Degree of Freedom, DoF)

可以在 Additional Settings 中启用 Translate DoF 选项,从而启用人形角色的移动动画。如果禁用此选项,则 Unity 仅使用旋转对骨骼进行动画化。Translation DoF 可用于 Chest、UpperChest、Neck、LeftUpperLeg、RightUpperLeg、LeftShoulder 和 RightShoulder 的肌肉。

注意:启用 Translate DoF 可能会提高性能要求,因为动画系统需要执行额外的步骤来重新定位人形动画。因此,在已知动画包含角色某些骨骼的动画式移动时,才应启用此选项。

# Avatar Mask 窗口

可通过以下两种方法来定义应该对动画的哪些部分进行遮罩:

  • 从人形身体映射图进行选择

  • 从Transform 层级视图中选择要包含或排除的骨骼

# 人形身体选择

如果动画使用人形 Avatar,可以选择是否简化人形身体图的某些部分,从而指示需要遮罩的动画位置:

身体图将身体部位分为以下部分:

  • Head: 头

  • Left Arm: 左臂

  • Right Arm: 右臂

  • Left Hand: 左手

  • Right Hand: 右手

  • Left Leg: 左腿

  • right Leg: 右腿

  • Root: 根 由脚下的"阴影"表示

要包含某个身体部位的动画,请在 Avatar 图中单击该部位,直到该部位显示为绿色。要排除动画,请单击该身体部位,直到显示为红色。要包含或排除所有部位,请双击 Avatar 周围的空白区域。

此外还可切换手和脚的反向动力学 (Inverse Kinematics, IK),此选项决定了是否在动画混合中包含 IK 曲线。

# 选择变换组件

另一方面,如果动画不使用人形 Avatar,或者需要更精确地控制对各个骨骼的遮罩,则可以选择或取消选择模型层级视图的相应部分:

  • 1.为需要遮罩变换组件的 Avatar 分配引用。

  • 2.单击 Import Skeleton 按钮。Avatar 的层级视图将显示在检视面板中。

  • 3.可以在层级视图中选中需要遮罩的每个骨骼。

当指定动画层在运行时应用遮罩,或者在动画文件的导入设置中将遮罩应用于导入动画时,可在 Animator Controller 中使用遮罩资源。

使用遮罩的好处在于有助于减少内存开销,因为非活动身体部位不需要关联的动画曲线。此外,在播放期间不需要计算未使用的曲线,因此还有助于减少动画的 CPU 开销。

# Human Template 窗口

人体模板 (Human Template) 文件 (*.ht) 以 YAML 格式存储保存在 Avatar 窗口中的模型的人形骨骼映射:

Human Template 窗口将人体模板文件的内容显示为标准 Unity 文本框。

每个分组代表 YAML 文件中的一个条目,其中骨骼映射目标的名称标记为 First,而模型文件中的骨骼名称标记为 Second。

可以使用此属性编辑该文件中的大部分值,但 Unity 会立即更新对文件执行的所有更改。不过,可以在此窗口处于活动状态时撤消任何更改。

#unity
Model
Animation

← Model Animation→

Theme by Vdoing | Copyright © 2021-2023 Evan Dong MIT License | 粤ICP备2021052092号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×