Unity3D学习笔记_离散仿真引擎
02-01 GameObject 练习
使用 菜单 -> GameObject -> 3D Object -> Cube 或 在层次视图点右键(上下文菜单 -> 3D Object -> Cube) 使用 菜单 -> Assets -> Create -> Material 或 项目视图(Assets)的上下文菜单 -> Create -> Material 拖动(Drag) RedMaterial 放落(Drop)Cube(层次视图或场景视图)上,Cube变成红色。 点击工具栏 Play 按钮运行游戏,游戏视图出现(正是摄像机拍摄到的内容) 再点 Play 按钮 终止游戏
02-03 c# Script 编写练习
在资源视图创建一个脚本。上下文菜单 -> Create -> c# script 修改脚本名称 FirstBeh。然后双击它,编辑它。 修改代码如下:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class FisrtBeh : MonoBehaviour {
void Start () {
Debug.Log("This Start!");
}
void Update () {
}
void OnEnable () {
Debug.Log("This Enabled!");
}
void OnDisable () {
Debug.Log("This Disabled!");
}
}
在勾、取Cube或者脚本对象的时候,log就会产生。
关于脚本函数的一些说明:
02-04 创建 Primitive 游戏对象
为了更好地观察,先把刚刚我们人手创建的Cube删掉,并且对刚刚建立的C#脚本修改Start函数:
void Start () {
print("hello!");
GameObject cube = GameObject.CreatePrimitive(PrimitiveType.Cube);
cube.name = "a cube";
cube.transform.position = new Vector3(0, Random.Range(0,5), 0);
cube.transform.parent = this.transform;
}
然后挂载给镜头main camera,运行。 运行前场景内是空的,但是运行后就会多出一个Cube,而停止之后这个Cube又会消失。
02-05 创建 Prefabs
新键两个Cube,分别命名为table和chair,并且赋予material和修改Transform。 然后把chair拖拉到table: 这样chair就编程了talbe的子对象,多复制几个chair,之后把table拖拉到assets中,这一组对象就变成了一个预制:
02-07 从预制创建游戏对象
为了更好观察,删掉刚刚的table对象(不是预制)。 首先创建一个空对象,以及一个新的脚本。 脚本的内容如下:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class LoadBeh : MonoBehaviour {
public Transform res;
void Start () {
GameObject newobj = Instantiate<Transform> (res, this.transform).gameObject;
newobj.transform.position = new Vector3 (0, Random.Range (-5, 5), 0);
}
}
运行之后就可以看到场景中多了table预制,停止之后对象也会消失。
|