打开后新建一个项目。
任意模板项目都行,因为可以互相转。这里主要选3D模板。
之后编辑界面为:
- Hierarchy标签:用列表形式表现现场景内的对象,和对象之间的关系(可以用拖到操作)。
- Scene标签:用来观察和操作2/3D场景。
- Game标签:用来观察游戏运行时的情况。
- Inspector标签:显示当前选中对象的信息,通常是组件列表。
- Project标签:用来查看项目中的资源(asset)。
- Console标签:用来输出一些调试用的消息。
- 工具栏
- 运行/暂停/逐帧运行按钮
- Editor界面的各个标签可以拖动,拖动完成时可以在这里保存修改后的界面。
- 更多的editor界面的操作技巧请参看之前的一篇文章。链接
2. 理解unity的使用逻辑
用unity做游戏要理解的三大概念,场景(Scene),游戏对象(GameObject)和组件(Component)。
1)Unity项目中可以包含多个场景,比如城镇场景,森林场景,沙漠场景等……不同场景之间可以切换和通信。
2)在场景中有各种游戏对象,例如玩家角色,敌人,村民等。即使是在游戏背后控制游戏流程的逻辑(gameMaster),也要在场景里成为一个游戏对象(不渲染的游戏对象)才能起作用。
3)在游戏对象里,有各种各样的组件来实现该对象应具有的功能。
虽然Unity里已经有很多的组件可用,但是对于特定游戏项目,相应独有的功能组件例如敌人的移动AI,玩家血量经验值等,还是得靠自己写。这里就需要一个叫脚本组件的东西。
3. 第一个脚本组件(Script)
在Project标签内右键选择新建文件夹,命名为Scripts。(该步并非必须,为了整洁规范)在该文件夹内右键选择C#script,创建一个script。命名同之前方法名的命名方式。
打开之后显示如下:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;//一开始unity自动帮忙引用了几个可能用上的命名空间(程序集)
public class Test : MonoBehaviour
{ //可见脚本是个类,脚本文件一定继承了MonoBehaviour类。
//注意这里的类名一定要和文件名一致,否则会报错
//MonoBehaviour类提供了一些方法的重写。如下面的Start方法和Update方法来让引擎调用
// Start is called before the first frame update
void Start()//这里是只在游戏对象生成的第一帧运行的代码,只运行一次。主要用于组件的初始化。
{
Debug.Log("这里是start方法");//Debug.Log()方法用于向Console标签输出信息
}
// Update is called once per frame
void Update()//这个方法每一帧都会被调用
{
Debug.Log("这里是Update方法");
}
}
写完后保存。在Hierarchy标签里右键新建一个3DObject/Cube,选中它,把之前写的脚本拖动到inspector标签里,完成添加脚本组件。点击运行看看。
在Console标签里,可见start方法只被运行了一次,Update方法被不停的运行。
最上边按钮是:
Clear : 清屏
Collapse:折叠同一行代码输出的一样的信息
Clear on play:play后自动清一次屏。
移除组件,在Inspector标签里,右键想移除的组件,选择Remove Component。