如何使用Unity制作虚拟导览(三)

来源:互联网 发布:解数独软件 编辑:程序博客网 时间:2024/06/06 16:48
灯光在建筑场景里面是相当重要的一个环节,我们需要在场景里面模拟出日光投射的效果,在模型导入后,使用Game Object > Create Other > Directional Light创建一个平行光源,Directional Light提供了平行光线的投射,放在场景的哪个位置皆可,主要是按下E键来改变投射的方向。

2.png 
3.png 

接下来要考虑的是环境的搭建与相机视角的初步模拟,在放置第一人称的视角之前,可以考虑在建筑模型下方先摆放一个Plane或是Quad的物件来作为测试,如果能使用Terrain的话就更为理想了。

5.png 

附带说明:有朋友问到,3dsmax或是maya做好的地形能否转换为Unity的地形,这里有篇教程可以参考一下:
Max网格物件转换成Unity的专用地形
http://www.narkii.com/club/thread-299892-1.html

在大多数的交互式环境里面,最常使用的导览模式为第一人称与第三人称的视角,而Unity已经将这两种模型打包为Character Controller的资源包,使用 Assets >Import Package > Character Controller即可完成导入。

7.png 

安装后在StandardAssets > Character Controller的目录下可以找到First Person Controller(FPC)与3rd Person COntroller(3PC)这两种视角的操控模式,

8.png 

现在我们来试试将FPC放在场景内的效果,操作的方式很容易,直接将FPC拖到Scene视图内即可,如图所示,FPC包含了一个胶囊状的物件与相机,胶囊使用了Capsule Collider来作为碰撞的侦测,相机则是用来模拟第一人称的视角。

9.png 

将FPC的位置摆放在地面上后进行播放的测试,使用WASD键在地面上移动的时候可以很顺利的运行,但是往楼梯前进时却发现FPC似乎穿透模型,这是什么情况呢?

10.png 
11.png 

选择导入的FBX建筑模型,在Model设置里面的Generate Collider的默认值为关闭,勾选此设置后按下Apply即可让模型具备碰撞的属性。

12.png 

经过设置后再次测试效果,现在FPC就能正确的往楼梯上移动而不会出现之前的状况。

13.png 

另外一种方式是将3rd Person Controller拖到场景内,这个组件包含了一个工人模型与Capsule Collider,并且在组件上添加了脚本进行动作与相机的控制。

14.png 

脚本里面包含了Third Person Camera来作为第三人称相机的控制,需要做的是将场景内的相机添加到Camera Transform的栏位,然后在运行测试时可以调整参数来找出相机的理想位置。

15.png 

在Third Person Controller设置里面确认工人的动作为匹配的状态,例如Idle Animation选的是idle的动作,以此类推来确认每一个动作是否设置正确。

16.png 

设置完成后进行测试,工人模型现在已经可以在场景里面进行任意的活动,相机的视角也能跟随工人的移动来进行变化。

17.png 

此外我们也可以通过3d软件制作的角色或是插件提供的模型来替换工人,例如换成普通的行人或是透明的人物效果,实现的方式在后续的教程里面将会介绍。

18.png 
0 0