Unity3D | 搭建场景与场景切换!

在Unity3D引擎中,引擎为我们提供了多种便于搭建场景的功能。利用好prefab预设,将会使我们更快速的搭建游戏场景。另外,在搭建场景之前,规划好我们的游戏场景也是一个必要的步骤。

那么今天,我们就教大家如何快速搭建一个Unity的场景。

Unity3D | 搭建场景与场景切换!

##使用合理的目录结构

首先在你的Unity目录里面要保持良好的目录结构,如使用如下的目录结构。

Unity3D | 搭建场景与场景切换!

在上面的目录结构中,Material是模型的材质,Mesh是从3D建模软件中导入的模型,这些模型称为Mesh(网格)。因为其没有碰撞体和Untiy中的PBR材质,所以我们需要对其进行碰撞体的添加和贴上材质。添加完材质之后,我们将这些做好的物体拖动到Prefabs中,保存为预设,以便下次使用。

在Scene中主要保存的是游戏中的场景文件。而Texture中则是材质的贴图,如PNG,JPG等贴图文件,这些图片是构成PBR材质的主要部分。

##增加碰撞体的策略

在Unity引擎中,我们可以使用自带的Box Collider碰撞体,Sphere Collider碰撞体等来模拟简单的物体的碰撞。但遇到一些特殊的物体的时候,则需要使用碰撞体来组合,用来模拟其表面。

在一些复杂的物体中,使用Mesh Collider碰撞体往往会偏离我们的预想。如下,一个楼梯的模型,如果我们使用Mesh Collider并通过Convex来生成碰撞体的时候,会造成如下的结果。

Unity3D | 搭建场景与场景切换!

注意这个生成的碰撞体,其应该可以行走的表面被完全封死,变为不可行走。这时我们就不能只顾方便而使用Mesh Collider了。

对于楼梯的碰撞体的解决方法,我们使用Box Collider来模拟楼梯。

Unity3D | 搭建场景与场景切换!

在这里,我仅仅使用了3个Box Collider,为了省事。其实可以每一级台阶增加一个Box Collider来完美地模拟楼梯的碰撞体的。

在添加碰撞体的时候,我使用的并不是在右面Inspector检视面板来添加,而是在楼梯这个物体里面添加Cube这个子物体,并调整到合适位置和大小之后,关掉其Mesh Renderer来实现的。这样可以方便地修改碰撞体的位置,并且可以旋转碰撞体。

##使用Prefab简化你的工作

在搭建完楼梯之后,我们在阶层面板中找到Stair这个物体,在项目面板中打开Prefab文件夹,将Stair这个物体拖动到文件夹里面,这样就形成了一个Prefab预设。

Unity3D | 搭建场景与场景切换!

这个预设保存着游戏中该物体的所有信息,包括其子物体相对于父物体的各种信息,于是我们刚才搭建的碰撞体就被保存了下来。

如果需要修改Prefab预设的话,这时我们只需在场景中找到该预设,或将预设拖动到场景中,修改其内容,然后再点击阶层面板中的Apply按钮即可,这时所有场景中的该预设都会随之而改变。

在我们完成一个楼层的搭建之后,将该楼层保存成预设。

Unity3D | 搭建场景与场景切换!

于是,很短的时间之内,我们就完成了整个楼层内部结构的场景的搭建。

Unity3D | 搭建场景与场景切换!

##增加光照

在场景中,我们在相对的位置增加点光源用来模拟灯泡。

Unity3D | 搭建场景与场景切换!

然后我们在window里面打开Lighting这个选项。将其拖动至合适的地方。

Unity3D | 搭建场景与场景切换!

我选择的是右侧面板。

然后点击Lighting下面的Object选项,选中Renderer。

Unity3D | 搭建场景与场景切换!

这时左面的阶层面板中将场景中的所有Mesh Renderer的物体都显示出来了,我们选中所有的Mesh物体。

Unity3D | 搭建场景与场景切换!

然后再回到Object选项中,勾选中Lightmap Static,这样的话,烘焙光照贴图的时候就会对所有的物体进行烘焙。然后再根据需求,更改光照贴图的分辨率吧。

最后点击烘焙开始烘焙我们的场景。

如何实现点击按钮跳转场景功能:

1.打开Unity,新建一个场景,NGUI中拉一个按钮到场景中,当然也可以用UGUI。

Unity3D | 搭建场景与场景切换!

2.点击左上角的File-Save Scenes保存场景,命名为sceneOne。

Unity3D | 搭建场景与场景切换!

3.新建第二个场景,加个文字UI,用于测试。保存场景,命名为sceneTwo。

Unity3D | 搭建场景与场景切换!

4.点击左上角的File-Build Settings或者按Ctrl Shift B。

Unity3D | 搭建场景与场景切换!

5.将两个场景拉入以下位置,然后关闭弹窗。

Unity3D | 搭建场景与场景切换!
6.Assets文件夹中新建一个C#脚本,命名为test。然后打开编辑。
Unity3D | 搭建场景与场景切换!
7.代码如下,关键代码using UnityEngine.SceneManagement;     SceneManager.LoadScene(“sceneTwo”) ;编辑好后保存。
Unity3D | 搭建场景与场景切换!
8.将脚本挂到按钮控件下,点击运行就能看到效果了。
Unity3D | 搭建场景与场景切换!
转载声明:本文来源于网络,不作任何商业用途。

如何用 unity3d 创建地形?

2021年报考动画专业哪个大学比较好?