【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 ,觉得里面的下雨效果不错,刚好前段时间学习了,写出来跟大家分享下,直接开始. 使用自带动画系统制作下雨效果. 先制作下雨的雨滴涟漪 步骤 ...
随机推荐
- [转帖]编译安装goofys挂载Scaleway免费75G对象存储
日常•2022年5月29日 goofys编译 goofys是一个开源的使用Go编写的s3存储桶挂载工具,主打高性能.由于使用Go编写,没有用到什么特别的依赖,自己编译也很容易.截止2022.5.2 ...
- [转帖]oswbb工具分析主机性能
https://www.cnblogs.com/lkj371/p/15154268.html 在进行数据库故障分析和数据库例行扩容评估时,需要对数据库主机的CPU.内存.磁盘.网络进行负荷分析,常规处 ...
- [转帖]《Linux性能优化实战》笔记(22)—— 网络丢包问题分析
所谓丢包,是指在网络数据的收发过程中,由于种种原因,数据包还没传输到应用程序中,就被丢弃了.这些被丢弃包的数量,除以总的传输包数,也就是我们常说的丢包率.丢包率是网络性能中最核心的指标之一.丢包通常会 ...
- [转帖]linux性能检测之sar详解
http://blog.51niux.com/?id=99 sar也是sysstat中的一员. 一.介绍 1.1 简介 sar是一个优秀的一般性能监视工具,它可以输出Linux所完成的几乎所有工作的数 ...
- [转帖]C2C - False Sharing Detection in Linux Perf
https://joemario.github.io/blog/2016/09/01/c2c-blog/ Do you run your application in a NUMA environme ...
- grafana与K8S的下载地址
https://grafana.com/grafana/download/9.1.6 https://dl.k8s.io/v1.15.1/kubernetes-node-linux-amd64.tar ...
- 分布式日志追踪ID实战 | 京东物流技术团队
本文通过介绍分布式应用下各个场景的全局日志ID透传思路,以及介绍分布式日志追踪ID简单实现原理和实战效果,从而达到通过提高日志查询排查问题的效率. 背景 开发排查系统问题用得最多的手段就是查看系统日志 ...
- 记录TritonServer部署多模型到多GPU踩坑 | 京东云技术团队
一.问题是怎么发现的 部署chatglm2和llama2到一个4*V100的GPU机器上遇到问题 config.pbtxt 中设置模型分别在指定gpu上部署实例配置不生效 如以下配置为在gpu0上部署 ...
- 结论&定理大全
定理 1:包含 \(0\) 与 \(2^k-1\) 的按位与或空间和 \(k\) 个点的有传递性的有向图形成双射 证明: 空间->传递闭包:对于任意两个位 \(i,j\),若某个数包含 \(i\ ...
- vue中使用refs出现undefined的解决方法
最近遇见一个情况, 在methods:{}中的某个方法, 通过父组件去调用子组件的一个方法:this.$refs.xxx 打印出来的却是undefined? 因为: 是如果在DOM结构中的某个DOM节 ...