// 2014/7/30 9/16
// 赛车游戏学习第一天,对应官方文档第一部分
// 王小龙
一、赛车模型的拼装
打开缺乏赛车模型的the track场景,找到车原始模型,如下:
拖动模型到场景的适当位置,调整好位置。了解车模型继承视图的继承关系。
可以明显的知道,车模型由多个部分组成,特别注意继承关系。
接下有一个关于layer设置的没有搞懂。
移除默认的动画组件
给汽车添加碰撞器组件(为了更加细致的了解,顺带复习一下mesh collider网格碰撞器)
对于复杂的网格碰撞,网格碰撞器比原型碰撞要精确记住,只有在convex(凸起)勾上的时候网格碰撞器才能和其他网格碰撞器发生碰撞。
下面来讲讲其几个重要属性(其实更多情况下可以通过英文单词意思就可以明白)
Smooth Sphere Collisions平滑性状碰撞 当被碰撞时,网格法线(在空间垂直于一个平面的直线;或者在一个平面里面,垂直于一条直线的直线。法线也可以指的某个方向。对于圆弧来讲,指的是它与圆心相连的直线(方向)。法线:英语叫Normal Line。)是平滑的。
一些限制条件:1、两个网格碰撞器一般不会发生碰撞,但和原型碰撞器会发生碰撞(convex勾选上)。2、碰撞器作用于刚体使Unity中的物理作用生效。因为刚体允许对象被物理系统控制。碰撞器使对象之间产生碰撞作用。碰撞器必须独立于刚体加在对象上。碰撞器并不一定需要附加刚体,但是要使移动物体具有碰撞效果必须附加刚体。3、两个碰撞器产生碰撞,必须有一个对象有刚体,碰撞信息就会发送给其对象,可以在脚本中实现各种操作。4、触发器不受物理引擎控制,用于处罚游戏中的各种事件5、摩擦力和弹力又物理材质决定。
因为碰撞器不应该可见,所以移除网格渲染和网格过滤组件。
设置阴影(关乎游戏性能,所以需要仔细设置)
就在在各个部分中设置cast shadow (投影)和receive shadow
具体的设置可以根据自己的喜好。但是值得注意的是考虑游戏的需要,如此场景中赛车的轮子应该是有投影的而receive shadow可以没有。
设置完后效果如下:
增加车模型组件
利用刚体组件来控制模型在游戏中的位置,接下来增加刚体组件。考虑都实际情况,改变质量和阻力。
此处的阻力是为了方便脚本中控制车的减速。
接下来为我们车模型添加脚本。
至于上面的这么多参数,说真的我也还没把文档读完,知道一部分。以后详细介绍
今天就主要实现车子跑起来吧!。
找到前轮和后轮两个参数(front wheel ,rear wheal)设置一下,如图:
大概大家已经能够猜测到了size的意义。就是设置轮胎的数量。接下来就是把轮胎拖过来。如下图:
接下来为汽车添加阴影。
虽然直线光会会造成阴影,但是我们为了得到更为好的效果可以改变阴影。
// 2014/7/30 9/07
// 赛车游戏学习第二天,对应官方文档第一部分
// 本来应该昨天完成第一部分的内容,下午由于各种特殊原因就到实验室来了
// 王小龙
接着昨天的讲。为车模型添加一个在车身下更为真实的阴影。涉及到projector(投影仪)的使用。步骤如下:
1、 添加一个projector,在addcomponent——》effect——》projector
2、 调整相应的属性值,讲projector至于车模型的上方
3、 添加材质
4、 添加控制脚本
调整结果如下:
添加滑痕(slidmark)——感觉这个有些难度
添加划痕是通过简本脚本实现的。
每一轮子,知道位置和是否滑动,据此,我们可以通过注册一个划痕和划痕控制器有关联的一个点来控制。
将已经存在的预设拖动到场景中。其中的sliderjs看不懂。这让我想起了做一个作品不是所有的东西都要自己去做,会用就行了。
其中包含几个参数,有一个没读懂还是说说吧。
Max mark:决定在场景中能看到划痕位置的数量
Max width:划痕宽度
Ground offset:如果出现闪烁,把这个值调整大点
Min distance:划痕的最小长度
接下来就是添加声音效果
先添加声音控制脚本
接下来为各个属性赋值。
接下来为车添加各种控制脚本
主要有以下几个:
再将车模型,赋值给主摄像的target属性。
结果效果还是可以,但就是划痕那里还有点问题。截个图如下:
说明:怎么没图片了。哎!下次注意!