Unity3D模型制作规范
发表于2018-05-20
不同的开发引擎,对模型的要求基本是相同的。当一个VR模型制作完成时,它所包含的基本内容包括单位,模型规范、材质贴图规范、贴图文件格式和尺寸、贴图材质应用规则、模型烘焙及导出、模型绑定及动画、模型导出、文件备份、项目命名等必须是符合制作规范的。一个制作规范的模型文件对于程序控制管理是十分必要的。
在建模型前先设置好单位。在同一场景中会用到的模型的单位设置必须一样,模型与模型之间的比例要正确,和程序的导入单位一致,即便到程序须要缩放也能够统一调整缩放比例。
统一单位为米。
二、模型规范
⒈全部角色模型最好站立在原点。没有特定要求下,必须以物体对象中心为轴心。
⒉面数的控制。
移动设备每一个网格模型控制在300-1500个多边形将会达到比较好的效果。 而对于桌面平台,理论范围1500-4000。假设游戏中随意时刻内屏幕上出现了大量的角色,那么就应该减少每一个角色的面数。比方,半条命2对于每一个角色使用2500-5000个三角面。
正常单个物体控制在1000个面下面,整个屏幕应控制在7500个面下面。全部物体不超过20000个三角面。
⒊整理模型文件,细致检查模型文件,尽量做到最大优化。看不到的地方不须要的面要删除,合并断开的顶点。移除孤立的顶点,注意模型的命名规范。模型给绑定之前必须做一次重置变换。
⒋能够复制的物体尽量复制。假设一个1000面的物体,烘焙好之后复制出去100个。那么他所消耗的资源基本和一个物体消耗的资源一样多。
三、材质贴图规范
⒈我们眼下使用的Unity3D软件作为仿真开发平台,该软件对模型的材质有一些特殊的要求,在我们使用的3dsMax中不是全部材质都被Unity3D软件所支持。仅仅有standard(标准材质)和Multi/Sub-Objiect(多维/子物体材质)被Unity3D软件所支持。注:Multi/Sub-Objiect(多维/子物体材质)要注意里面的子材质必须为standard(标准材质)才干被支持。
⒉Unity3D眼下仅仅支持Bitmap贴图类型,其他全部贴图类型均不支持。
仅仅支持DiffuseColor(漫反射)同self-Illumination(自发光,用来导出lightmap)贴图通道。 Self-Illumination(不透明)贴图通道在烘焙lightmap后,须要将此贴图通道channel设置为烘焙后的新channel,同一时候将生成的lightmap指向到self-Illumination。
四、贴图文件格式和尺寸
原始贴图不带通道的jpg,带通道的为32位tga或者 png,尺寸最大别超过2048,贴图文件尺寸须为2的N次方 (8、16、32、64、128、256、512、1024)最大贴图尺寸不能超过1024x1024,特殊情况下尺寸可在这些范围内做调整。
五、贴图材质应用规则
⒈贴图不能为中文命名,不能有重名;
⒉材质球命名与物体名称一致,材质球的父子层级的命名必须一致;
⒊同种贴图必须使用一个材质球。
⒋除须要用双面材质表现的物体之外,其它物体不能使用双面材质;
⒌材质的ID和物体的ID号必须一致;
⒍若使用completemap烘焙。烘焙完成后会自己主动产生一个shell材质,必须将shell材质变为standard标准材质,而且通道要一致。否则不能正确导出贴图。
⒎带Alpha通道的贴图存储为tga或者png格式,在命名是必须加_al以区分。
⒏模型须要通过通道处理时须要制作带有通道的纹理,在制作树的通道纹理是,最好将透明部分改为树的主色,这样在渲染是能够使有效边缘部分的颜色正确。通道纹理在程序渲染时占用的资源币同尺寸的普通纹理要多。通道纹理命名时应以_al结尾。
六、模型烘焙及导出
⒈模型的烘焙方式有两种:一种是LightMap烘焙贴方式,这样的烘焙贴图渲染出来的贴图仅仅带有阴影信息,不包括基本纹理。
详细应用于制作纹理较清晰的模型文件(如地形),原理是将模型的基本纹理贴图和LightMap阴影贴图两者进行叠加。长处是终于模型纹理比较楚。并且能够使用反复纹理贴图,节约纹理资源。烘焙后的模型能够直接导出FBX文件,不用改动贴图通道。缺点是LightingMap贴图不带有高光信息;
⒉还有一种是CompleteMap烘焙方式,这样的烘焙贴图方式的长处是渲染出来的贴图本身就带有基本纹理和光影信息,但缺点是没有细节纹理。且在近处时纹理比较模糊。
⒊烘焙贴图设置。
在进行completemap烘焙方式设置时应注意:贴图通道和物体uv坐标通道必须为1通道,烘焙贴图文件存储为tga格式,背景要改为与贴图近似的颜色;
lightingmap烘焙设置时,和completemap设置有些不同,贴图通道和物体uv坐标通道必须为3通道。烘焙时灯光的阴影方式为adv.raytraced 高级光线跟踪阴影,背景色要改为白色,能够避免黑边的情况。
主要物件的贴图uv必须手动展开。
七、模型绑定及动画
1.骨骼必须为IK、CAT、BIP三类,unity不认虚拟体动画,单个物体骨骼数量不超过60个。
2.动画帧率、帧数的控制,普通情况下为每秒10帧,一个动画尽量控制在1秒内完毕。
3.角色蒙皮、动作调节规范详见---(动画规范流程表)。
4.导出动画,分开2个文件,导出没有动作的模型、骨骼,模型须要带有蒙皮信息。之后调节好做动画后导出的就是仅仅有骨骼的fbx文件。
八、模型导出
1.将烘焙材质改为标准材质球,通道为1,自发光100%;
2.所以物体名、材质球名、贴图名保持一致。
3.合并顶点。清除场景,删除没实用的一切物件。
4.清材质球。删除多余的材质球(不重要的贴图要缩小);
5.按要求导出fbx(检查看是否要打组导出),导出fbx后,再又一次导入max中查看一遍fbx的动画是否正确;
6.依据验收表格对比文件是否正确。
九、文件备份提交标准
⒈ 终于确认后的max文件分 角色模型、场景模型、道具模型带贴图存放到server相应的" 项目名/model/char“ ”项目名/model/scene“ ”项目名/model/prop"目录里面。
动画文件相应的存放至anim 目录中。
⒉ 导出给程序obj、fbx等格式文件统一存放至export目录下的子目录anim、model、prop
十、项目命名要求
⒈项目进入策划时,各部门统一为项目命好名称,server建立项目名称目录,制作人员本机制作时建立相应名称的项目目录。
⒉角色模型命名:项目名_角色名字。max文件里模型对象假设须要分开各部位时,应在此命名的基础上_部位,如角色头部命名为:项目名_角色名_head 。以此类推。相应的材质球、贴图都将命名一致。
⒊场景、道具命名:项目名_场景名称,max文件里相应的物体为项目名_场景名物体名,同类的比较多的情况下,命名为:项目名_场景名_物体名_01-----02……同类型的物体以数字类推方式命名。
材质球、贴图相应物体名字。同类物体仅仅须要给同一个材质球,同一贴图就可以。
⒋带通道的贴图:要加_al后缀
⒌特效贴图以特效名称命名,贴图增加_vfx后缀。