【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 ,觉得里面的下雨效果不错,刚好前段时间学习了,写出来跟大家分享下,直接开始. 使用自带动画系统制作下雨效果. 先制作下雨的雨滴涟漪 步骤 ...
随机推荐
- Makeflie脚本使用
1.目标 2.Makefile的作用 自动化编译仿真 文件有引用层级关系,Tb会引用RTL顶层,RTL顶层也会引用一些其他的小的模块,编译的时候被引用的文件需要先进行编译. 脚本有两种模式,debug ...
- file-loader返回object Module 路径的问题
新版本的 file-loader生成使用ES模块语法的JS模块,所以它加载的文件,不再返回路径,而是返回一个对象,通过对象.default属性,可以取得路径 所以第一种方法,可以修改路径 <i ...
- 【水一篇】骚操作之net 6的winform启动的同时启动Net 6 WebApi【同一套代码】
引言 有段时间没有写博客了,不知道写什么,加上最近一直在玩单片机方面的东西,所以有一些懈怠.首先呢,为什么会有这么一个问题,是在一个QQ群里,有看到有人提问,能不能在启动Winform的同时去启动一个 ...
- [转帖]Spring为啥不推荐使用@Autowired注解?
https://my.oschina.net/u/5079097/blog/5289666 引言 使用IDEA开发时,同组小伙伴都喜欢用@Autowired注入,代码一片warning,看着很不舒 ...
- [转帖]初识SkyWalking
https://zhuanlan.zhihu.com/p/361579294 一.SkyWalking 是什么? 一个开源的可观测平台,用于从服务和云原生基础设施收集,分析, 聚合及可视化数据. Sk ...
- [转帖]Linux kernel内存管理之overcommit相关参数
前言 了解 linux kernel内存管理,首先可以从用户空间的角度来看kernel的内存管理,执行ls /proc/sys/vm的命令,就可以看到vm运行的所有参数,其中就包含了跟overcomm ...
- Docker 安装Oracle12c的镜像修改字符集 并且进行启动的简单过程
学习来自 昨天晚上转帖的文章 这里面添加一些自己的内容 首先获取配置文件 git clone https://github.com/oracle/docker-images.git 获取之后比较容易了 ...
- CentOS测试yum update.
我有一台centos7 1611 的机器 想着升级一下 简单进行测试 1. 操作系统的信息为: [root@CentOS1611 yum.repos.d]# uname -a Linux CentOS ...
- 正则表达式match方法和search方法
正则表达式, //match() 方法可在字符串内检索指定的值 找到返回相关数据,找不到返回null var part = /Box/ig; var str = "this is box,i ...
- vue中使用refs出现undefined的解决方法
最近遇见一个情况, 在methods:{}中的某个方法, 通过父组件去调用子组件的一个方法:this.$refs.xxx 打印出来的却是undefined? 因为: 是如果在DOM结构中的某个DOM节 ...