1、Project栏右键>Create>Material添加材质。

2、Project栏右键>Create> Physic Material添加物理材质(用于修改摩擦力)。

3、Global世界坐标系始终保持一个方向,Local自身坐标系会因旋转等操作改变xyz轴方向。

4、Inspector栏>Add Component>Physics>Rigidbody添加物理组件。

5、Rigidbody>Mess修改重力,Drag修改阻力。

6、Inspector栏>Add Component可直接通过输入名称定义脚本类名称,之后Project栏右键>Create新建脚本。

7、void Start运行之后第一时间执行,void Update每一帧执行。

8、控制物体运动:

(1)可以先定义一个速度。

(2)Rigidbody rig(相当于实例化)>在start方法中rig.GetComponent< Rigidbody >()获取对象身上组件>在Update定义两个变量获取横纵方向的“速度”,float h =Input.GetAxis(“Horizontal”);float v = Input.GetAxis(“Vertical”);

(3)不同的脚本:

rig.velocity = new Vector3(h,0,v);检测键值输入而移动

Rig.AddForce(h,0,v);更贴近物理引擎的受力运动

transform.Translate();纯粹的位移,没有滚动

transform.Translate(newVector3(h,0,v)*Time.deltaTime);可以按秒执行

(4) Edit>ProjectSettings>Input>Inspector栏>InputManager>Axes>Horizontal>通过修改Negative Button和Positive Button可以修改控制移动的键(Vertical同理,添加tag值后借此完成wasd和上下左右控制不同物体)

(5) InputManager中增加两个Cancel栏,作为第二个物体的控制键,注意这个修改的是Alt NegativeButton和Alt PositiveButton,同时第(2)条中括号内修改为新建的Cancel栏所给的名称。

9、预制件:游戏对象拖到Project栏,再拖回来,即为一组预制件。Inspector栏Apply键可以将一个的属性应用于所有一组的预制件。

10、void onCollisionEnter(Collision col)方法用于检测碰撞,括号内参数表示脚本控制的游戏对象碰到哪个对象,即传进来哪个对象。但是存在一点问题就是依然会存在物体碰撞瞬间应有的物理效果。

11、Destroy(col.gameObject);方法用于销毁组件。

this.gameObject.setActive(false);用于隐藏组件。

12、void onTriggerEnter(Collider other);方法则是用于检测触发,参数与碰撞一样。此外,这两者都有进入Enter,停留Stay,离开Exit三种不同的传参的时刻

13、简单的粒子效果:shape里修改散发形状,radius修改发射范围,Emission里Rate修改生成频率,以及LifeTime和Speed等属性。

14、Trail Renderer设置运动轨迹。

15、物体自主旋转:

transform.Translate(new Vector3(0,1,0),Space.World);沿世界坐标系y轴旋转,没有,Space.World则是沿自身坐标系旋转。

16、void onGUI()和Update一样的执行方法。

GUIStyle style = new GUIStyle();实例化以后设置用户界面。(一定程度可以参考C#的Wpf)