Unity 支持的模型格式及详细介绍
Posted Gyp郭小帅
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity 支持的模型格式及详细介绍相关的知识,希望对你有一定的参考价值。
1.fbx
2.glb
3.gtlf
4.obj
简述: .obj文件是Alias|Wavefront公司为它的一套基于工作站的3D建模和动画软件"Advanced Visualizer"开发的一种标准3D模型文件格式,很适合用于3D软件模型之间的互导,也可以通过Maya读写。 .obj文件是一种文本文件,可以直接用写字板打开进行查看和编辑修改。
文件特点:obj3.0文件格式支持直线、多边形、表面和自由形态曲线。直线和多边形通过它们的点来描述,曲线和表面根据它们的控制点和依附于曲线类型的额外信息来定义,这些信息支持规则和不规则的曲线,包括那些基于贝赛尔曲线,B样条,基数和泰勒方程的曲线。其他特点:1.不包含动画、材质信息、贴图路径、动力学、粒子等信息。2.主要支持多边形模型。虽然也支持曲线、表面、点组材质,但Maya导出的obj文件并不包括这些信息。3.支持三个点以上的面,这一点很有用。很多其他的模型文件格式只支持三个点的面,所以导入Maya的模型经常被三角化了,这对于我们对模型的进行再加工甚为不利。4.支持法线和贴图坐标。在其他软件中调整好贴图后,贴图坐标信息可以存入obj文件中,这样文件导入Maya后只需指定一下贴图文件路径就行了,不需要再调整贴图坐标。
基本结构:
v 368.114563 -14.971357 -240.879517
vt 0.614590 0.133400 0.000000
f 160597/75915 160598/75916 160595/75913 160594/75912
1.顶点数据(Vertex data)
v 几何体顶点(Geometric vertices)
vt 贴图坐标点(Texture vertices)
vn 顶点法线(Vertex normals)
vp 参数空格顶点 (Parameter space vertices)
2.自由形态曲线(Free-form curve)/表面属性(surface attributes):
deg 度(Degree)
bmat 基础矩阵(Basis matrix)
step 步尺寸(Step size)
cstype 曲线或表面类型 (Curve or surface type)
3.元素(Elements):
p 点(Point)
l 线(Line)
f 面(Face)
curv 曲线(Curve)
curv2 2D曲线(2D curve)
surf 表面(Surface)
4.自由形态曲线(Free-form curve)/表面主体陈述(surface body statements):
parm 参数值(Parameter values )
trim 外部修剪循环(Outer trimming loop)
hole 内部整修循环(Inner trimming loop)
scrv 特殊曲线(Special curve)
sp 特殊的点(Special point)
end 结束陈述(End statement)
5.自由形态表面之间的连接(Connectivity between free-form surfaces):
con 连接 (Connect)
6.成组(Grouping):
g 组名称(Group name)
s 光滑组(Smoothing group)
mg 合并组(Merging group)
o 对象名称(Object name)
7.显示(Display)/渲染属性(render attributes):
bevel 导角插值(Bevel interpolation)
c_interp 颜色插值(Color interpolation)
d_interp 溶解插值(Dissolve interpolation)
lod 细节层次(Level of detail)
usemtl 材质名称(Material name)
mtllib 材质库(Material library)
shadow_obj 投射阴影(Shadow casting)
trace_obj 光线跟踪(Ray tracing)
ctech 曲线近似技术(Curve approximation technique)
stech 表面近似技术 (Surface approximation technique)
使用范围:3D打印机、3dmax、maya、LightWave等主流软件
Unity模型
1、Unity中使用的模型
Unity支持很多模型格式,比如:.fbx,.dae,.3ds,.dxf,.obj等等
大部分模型都不是在Unity中制作的,都是美术人员在建模软件中制作,如 3DMax、Maya等等
当他们制作完模型后,虽然Unity支持很多模型格式,但是官方建议是将模型在建模软件中导出为FBX格式后再使用
使用FBX模型格式的优势
- 减少不必要数据,提升导入效率
- 不需要再每台计算机上安装建模软件的授权副本
- 对Unity版本无要求,使用原始3D模型格式可能会因为版本不同导致错误或意外
如果美术同学不知道如何导出FBX格式的模型和导出规范,可以参考Unity官网文档或者百度谷歌
美术同学在导出模型时需要注意
- https://docs.unity.cn/cn/2019.4/Manual/CreatingDCCAssets.html
- 坐标轴,人物面朝向为Z轴正方向,Y轴正方向为头顶方向,X轴正方向为人物右侧
2、导入模型的基本流程
- 美术同学用3D建模软件制作好模型导出FBX格式模型资源
- 程序将这些模型资源导入到Unity的资源文件夹中
- 在Unity内部对这些模型进行基础设置——模型、骨骼、动作、材质
3、如何在Unity中设置模型相关内容
在Project窗口选中导入的模型,在Inspector窗口进行相关设置,4个页签分别是
- Model 模型页签
- Rig 操纵(骨骼)页签
- Animation 动画页签
- Materials 材质纹理页签
通过这4个页签对模型动作相关信息设置完成后,之后我们才能在场景中更好的使用这些模型资源
4、Model模型页签
该页签主要是用于设置比如:模型比例设置、是否使导入模型中的摄像机和光源、网格压缩方式等等相关信息。修改模型中存储的各种元素和属性,最终会影响在Unity中使用模型时的一些表现。
5、Rig操纵(骨骼)页签
该页签主要是用于设置如何将骨骼映射到导入模型中的网格,以便能够将其动画化。对于人形角色模型,需要分配或创建Avatar(替身信息)。对于非人形角色模型,需要在骨骼中确定根骨骼。
简单来说Rig页签主要是设置骨骼和替身系统相关信息的,设置了他们,动画才能正常的播放。
- Avatar化身系统
3D动画的本质也是骨骼动画,为制作好的模型绑定骨骼制作动画是模型动画的制作流程。
形象的理解,对于人来说,人的整体结构都是一致的,另一个人能做的动作理论上来说我们是完全可以模仿出来的,而化身系统的本质,就是动作的模仿(复用),我们可以把一个标准人形动作通过化身系统复用到其它人形模型上,只要保证他们的关节点对应关系是一致的
6、材质纹理页签
以上是关于Unity 支持的模型格式及详细介绍的主要内容,如果未能解决你的问题,请参考以下文章