写在前面的
在上一节讲到了场景搭建,这一节就来讲一下坦克的创建和怎么让坦克动起来。
SLIDE 1/12
1.在项目中的Models文件夹中,找到叫做Tank的模型,然后把他拽到Hierarchy面板中。
2.在Inspector面板的顶部,将Tank的Layer设置为Players。
3.当Change Layer对话框出现的时候,选择No,this object only。SLIDE 2/12
1.添加一个Rigidbody组件。
2.将Rigidbody组件中的Constraints区域拉伸。
3.在Constraints的下面有一些勾选框,勾选Freeze Position的Y axis。
4.同时,勾选Freeze Rotation的X和Z axes。SLIDE 3/12
1.给Tank添加一个Box Collider的组件。
2.将Box Collider的Center置为(0,0.85,0)。
3.同时将它的Size置为(1.5,1.7,1.6)。SLIDE 4/12
1.给Tank物件再添加一个Audio Source组件。
2.在Audio Source中,通过circle-select将AudioClip置为Engineldle。
同时,勾选Loop。SLIDE 5/12
1.再添加一个AudioSouce组件。
2.在第二个AudioSource组件中,取消勾选Play On Awake。
3.将你的目光移到在Project面板中的,Perfabs文件上,对,选它。
4.单击,然后拖拽Tank GameObject,将其从Hierarchy面板拖拽到Project面板。
5.保存场景!SLIDE 6/12
1.在Prefabs文件夹中,将DustTrail素材拖拽到处于Hierarchy面板中的Tank GameObject上,使之成为Tank GameObject的子文件。
2.重复以上步骤,这样我们就拥有了两个DudtTrail(可以通过CTRL+D来进行Prefabs的复制,这样就会有两条坦克履带的烟尘轨迹,运行起来很棒。)SLIDE 7/12
1.将刚刚添加的一个DustTrail重命名为LeftDustTrail。
2.将 LeftDustTrail的 Position 置为(-0.5,0,-0.75)
3.将另一个DustTrail重命名为 RightDustTrail
4.将它的 Position 置为(0.5,0,-0.75)(可以想像的出来它俩关于什么对称么?)SLIDE 8/12
1.在Scripts/Tank文件夹中,找到TankMovement 的script。
2.将这个脚本拖拽到Tank的GameeObject中。
3.打开 TankMovement script 双击它,就可以进行编辑了。(这里需要提示的是,由于官方教程中,所有涉及脚本的地方都进行了省略,打开脚本只是让你熟悉一下里面的代码,看一看U3D的动作实现机制,并不要求自己自行进行脚本的编写。)SLIDE 9/12(这节主要就是让你看一下脚本中的的方法体)
1.GET THE INPUT
2.SETUP THE AUDIO
3.SETUP FORWARD/BACK MOVEMENT
4.SETUP TURNING
(上面的四段话主要就是讲,我们之前添加的一些组件,包括声源和坦克的运动脚本在代码中到底是怎么进行控制的,包括烟尘的动画)SLIDE 10/12
1.在Movement Audio variable中,使用第一个 Audio Source组件。并将它拖拽到紧挨着Movement Audio靠下的地方。
2.在在Engin Idling variable中,单击circle-select按钮,然后在列表中选择Engineldle audio clipSLIDE 11/12
1.在Engin Driving variable中,单击circle-select 按钮,然后选择 EngineDriving
2.在Inspector(视图)的顶部,对你的Tank prefab点击apply 来应用修改
3.保存场景!SLIDE 12/12
1.按下“Play”按钮就可以试着驾驶你的小坦克了。
2.别忘了再次按下“Play”来停止。
3.保存场景!
总结
做到这里,至少可以让坦克动起来了,对于刚刚接触U3D的小伙伴来说应该是非常高兴的了~但是你会发现,即使你怎样操控坦克,镜头也不会跟着坦克移动,下一节我们继续来讲摄像机的相关设置。