Cart项目开发记录学习笔记

来源:互联网 发布:淘宝搜索关键词 编辑:程序博客网 时间:2024/05/17 07:06

Unity对于影响顶点的骨骼数量支持是有限制的,大家在建角色模型的时候需要注意。一般游戏推荐2骨骼,写实风格推荐4(最大)。

max中一般为cm,导入因子默认0.01,这样进入U3D的时候1米对应的就是Unity的1单位(Unity中的1单位默认就是1米)

贴图的绘制方面,我推荐一个叫做3dcoat的工具~ 是个乌克兰的新兴软件,非常强大,可以直接在模型上绘制表面色贴图 高光贴图 半透明贴图 法线贴图(精确高低模法线还是用ZB,3dcoat是绘制法线,不精确)
这类插件和软件并不少,但是3dcoat是用下来最强大的一个~并且支持分层绘制,与PS高度协同~ 可以直接在软件中呼出PS分层编辑贴图。


在绘制贴图的时候,模型可能会进行一部分的tri线修正,完全确定之后,就可以建骨骼进行蒙皮了。蒙皮之前切记确认模型比例和大小,否则等辛苦蒙皮完毕之后发现比例错误,就欲哭无泪了。。。

下面是蒙皮制作的环节~使用的民工建模软件3DMax的bip骨骼系统

首先将角色进行导入,并不是直接导入图中这个角色,而是把之前未加入动画原始角色和骨骼导入,然后再导入这套加入动画的骨骼,在U3D中作为动画文件使用。注意只要骨骼,因为骨骼已经包含了全部的动画信息,因此不需要重复包含模型。在unity3.5之前单独的骨骼导入unity直接提取动画文件指定给原始模型是不会播放动画的,原因是在unity中单独的FBX父级(也就是bip01)被识别为文件最顶级,(而包含模型的FBX很明显有两个物体,所以文件层级被识别为父级)这样纯骨骼FBX文件的动画层级会比包含模型的FBX动画层级少一级,造成动画信息无法对应,从而无法播放动画。在unity3.5中,对bip01进行了特别对待(这也是我喜欢bip的原因~),所以纯骨骼的FBX动画可以被正确的识别并指定给原模型

call是指每帧中调用对象的绘制次数

同一个材质的同一个mesh是作为一个Call,把贴图集中起来(shader编写是一个call的前提下)

Unity中,这些使用相同材质的静态元素可以通过勾选Static来自动batch到一起(当然还有playerSettings中的Batching需要勾选)这样可以减少尽量多的Call


利用骨骼的坐标来自己计算一个方形区间,精确的测出cart是否在赛道上

具体的算法也非常简单,使用的是InverseTransformPoint方法
bonetrans = cliffbone[0].InverseTransformPoint(mytransform.position);

随机道路的拼接:

因为是基于骨骼的道路,所以我们只需要将新的道路的根部骨骼直接对齐到当前道路的末端骨骼就可以了,而之前的模型为这套方案做好了准备,就是首末2根骨骼都只有其他骨骼的一半长度,并且首尾2段是不做随机旋转的。所以这两段道路会精确对接并且不会出现接缝。

0 0
原创粉丝点击