























在上一篇Unity角色模型优化要点中,我主要是翻译了官方的原文,并加了少量自己的注释。随后,经过这几天对角色换肤的测试,总结出一些建模和导入的要点,供大家参考。
所谓角色换肤也就是游戏中常见的角色自定制功能:玩家开始游戏前,一般需要创建一个游戏角色,选择性别、容貌、发型等等。进入游戏后,就可以操作自己创建的角色做出行走、跳跃、攻击等动作。很多游戏还允许玩家在中途变换发型甚至改变体态(例如升级后肌肉变得发达)等等。下图就是WOW中角色选择的画面示例。
从游戏开发者的角度来看,由于可定制元素排列组合的结果非常多,不可能事先将所有结果都一个一个建出来并施加动作。所以必须采取分部位建模,然后通过编程控制,在游戏中将用户选择的各部位重新组合成完整角色。这个制作流程大致包括下列几步:
| 步骤 | 执行人员(建议) |
| 1.规划换肤区域 | 策划 |
| 2.制作标准模型 | 美工 |
| 3.制作动作 | 动作 |
| 4.制作可替换部位的模型 | 美工 |
| 5.导出标准模型和动作 | 程序 |
| 6.导出可替换部位的模型 | 程序 |
| 7.在Unity中导入上述模型 | 程序 |
| 8.编写控制代码 | 程序 |
这主要是一项策划工作。负责策划的朋友应该事先规划好角色的哪些身体部位可以替换,并作出原图,方便美工和动作进行设计。需要注意一点就是,对于可能经常离开人体的对象,例如盔甲、武器等,不应包括在内。
标准模型就是包含了角色网格、骨骼和动作的模型。策划设计的角色可能有多种组合方案,但美工可以随便选取其中一种来做标准模型。标准模型的用途有两个,首先是美工可以基于它制作余下的各种可选部位的模型;其次在游戏中程序也是通过替换标准模型中的某一部分来完成换装的。在3DS Max中制作标准模型要点是:
动作师应该基于标准模型的骨骼来制作角色的全套动作。把所有动作做在一个文件里或者分开做在多个文件里都可以。Unity导入的时候处理下就行了,详见7节。
特别说明一下,有些文章说制作动作时不能使用IK。其实是可以的,对此官方也有说明。只要导出前处理下就行。详见5节。
美工应该基于标准模型的骨骼来制作角色的各个可替换部位,并将该部位的蒙皮做好。每个部位只能包含一张网格和一个材质。看美工的喜好,既可以把所有部位都做在一个文件里,也可以分开做。反正导出的时候人工控制好一个一个分开就行了。至于接缝什么的美工应该懂得怎么处理好。
Unity接收FBX格式的文件。如果程序懂一点max的话,我建议导出工作都让程序来做,省得导不合适的话反复传文件,当然美工来导也是可以的。
标准模型需要导出的是蒙皮和骨骼,如果包含动画的话也可以导出动画。我在3DS Max8中的导出FBX设置如下图
注意:如果骨骼动作使用了IK,导出前需要做一下处理,否则导入Unity后动不了。选择所有骨骼和IK,然后在“运动”面板中选“轨迹”,在下面点“塌陷”按钮,就可以创建基于关键帧的动作。然后再把所有IK节点删除,检查下动作正常,就可以继续导出了。
如果动作时单独做在其他文件里的,那么打开该文件,仅导出动画和骨骼,按如下设置导出。
注意导出的FBX文件名必须参考标准模型按规则来取。假设标准模型导出FBX文件取名叫AAA.fbx ,那么动作导出的FBX取名就必须以AAA@开头,例如AAA@jump.fbx, AAA@kick.fbx等等。
可替换部位的模型主要导出网格蒙皮和材质。导的时候注意一个fbx应该只包含一个部位。导出设置如下图
标准模型、动作和各部位的FBX都导好后,就可以将它们放置到Unity游戏工程目录的Assets目录下了。Unity会自动检查文件并导入它们。该环节主要注意2点
参见我以前的文章Unity中网格合并示例研究
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。