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

转载 2015年07月09日 13:49:33
灯光在建筑场景里面是相当重要的一个环节,我们需要在场景里面模拟出日光投射的效果,在模型导入后,使用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 
举报

相关文章推荐

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

灯光在建筑场景里面是相当重要的一个环节,我们需要在场景里面模拟出日光投射的效果,在模型导入后,使用Game Object > Create Other > Directional Light创建一个平...

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

Unity用来制作游戏已经是目前市场上的一个发展趋势,而且有越来越多的公司与开发者不断的加入,那么Unity的应用是否能涵盖到各种领域?如果使用Unity制作建筑景观模拟?没错,这已是一个新时代的潮流...

精选:深入理解 Docker 内部原理及网络配置

网络绝对是任何系统的核心,对于容器而言也是如此。Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜像管理。然而,Docker的网络一直以来都比较薄弱,所以我们有必要深入了解Docker的网络知识,以满足更高的网络需求。

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

灯光与环境的设置 在场景内设置灯光是一个很重要的环境,少了灯光,每个物体看起来很单调并失去立体感, 尤其室内的场景还需要搭配不同的灯光类型才能表现出整体的效果。 在Unity里面的灯光被...

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

大部分的游戏都是支持几种不同形态的阴影表现影,在Unity里面的最常采用的是烘培 + 实时阴影的搭配,烘培的方式可以在3d软件里面完成,也可以导入模型后在Unity里面进行,有朋友问,如果用vray烘...

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

在这个教程里面,我们将介绍如何将SketchUp制作的建筑模型导入Unity,这里面使用的是SketchUp 2014的最新版本,关于SketchUp的相关介绍请参考: SketchUp 201...

欢迎使用CSDN-markdown编辑器

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和...

如何使用Log4j?

如何使用Log4j?

欢迎使用CSDN-markdown编辑器

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和...

如何使用POI导入导出到excel表格

如何使用POI导入导出到excel表格导入 @RequestMapping("user/uploadExcel") @ResponseBody public ResultMessag...

Unity 制作虚拟手柄例子

Unity不愧是收费开发软件,有写好的Joystick(虚拟手柄),使用起来很简单,我们一起来学习一下哈!! 我们先添加手柄图标啊!先导入一个包。在Project视图中按右键啊。 一会加图 ...
  • qqMCY
  • qqMCY
  • 2013-07-27 20:41
  • 3861
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)