1 前言

2D动画 中初步了解了 Animation 和 Animator,本文将进一步学习 3D 动画,并介绍 人体模型相关内容。

​ 模型制作软件主要有:3DMax、Maya,模型存储格式主要有:.max、.fbx.obj,动画存储格式:.fbx,Unity3D 只支持 fbx 格式。

​ Unity3D 提供了一套简易的人体模型及人体动画,用户可以通过在 Assets 窗口右键,依次选择【Import Package→Environment】导入资源库,在 Assets\Standard Assets\Characters\ThirdPersonCharacter 目录下可以查看官方的人体模型和人体动画资源文件(文件后缀都是 .fbx)。

​ Unity3D 官方人体模型只有 Ethan,如下:

Unity3D 官方人体模型

​ Unity3D 官方人体动画包含站立、原地转、走、走转、跑、跑转、蹲、蹲原地转、蹲走、蹲走转、跳等,如下:

Unity3D 官方人体动画

2 人体模型

1)Unity3D 官方人体模型

​ Unity3D 官方提供了一个人体模型(Assets\Standard Assets\Characters\ThirdPersonCharacter\Models\Ethan.fbx),在 Assets 窗口选中该人体模型, 可以在 Inspector 窗口预览模型(如果未出现预览窗口,说明预览窗口被折叠了,点击 Inspector 窗口最下方的折叠条即可显示),如下:

​ 在人体模型预览窗口鼠标左键(或右键)拖拽,可以旋转模型。

2)人体模型层级结构

​ 将 Unity3D 官方人体模型(Ethan.fbx)拖拽到 Hierarchy 窗口中,展开子对象如下:

​ 对于非官方的人体模型,也基本是上述层级结构,主要由网格对象和一堆空对象组成,网格对象用于渲染人体,空对象用于绑定骨骼,控制人体运动。

3)人体骨骼

​ 在 Assets 窗口选中 Unity3D 官方人体模型(Ethan.fbx),再去 Inspector 窗口选择 Rig,如下:

​ 将 Animation Type 设置为 Humanoid,如下:

​ Animation Type 参数含义如下:

  • None:没有动画
  • Legacy:旧版动画
  • Generic:新版通用型动画(非人体)
  • Humanoid:新版人体动画

​ 再点击 Configuration按钮(如果 Configuration 按钮已置灰不能点击,先点击下方的 Apply 按钮,Configuration 按钮就会点亮),切换到骨骼配置界面,如下:

​ 点击 “Muscles & Settings” 按钮,通过滑动以下进度条,在 Scene 窗口可以查看人体姿态,以检验骨骼绑定情况。

​ 滑动 Open Close 进度条,人体模型姿态如下:

​ 滑动 Left Right 进度条,人体模型姿态如下:

3 人体动画

1)Unity3D 官方人体动画

​ Unity3D 官方提供了一些标准的人体动画(Assets\Standard Assets\Characters\ThirdPersonCharacter\Animation,都是以 .fbx 格式存储),包含站立、原地转、走、走转、跑、跑转、蹲、蹲原地转、蹲走、蹲走转、跳等人体动画,如下:

​ 其中带播放图标()的文件就是动画文件,可以将其拖拽到 Animator 窗口中使用。

2)预览动画

​ 选中 Assets 窗口 fbx 文件中带播放图标()的动画文件,在 Inspector 窗口可以预览动画,点击播放按钮即可预览动画(如果未出现预览窗口,说明动画预览窗口被折叠了,点击 Inspector 窗口最下方的折叠条即可显示)。

​ 如下,选中 HumanoidCrouch 下面的 HumanoidCrouchWalk 动画,预览效果如下:

​ 在人体动画预览窗口鼠标左键拖拽,可以控制人物模型在窗口中的位置;鼠标右键拖拽,可以控制相机姿态(旋转);鼠标中键滑动,可以控制相机远近位置(缩放)。

​ Unity3D 使用默认的人物模型播放动画,如果用户期望使用特定的人物模型播放动画,可以将该模型拖拽到动画预览窗口中。如:选中 HumanoidRun 中的 HumanoidRun 动画,将 Ethan 人物模型拖拽到预览窗口,播放动画如下:

​ 如果用户想恢复使用默认的人物模型预览动画,可以点击预览页面的骨骼图标,选择 “Unity Model” 即可。

3)配置动画

​ 选中 Assets 窗口 fbx 文件中带播放图标()的动画文件,在 Inspector 窗口点击 Edit 按钮,如下:

​ 进入人体动画配置页面,如下:

​ 编辑完后,点击下方的 Apply 按钮,即可保存。如果新添加了动画裁剪片段,在 Assets 窗口可以看到多了一个动画文件,如下:

​ 声明:本文转自【Unity3D】人体模型及动画

【Unity3D】人体模型及动画的更多相关文章

  1. Unity3D 中 Generic 动画导入设置和 Root Motion 之间的关系

    2条评论 Unity3D 的 Mecanim 动画系统可以直接复用 3DS MAX 中制作的动画文件中的位移,这个就是通过 applyRootMotion 来达成的,我们只需要在使用 Animator ...

  2. Unity3D之Legacy动画系统学习笔记

    Unity3D的Mecanim动画系统是非常强大的,而且作为Unity推荐的动画系统,其未来会完全代替老的一套动画系统,即Legacy动画系统.目前的情况是Mecanim与Legacy两套动画系统同时 ...

  3. (转)在Unity3D中控制动画播放

    用Unity3D也算是好久了,但是每次做项目总还是能学到新的东西.这次做一个TPS的项目就遇到了这样一个问题,如何同时在上下半身播放不同的动画?解决方法其实是很简单,但由于对于动画资源的了解不足导致问 ...

  4. Unity3D之Mecanim动画系统学习笔记(十一):高级功能应用

    动作游戏 还记得读书的时候熬夜打<波斯王子>的时光,我们的王子通过跳跃穿过墙壁的小洞.在高层建筑上进行攀爬和跳跃,还有在操作失误掉下高楼和触发必死机关后使用时之沙的时光倒流功能回归死亡之前 ...

  5. Unity3D之Mecanim动画系统学习笔记(十):Mecanim动画的资源加载相关

    资源加载是必备的知识点,这里就说说Mecanim动画的资源如何打包及加载. 注意,Unity4.x和Unity5.x的AssetBundle打包策略不一样,本笔记是基于Unity4.x的AssetBu ...

  6. Unity3D之Mecanim动画系统学习笔记(七):IK(反向动力学)动画

    什么是IK? IK(Inverse Kinematics)即反向动力学,即可以使用场景中的各种物体来控制和影响角色身体部位的运动,一般来说骨骼动画都是传统的从父节点到子节点的带动方式(即正向动力学), ...

  7. Unity3D之Mecanim动画系统学习笔记(二):模型导入

    我们要在Unity3D中使用上模型和动画,需要经过下面几个阶段的制作,下面以一个人形的模型开发为准来介绍. 模型制作 模型建模(Modelling) 我们的美术在建模时一般会制作一个称为T-Pose( ...

  8. Unity3D之Mecanim动画系统学习笔记(一):认识Mecanim动画系统

    Mecanim简介 Mecanim动画系统是Unity3D4.0开始引入的一套全新的动画系统,主要提供了下面4个方面的功能: 针对人形角色提供一套特殊的工作流. 动画重定向的能力,可以非常方便的把动画 ...

  9. [原]Unity3D深入浅出 - 新版动画系统(Mecanim)

    Mecanim概述: Mecanim是Unity提供第一个丰富而复杂的动画系统,提供了: 针对人形角色的简易的工作流和动画创建能力 Retargeting(运动重定向)功能,即把动画从一个角色模型应用 ...

  10. 使用Unity3D自带动画系统制作下雨效果

    之前看了以前版本的unity3d demo AngryBots ,觉得里面的下雨效果不错,刚好前段时间学习了,写出来跟大家分享下,直接开始. 使用自带动画系统制作下雨效果. 先制作下雨的雨滴涟漪 步骤 ...

随机推荐

  1. 26-IP调用 - PLL

    1.PLL IP核简介 PLL(Phaze Locked Loop)锁相环是最常用的IP核之一,其性能强大,可以对输入到FPGA的时钟信号进行任意的分频.倍频.相位调整.占空比调整,从而输出一个期望时 ...

  2. java - 对象装载数据传递到方法中

    1. 创建 Phone 类 package class_object; public class Phone { String brand; String color; double price; v ...

  3. C# 线程本地存储 为什么线程间值不一样

    一:背景 1. 讲故事 有朋友在微信里面问我,为什么用 ThreadStatic 标记的字段,只有第一个线程拿到了初始值,其他线程都是默认值,让我能不能帮他解答一下,尼玛,我也不是神仙什么都懂,既然问 ...

  4. Docker下的资源限制问题

    Docker下的资源限制问题 问题背景 公司某产品出现了一个奇怪的OOM 错误提示. 问题现象是 前台产品 提示 OOM cannot create native thread 但是同时查看 机器的资 ...

  5. [转帖]Linux的tmpfs和ramfs

    tmpfs tmpfs是一种虚拟内存文件系统, 它的存储空间在VM里面,现在大多数操作系统都采用了虚拟内存管理机制, VM(Virtual Memory) 是由Linux内核里面的VM子系统管理. V ...

  6. [转帖]MySQL数据类型(decimal的存储大小)

    本来还以为MySQL的数据类型挺简单的,没想到竟然有很多坑,容我仔细道来 MySQL数据类型 整数类型(注意是字节) 浮点型(重点关注decimal) 字符型(注意这是4.x版本的定义,5.x以后已经 ...

  7. Linux 处理CPU和内存参数的方式总结

    Linux 处理CPU和内存参数的方式总结 关闭NUMA,关闭透明大页 比较简单的方法: vim /etc/default/grub 在 GRUB_CMDLINE_LINUX 里面添加配置: tran ...

  8. [转帖]dd命令中dsync和fsync区别

    在Linux系统中经常会使用dd命令来测试硬盘的写入速度,命令会涉及几个常用参数:sync.dsync.fsync与fdatasync # dd if=/dev/zero of=/tmp/1G bs= ...

  9. Intel 第四代志强可扩展SKU

  10. expect 的简单学习与使用

    背景 最近工作中总有很多重复的事项. 比较繁琐,想着能够简单一点是一点的角度 准备采用expect来建华部分工作量. 其实还可以使用其他方式来处理. 但是感觉expect还是能够简单明了的. 所以暂时 ...