Rigibody刚体,物理引擎的体现。,有了刚体属性的物体,就可以用代码给施加力。
this.gameObject.rigidbody.AddForce(new Vector3(1, 1, 0), ForceMode.Impulse);//Impulse表示冲击力
碰撞检测:当碰撞的两个物体都有collider属性且至少一个有rigidbody属性时,就可以发生碰撞检测。
三种碰撞状态
void OnCollisionEnter(Collision collision)//进入碰撞
{
// collision.collider.gameObject指的是被碰撞的物体
}
void OnCollisionStay(Collision collision)//碰撞中
{
}
void OnCollisionExit(Collision collision)//碰撞结束
{
}
射线:用射线来计算鼠标点击的三维物体是二维视窗中的哪个。
以主摄像机位置为起点,向鼠标点击位置发射射线,碰到的第一个物体即为鼠标要选定的对象。
void Update () {
if (Input.GetMouseButtonDown(0))//鼠标左键按下
{
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);//摄像机到鼠标点作射线
RaycastHit hit;//用来保存射线击中
if (Physics.Raycast(ray, out hit))
{
//此时hit.collider.gameObject保存被击中的对象
}
}
}
另外Physics.RaycastAll可以返回射线穿过的所有射线
粒子系统Particle System一般用来制作一些特效,该系统属性如下