获取组件
gameObject.getComponent<组件>(); gameObject.getComponent(typeof(组件)) as 组件;//利用反射获取,javascript与c#通信
添加组件
gameObject.AddComponent<组件>();
Component.enable=true/false;//激活或不激活组件 gameObject.SetActive(true/false);//激活或取消激活GameObject void OnEnable() //当组件激活时调用 void OnDisable() //当组件不可用时调用 void Destroy() //当组件被销毁时调用 //OnEnable和OnDisable可多次调用 //编辑器结束运行时,会触发OnDisable和Destroy void OnCollisionEnter/Stay/Exit() 物理碰撞回调函数,需要运动的一方带有Rigidbody组件/Collision void OnTriggerEnter/Stay/Exit() 触发回调函数,isTrigger勾选时,不进行物理模拟/Collider collision.contacts //获取碰撞点
通过名字 GameObject.Find("名字");
通过标签 GameObject.FindGameObjectsWithTag()
声明变量为public
特性[serializeField]
不显示[HideInspector]
[System.Serializable]对类等数据变量集进行序列化
In Editor Mode : Reset()
Startup : Awake()->onEnable()->Start()
Updates : FixedUpdate()->yield WaitForFixedUpdate()->Update()->yield null and WaitForSeconds->LateUpdate()
Rendering:......
GUI:OnGUI()
Teardown : OnDisable(),OnDestroy()
Awake和Start都是只调用一次的方法
Awake初始化方法,当脚本组件不可用时,还是会调用,Start则不会。一般用来创建变量
Start一般用于给变量赋值,当脚本组件不可用时,则不调用。
Update每帧调用一次,一般用于非物理运动。
FixedUpdate每隔固定时间调用一次,一般用于物理运动
Time.deltaTime代表的是执行本函数距离上一次调用的时间间隔
print(...); Debug.Log(...);//白色 Debug.LogWarring(...);//黄色 Debug.LogError(...);//红色
Directional Light 平行光(太阳)
Point Light 点光源(有范围)
Spot Light 光束(聚光灯)
Area Light 区域光(用于烘焙)
除了平行光,其他光源如果要用阴影的话要调成延迟渲染
右键+WSAD 前后左右漫游场景
QE 上下
Move to view 移动到视图中心
Align With View 移动物体到观察位置
Align View to Selected 以这物体为观察位置
W移动
E旋转
R缩放
T矩形
Snap Settings 固定位移移动旋转缩放物体
或ctrl+移动(w)等,定量移动