从零开始Unity3D游戏开发【2 简单的水管工例子】
1.首先,创建一个新的Project。
2.hierarchy(层)窗体下的Create下添加一个plane(平面)
3.调整Main Camera的视角,让panel显示在Game窗体。这一步比较困难,如果没有3维建模基础,确实不好整。但是没关系,别忘记了我们有快捷键。
在Scence(场景)里面调整好panel的视图,一般来说X轴在右侧。然后选中Main Camera,按住Ctrl+Shift+F,就会发现摄像机自动定位了。
4.导入系统资源包
Project下->Assets文件夹->右键->ImportPackage->Character Controller 然后导入全部
Assets文件夹下的Character Controller里面会有个水管工的图片,拖到plane里面,调整好视角。
5 Hierarchy(层)窗体下的Create下添加一个立方体Cube,放到plane上
6. Hierarchy(层)窗体下的Create下添加一个灯光,放到plane上
初步效果图如下:
7.U3D的灯光分为 Directional 方向光, Point 点光, Spot 聚光,area 区域光 具体的属性,用途在下一篇文章会摘抄一份详细的。
8.添加影子(光下面没有影子是多么奇葩的事情)
注意画红框框的地方,Area Light只是我们添加的光的名字,那么现在,它是区域光吗?答案是不是,他是 Directional 方向光。为什么呢?因为他的Type设置了。所以,有时候千万不要被名字迷惑。想要让光下的物体有影子,还得设置光的属性Shadow的属性为soft Shadows或者Hard Shadows.
阴影分为hard shadows和soft shadows两种,前一种阴影比较重,后一种相对柔和。但是默认情况下,你会发现只要directional light类型的灯光才可以使用阴影,别急,咱们来改一个设置,让其他两种灯光也能使用阴影,打开edit-project settings-player,然后将rendering path改为deferredlighting(延迟光照),这下你的电光源和聚光灯也能产生阴影了~(要产生阴影,还需要将投射阴影的对象的Cast shadows(投射阴影)勾选,将接受阴影的对象的Receive shadows(接受阴影)勾选, <ignore_js_op> 举个例子,你要让树在地面上产生阴影,那就得让树投射阴影,然后让地面接受阴影才行)
9.物体碰撞:
之前我们添加的立方体是作为障碍物存在的。水管工是不能从里面穿过的。 需要我们设置下属性。
BoxCollider 启用后物体就可以作为障碍物存在了,也就是说水管工不能穿过该立方体。不启用的时候,水管工可以跑到他的里面。
Mesh Renderer 选中后,该物体呈现在游戏界面。不选中就不呈现在游戏界面。注意,它不和BoxCollider 属性冲突。也就是说,一个物体选中了BoxCollider 没有选中Mesh Renderer 的时候,它在游戏界面上是不显示的。但是,当你走到他的左边那边的时候,依然会有阻拦作用。
因此,此属性可以处理地图边界问题。阻挡游戏小人儿跑到地图外面。