当前位置:网站首页>简述unity的模型动画功能
简述unity的模型动画功能
2022-06-26 21:54:00 【Peter_Gao_】
理解和简单使用unity的模型动画功能,以及插件。以FBX与Generic类型的骨骼蒙皮动画为主要叙述。
官方链接: 模型 - Unity 手册
3D资源文件-模型与动画
基本概念
首先,我们得知道,3d游戏中,我们说到一个模型动画的时候,包含两个部分,一个是模型,一个是动画,都来自于.fbx格式文件,或其他支持的格式文件:模型文件格式 - Unity 手册。本篇是以.fbx格式文件为叙述。
模型基本组成是网格:网格 - Unity 手册。网格是指的由顶点组成三角片,再由三角片组成整个可见外观的数据集合。而一个模型可以包含多个这样的集合。比如人,如果需要,我们可以把身体、四肢、头都拆成单独的网格,并形成一个统一的.fbx文件。当然,如无必要,尽量不要拆分这么多网格。
引用参考,可以了解相关的更多概念,入门可以直接跳过,全部可能劝退:
维基百科:https://en.wikipedia.org/wiki/FBX
官网FBX的SDK,有介绍明码数据结构:Help
自定义FBX二级制读取器:FBX binary file format specification — Blender Developers Blog
有个不错的解析流程:深入理解加载FBX模型文件_海洋个人博客-CSDN博客_fbx文件
有个不错的原理介绍:骨骼动画程序原理介绍_阿赵的博客-CSDN博客_骨骼动画
https://en.wikipedia.org/wiki/FBX
FBX binary file format specification — Blender Developers Blog
骨骼动画程序原理介绍_阿赵3D的博客-CSDN博客_骨骼动画原理
深入理解加载FBX模型文件_海洋_的博客-CSDN博客_fbx文件解析
资源常见的划分与命名方式
通常,我们会将模型数据文件单独导成一个.fbx,而将其他的动画文件也导成独立的.fbx。分别按照model_name.fbx和[email protected]_name.fbx的形式进行命名,则动画.fbx文件会自动生成一个内置的 animation_name.anim 动画剪辑组件,可供后续的 Animator组件使用。这些概念后面还会提到。
模型与动画类型

Unity模型类型
基础概念与使用场景
从Unity的角度来讲,模型动画类型有三种分别是 Legacy、Generic、Humanoid。Legacy基本是在被舍弃了,用的多的是Generic和Humanoid。而从程序的角度来讲模型动画是:顶点动画、蒙皮骨骼动画等等分类。
Unity Generic与Humanoid的若干基础点除盲:
Humanoid类型使用范围与Generic类型使用范围是等价的,但是内部实现方式不一样,即是说使用Generic能达成的效果,Humanoid基本都能达成。但是Unity对Humanoid做了更多上层应用的封装.
Generic满足于一般的动画需求,而Humanoid类型结合Unity的Avartar可以使用Unity内置的IK、AvartarMask、重定向等等功能(提出这个是因为不少同事都是基于商业引擎开始学习的,误将Avartar这类定义在概念层面与3D模型动画绑定在了一起,这里除下盲)。
Humanoid的性能消耗>Generic。一般的模型动画播放,使用Generic也可以满足要求,即使是人形态的模型动画。
常见的几种程序和美术意义上的动画类型:
骨骼蒙皮动画(SkinnedMesh):类比于:如同人体运动骨骼带动皮肤。概述一下就是,由世界矩阵驱动根骨骼,根骨骼矩阵驱动子骨骼,逐层递进驱动全身骨骼,再通过蒙皮信息决定每个骨骼对物体模型网格上每个顶点的权重影响,最终决定物体上每个顶点的实际运算位置。这一篇blog写的比较清楚,想继续了解,可以找专门的3D知识学习: 骨骼动画程序原理介绍_阿赵3D的博客-CSDN博客_骨骼动画原理
混合形状动画(BlendShape):这个和骨骼动画不同,它是由相同网格顶多,预定义出不同的网格形状,进行插值运算,而不是通过骨骼层层递进去运算,参考:Unity项目捏脸解决方案BlendShape_天富儿的博客-CSDN博客_unity 捏脸
顶点动画:在Unity中很少直接接触到顶点动画,顶点动画与混合动画类似,不过它是记录每一帧的所有顶点数据,逐帧播放。这种对于大顶点数的模型,会占据相当大的内存,不过没啥运算压力。而在一些动画解决方案中,会有bake烘焙动画的功能,其实就是把骨骼动画的每帧计算结果转化成顶点动画,记录下来.由于用得少,这里只提一下.
https://blog.csdn.net/zhousanxi123/article/details/122959094
边栏推荐
- Shiniman household sprint A shares: annual revenue of nearly 1.2 billion red star Macalline and incredibly home are shareholders
- 2022年,中轻度游戏出海路在何方?
- 如何在 SAP BTP 平台上启用 HANA Cloud 服务
- Common concurrent testing tools and pressure testing methods
- DLA model (classification model + improved segmentation model) + deformable convolution
- QT环境下配置Assimp库(MinGW编译器)
- random_ normal_ Initializer uses
- How to create an OData service with the graphical modeler on the sap BTP platform
- leetcode:1567. Length of the longest subarray whose product is a positive number [dp[i] indicates the maximum length ending with I]
- 花店橱窗布置【动态规划】
猜你喜欢

Some ways out for older programmers
![[leetcode]- linked list-2](/img/f7/9d4b01285fd6f7fa9f3431985111b0.png)
[leetcode]- linked list-2

协同过滤进化版本NeuralCF及tensorflow2实现

Web crawler 2: crawl the user ID and home page address of Netease cloud music reviews

Shiniman household sprint A shares: annual revenue of nearly 1.2 billion red star Macalline and incredibly home are shareholders

经典Wide & Deep模型介绍及tensorflow 2代码实现

QT based "synthetic watermelon" game

Data governance does everything

Sword finger offer 12 Path in matrix

CVPR 2022 | 美团技术团队精选论文解读
随机推荐
如何用 SAP BTP 平台上的图形建模器创建一个 OData 服务
Chapter 2 construction of self defined corpus
MATLAB and MySQL database connection and data exchange (based on ODBC)
AI智能抠图工具--头发丝都可见
证券注册开户有没有什么风险?安全吗?
股票炒股注册开户有没有什么风险?安全吗?
2022年,中轻度游戏出海路在何方?
十大券商注册开户有没有什么风险?安全吗?
Different subsequence problems I
MATLAB与Mysql数据库连接并数据交换(基于ODBC)
亿级月活全民K歌Feed业务在腾讯云MongoDB中的应用及优化实践
Test comparison of linear model LN, single neural network SNN, deep neural network DNN and CNN
Convolutional neural network (CNN) explanation and tensorflow2 code implementation
Which platform is the safest for buying stocks and opening accounts? Ask for sharing
curl: (35) LibreSSL SSL_ connect: SSL_ ERROR_ SYSCALL in connection
ICML2022 | Neurotoxin:联邦学习的持久后门
Brief analysis of the self inspection contents of the blue team in the attack and defense drill
Homebrew installation in MacOS environment [email protected]
【数学建模】基于matlab GUI随机节点的生成树【含Matlab源码 1919期】
Matrix derivation and its chain rule