打开unity3D ,首先是简单的界面的介绍:
1、 Project窗口:这个窗口相当于项目管理器,窗口里的文件夹对应于你所创建的项目文件夹(你可以在你创建的项目路径下找到这些文件)。在此窗口你可以很方便的管理你的项目资源:如脚本、图片、场景等的添加、分类以及模型的导入。当你新建一个项目时,默认生成的文件夹只有Standard Assets,里面有系统自带的一些资源,如:贴图,物理属性,粒子系统等,通过简单的拖放你就可以使用。
2、Hierarchy窗口:这个窗口用于管理游戏中的对象(GameObject)。你添加在场景中的对象(GameObject)都会在此列出。游戏对象添加的方法是:菜单栏 --->GameObject-->CreateOther(或CreateEmpty)然后可以选择你需要添加的游戏对象如(立方体,球体,粒子系统,摄像机,点光源,平行光等对象),一旦新添加游戏对象, Hierarchy窗口就会实时更新它的列表内容。
3、Inspector窗口:此窗口相当对象的属性窗口。你可以手动编辑对象的一些属性,例如对象的坐标,旋转的角度,对象的贴图等。点击Hierarchy窗口的对象,该对象的属性就对应在Inspector窗口显示。
4、Scene窗口:该窗口用于场景的手动编辑。
5、Game窗口:该窗口是程序的运行效果显示窗口。另外通过菜单栏的window-->Console弹出调试信息的输出窗口。
简单的界面介绍完毕,下面通过建立一个简单的例子来熟悉脚本的编写,来控制游戏场景中的对象。
二、让球动起来!
第一步 ,创建工程。打开unity3D,弹出一个窗口提示要打开工程还是创建工程,选择创建工程(Create new project-->Browse选择路径-->Create)。一旦工程创建成功,系统自动生成三个文件Assets(此文件是系统的资源文件有物理属性、贴图等资源)、Library, Temp。
第二步,建立场景。你可以添加一个地形作为场景,方法是菜单栏Terrain-->Create Terrain.为了简单直接,在此新建个平面作为场景。方法是:菜单栏-->GameObject-->Create Other-->Plane,创建成功后在场景编辑窗口(Scene窗口)出现一个灰色的平面,同时在Hierarchy窗口出现该平面的名称。当然为了直观,你可以帮它改名,方法是F2(或点击然后右键rename),输入你要的名字(例如:myScene)。你可以在Inspector窗口查看myScene的一些属性,为了方便我们把myScene的Transform的position的x,y,z全改为0。改完以后如果你在场景窗口找不到你的场景(myScene),你可以采用以下方法快速找到它:在Hierarchy窗口选中myScene,然后把鼠标的光标移到场景窗口,按"F"键,myScene就会出现在场景窗口的中央。这个方法适用于所有的游戏对象的查找(这个快捷键会经常用到)。
第三步,建立一个球体。方法与建立Plane差不多,菜单栏-->GameObject --> CreateOther-->Sphere。同样修改其名称为(mySphere)。同样在Inspector窗口修改其位置x,z为0,y改为0.5。
第四步,添加灯光。是不是觉得有点暗?下面为场景添加灯光,unity3D提供了两种灯光可供你选择:点光源及平行光源。添加的方法与添加plane及sphere一样,只是选择point light或directional light。
第五步,这时你应该注意到Hierarchy窗口有一个系统默认生成的摄像机。如果没有这个摄像机,你在Game窗口是看不到你创建的场景以及球体,以及灯光的。如果你觉得Game窗口的物体太小了,你可以把摄像机往前移动,方法当然是修改摄像机的属性里的position,把z坐标设为-5。
第六步,让球动起来!怎样让球动起来呢?激动人心的时刻到了,编写脚本!(注:脚本的编写可以使用JavaScript、C#、或Python ,下面使用javaScript举例)
回到project窗口,点Create-->JavaScript(当然你也可以右键弹出菜单Create-->JavaScript),脚本添加成功,按“F2”把它改名为(MoveSphere)。双击脚本把它打开,默认生成的文本如下:
function Update () {
}
这里先介绍一下function Update () ,此函数的意思是每画一帧就调用一次。接下来编写控制球移动的代码如下(以下代码的意思是:按上下左右键就把物体(球)往前后左右移动一段距离):
if(Input.GetKey(KeyCode.UpArrow))
{
transform.Translate(0 , 0 , 2*Time.deltaTime);
}
if(Input.GetKey(KeyCode.DownArrow))
{
transform.Translate(0 , 0 , -2*Time.deltaTime);
}
if(Input.GetKey(KeyCode.LeftArrow))
{
transform.Translate( -2*Time.deltaTime , 0 , 0 );
}
if(Input.GetKey(KeyCode.RightArrow))
{
transform.Translate( 2*Time.deltaTime , 0 , 0);
}
完了以后,Ctrl+S 保存。
执行一下(点击最醒目的三角形执行),按上下左右,球没动!
因为我们还没把球和代码关联起来,球当然没动!
关联的方法很简单,直接把代码从Project窗口拖到Hierarchy窗口的球(mysphere)上就行了。
执行一下,按上下左右,这回球应该就向前后左右移动起来了!。
至此,Unity3D入门介绍完毕。