![Unity3D网络游戏实战](https://wfqqreader-1252317822.image.myqcloud.com/cover/295/847295/b_847295.jpg)
1.1 最最简单的游戏
第一次打开Unity3D时,将看到Create a project(新建项目)的界面。点击New Project将跳转到如图1-1所示的创建项目界面,填写新项目的名称(Project name)和路径(Location)后点击Create project按钮,进入Unity3D的主界面。
![](https://epubservercos.yuewen.com/FABC1B/6158700004756901/epubprivate/OEBPS/Images/figure_0015_0001.jpg?sign=1739259048-HRMHV0NzSFdhiSfugfXCWZYqUyXbsZbo-0-92015a1e78201ae5442139f5e4fff136)
图1-1 创建项目界面图
1.1.1 Unity3D的界面构成
如图1-2所示,Unity3D的基本界面并不复杂,4个面板便囊括了常用的编辑功能,它们分别是:场景面板、属性面板、层次面板、项目面板。
![](https://epubservercos.yuewen.com/FABC1B/6158700004756901/epubprivate/OEBPS/Images/figure_0016_0001.jpg?sign=1739259048-0GDFBD748mKK5DxsF1erbC94cffgSiGk-0-c64662d7980e40143379f2e284599dae)
图1-2 Unity3D主界面
在制作游戏之前,需要先熟悉这4个面板的用途,如表1-1所示。
表1-1 Unity3D主界面面板及功能
![](https://epubservercos.yuewen.com/FABC1B/6158700004756901/epubprivate/OEBPS/Images/figure_0015_0002.jpg?sign=1739259048-9fSgGEa1KrdeoNoGYO5CIzTfLa5hXTCL-0-a8b96386dec1f60f04b296a3e1ccda72)
1.1.2 在场景中创建立方体
让我们试着制作一款最最简单的游戏:场景中只有一个立方体,游戏开始后,立方体向右边移动,直到消失在“茫茫宇宙”之中。完成这一款游戏,只需要如下3个步骤即可。
1)在场景中创建一个立方体。
2)编写可以使立方体运动的程序。
3)测试游戏。
点击菜单栏中的GameObject→3D Object→Cube。完成后,层次面板和场景面板都会显示刚刚创建的立方体(如图1-3所示)。
![](https://epubservercos.yuewen.com/FABC1B/6158700004756901/epubprivate/OEBPS/Images/figure_0016_0003.jpg?sign=1739259048-tnlQ6xkLYwbJiMOiR1ynoBMyqq6PNs7y-0-54377a99692e98ce88b1767ca29b18ab)
图1-3 层次面板和场景面板中显示刚刚创建的立方体
可以通过菜单栏的这几个按钮调整立方体的位置、旋转和尺寸(按钮的具体用途和效果分别见表1-2和图1-4),调整之后,属性面板Transform组件的数值也会相应改变。
表1-2 按钮说明
![](https://epubservercos.yuewen.com/FABC1B/6158700004756901/epubprivate/OEBPS/Images/figure_0017_0001.jpg?sign=1739259048-msSay9qaMsn9egFD79cP7idBAFZIpK4L-0-e7a2f18c12c6daa8e092b5f5ad86e968)
![](https://epubservercos.yuewen.com/FABC1B/6158700004756901/epubprivate/OEBPS/Images/figure_0017_0002.jpg?sign=1739259048-qZYeQDJ818koi3E8EWvEaQxjHXfE5ZSz-0-2ce5fad4a7053da2d472ed82c5b5b85f)
图1-4 属性面板显示立方体的位置、旋转和尺寸信息
1.1.3 编写第一个程序
右击项目面板,选择Create→C# Script,创建一个名为Test的脚本,如图1-5所示。之后双击它,便可以在脚本编辑器(MonoDevelop)中编写程序了。
![](https://epubservercos.yuewen.com/FABC1B/6158700004756901/epubprivate/OEBPS/Images/figure_0017_0003.jpg?sign=1739259048-pPou0lb7ktENKOAljk2BIm2qqrdtbJZ7-0-20c3073263418f6ba2af060fda8c3a6b)
图1-5 项目面板显示新创建的脚本
打开程序文件,可以看到Unity3D自动生成了如下几行代码。
![](https://epubservercos.yuewen.com/FABC1B/6158700004756901/epubprivate/OEBPS/Images/figure_0017_0004.jpg?sign=1739259048-WrOxw1AcMCsBMINl8GurqoYgkJris5mc-0-e3ec2af35811bd82637323e7a382560b)
以下是Unity3D组件的基本结构。
❑它继承自MonoBehaviour类,只有继承自MonoBehaviour类的脚本才能够被附加到游戏物体上,成为组件。
❑它带有Start方法,当物体被创建时,该方法被调用。
❑它带有Update方法,游戏过程中,Update方法会被重复调用,每帧调用一次。
要让立方体沿横坐标移动,只需要让它在每一帧都沿着横坐标方向稍微移动一点点即可。Transform是物体的变换组件,它决定了物体在场景中的位置、旋转和缩放。其中transform.Translate(x, y, z)可以使物体沿着某一方向移动一定的距离。现在修改Unity3D自动生成的代码,添加“transform.Translate (0.1f, 0, 0)”;这句代码。
![](https://epubservercos.yuewen.com/FABC1B/6158700004756901/epubprivate/OEBPS/Images/figure_0018_0001.jpg?sign=1739259048-66bul16OFUH0XbcF1k3xOlEQRiwKY6vu-0-d6a02b7189dfa4713d3d5c33faa71249)
将脚本从项目面板拖曳到立方体的属性面板之中,使它成为立方体Cube的组件(如图1-6所示)。如果程序正确,那么游戏应该算完成了,赶紧试一试吧!
![](https://epubservercos.yuewen.com/FABC1B/6158700004756901/epubprivate/OEBPS/Images/figure_0018_0002.jpg?sign=1739259048-DsomXWrobR7fBWaU5GBipQnPBsrIKVkI-0-70e5caab34152357bfa7b8474cec2f29)
图1-6 Test组件附加在立方体上
1.1.4 测试游戏
点击工具栏中的运行按钮()启动游戏,便可看到场景中的立方体不断地向右边移动,直到消失,如图1-7所示。至此我们完成了一个最最简单的Unity3D游戏。
![](https://epubservercos.yuewen.com/FABC1B/6158700004756901/epubprivate/OEBPS/Images/figure_0019_0002.jpg?sign=1739259048-JYyV75BIi1n3M2LolyQuENRU2F7Fm3ye-0-d2df1ee4d0ff5132b8fbb17ccfaad8be)
图1-7 场景中的立方体不断向右移动直到消失
1.1.5 总结
表1-3总结了上述示例提及的Unity3D元素。除此以外,Unity3D常用的元素还包括模型、灯光、材质、预设等。本章会对这些基本元素进行逐一介绍,以便与读者一同完成这款坦克游戏。
表1-3 Unity3D的元素说明
![](https://epubservercos.yuewen.com/FABC1B/6158700004756901/epubprivate/OEBPS/Images/figure_0019_0003.jpg?sign=1739259048-mXltIHucjP2lKUBQkkZLwBCZjLyKjAk2-0-ae41b1de0df42cdc4cf4294cd32a436c)