【Unity3D】人体模型及动画
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】人体模型及动画的更多相关文章
- Unity3D 中 Generic 动画导入设置和 Root Motion 之间的关系
2条评论 Unity3D 的 Mecanim 动画系统可以直接复用 3DS MAX 中制作的动画文件中的位移,这个就是通过 applyRootMotion 来达成的,我们只需要在使用 Animator ...
- Unity3D之Legacy动画系统学习笔记
Unity3D的Mecanim动画系统是非常强大的,而且作为Unity推荐的动画系统,其未来会完全代替老的一套动画系统,即Legacy动画系统.目前的情况是Mecanim与Legacy两套动画系统同时 ...
- (转)在Unity3D中控制动画播放
用Unity3D也算是好久了,但是每次做项目总还是能学到新的东西.这次做一个TPS的项目就遇到了这样一个问题,如何同时在上下半身播放不同的动画?解决方法其实是很简单,但由于对于动画资源的了解不足导致问 ...
- Unity3D之Mecanim动画系统学习笔记(十一):高级功能应用
动作游戏 还记得读书的时候熬夜打<波斯王子>的时光,我们的王子通过跳跃穿过墙壁的小洞.在高层建筑上进行攀爬和跳跃,还有在操作失误掉下高楼和触发必死机关后使用时之沙的时光倒流功能回归死亡之前 ...
- Unity3D之Mecanim动画系统学习笔记(十):Mecanim动画的资源加载相关
资源加载是必备的知识点,这里就说说Mecanim动画的资源如何打包及加载. 注意,Unity4.x和Unity5.x的AssetBundle打包策略不一样,本笔记是基于Unity4.x的AssetBu ...
- Unity3D之Mecanim动画系统学习笔记(七):IK(反向动力学)动画
什么是IK? IK(Inverse Kinematics)即反向动力学,即可以使用场景中的各种物体来控制和影响角色身体部位的运动,一般来说骨骼动画都是传统的从父节点到子节点的带动方式(即正向动力学), ...
- Unity3D之Mecanim动画系统学习笔记(二):模型导入
我们要在Unity3D中使用上模型和动画,需要经过下面几个阶段的制作,下面以一个人形的模型开发为准来介绍. 模型制作 模型建模(Modelling) 我们的美术在建模时一般会制作一个称为T-Pose( ...
- Unity3D之Mecanim动画系统学习笔记(一):认识Mecanim动画系统
Mecanim简介 Mecanim动画系统是Unity3D4.0开始引入的一套全新的动画系统,主要提供了下面4个方面的功能: 针对人形角色提供一套特殊的工作流. 动画重定向的能力,可以非常方便的把动画 ...
- [原]Unity3D深入浅出 - 新版动画系统(Mecanim)
Mecanim概述: Mecanim是Unity提供第一个丰富而复杂的动画系统,提供了: 针对人形角色的简易的工作流和动画创建能力 Retargeting(运动重定向)功能,即把动画从一个角色模型应用 ...
- 使用Unity3D自带动画系统制作下雨效果
之前看了以前版本的unity3d demo AngryBots ,觉得里面的下雨效果不错,刚好前段时间学习了,写出来跟大家分享下,直接开始. 使用自带动画系统制作下雨效果. 先制作下雨的雨滴涟漪 步骤 ...
随机推荐
- 码农的转型之路-IoTBrowser(物联网浏览器)雏形上线
消失了半个月闭门造轮子去了,最近干了几件大事: 1.工控盒子,win10系统长时间跑物联网服务测试.运行快2周了,稳定性效果还满意,除了windows自动更新重启了一次. 2 .接触了一些新概念MQT ...
- VIte+Vue3 打包在本地 双击 index.html 打开项目
npm i @vitejs/plugin-legacy --save import legacy from '@vitejs/plugin-legacy'; export default define ...
- [转帖]利用Python调用outlook自动发送邮件
↓↓↓欢迎关注我的公众号,在这里有数据相关技术经验的优质原创文章↓↓↓ 使用Python发送邮件有两种方式,一种是使用smtp调用邮箱的smtp服务器,另一种是直接调用程序直接发送邮件.而在outlo ...
- [转帖]Ubuntu Server安装图形界面
最早接触到的Linux系统是Ubuntu 10.04,当时在自己的一台Win7笔记本电脑上安装的Win/Ubuntu双系统,Ubuntu简洁的操作界面给我留下了深刻的印象. 后来开始做一些服务器开发, ...
- Linux查看登录用户记录信息
Linux查看登录用户记录信息 登录成功的信息 last 可以简单统计一下: last |awk '{print $3}' |sort |uniq -c |sort -k1nr 登录失败的 就是 la ...
- Docker machine学习
1. docker-machine 安装. From docker 官网 curl -L https://github.com/docker/machine/releases/download/v0. ...
- add_argument()方法基本参数使用
selenium做web自动化时我们想要通过get打开一个页面之前就设置好一些基本参数,需要 通过add_argument()方法来设置,下面以一个简单的不展示窗口为例. option = webdr ...
- 我对vue3的理解
我对 reactive源码的理解 reactive 只能够代理对象 首先它判断传递过来的值是否是对象,如果是才会进行代理.变成响应式的. Proxy 并没有重写对象的属性,只做代理,在取值的时候回调用 ...
- 【JS 逆向百例】百度翻译接口参数逆向
逆向目标 目标:百度翻译接口参数 主页:https://fanyi.youdao.com/ 接口:https://fanyi.baidu.com/v2transapi 逆向参数: Form Data: ...
- 从Spring源码看Spring如何解决循环引用的问题
Spring如何解决循环引用的问题 关于循环引用,首先说一个结论: Spring能够解决的情况为:两个对象都是单实例.且通过set方法进行注入. 两个对象都是单实例,通过构造方法进行注入,Spring ...