一、子弹移动
游戏物体移动最主要的是获取一个刚体组件,再对这个刚体组件添加一个向前的力;
具体代码:
public class BulletCtrl : MonoBehaviour
{
    public int damage = 20;
    public float speed = 1000.0F;
    void Start()
    {
        GetComponent<Rigidbody>().AddForce(transform.forward * speed);
    }
}
二、设置物理引擎属性
Edit--->Project Settings--->Physics--->Physics Manager。
三、Collider组件
Box Collider、Sphere Collider、Capsule Collider、Mesh Collider、Wheel Collider、Terrain Collider。
四、碰撞感知条件
1)两个碰撞物体必须都有Collider组件
2)其中移动物体还必须有Rigidboby组件
最后补充一点:触发器是碰撞体的一个属性,如果进行触发检测,就可以实现穿透。
五、Tag应用
Add Tag
具体代码:
public class WallCtrl : MonoBehaviour
{
    void OnCollisionEnter(Collision coll)
    {
        if (coll.collider.tag == "BULLET")
        {
            Destroy(coll.gameObject);
        }
    }
}
如果检查到标签为bullet,则销毁游戏对象。
六、获取子弹位置
public class MyGizmo : MonoBehaviour
{
    public Color _color = Color.yellow;
    public float _radius = 0.1F;
    void OnDrawGizmos()
    {
        Gizmos.color = _color;
        Gizmos.DrawSphere(transform.position, _radius);
    }
}
七、子弹发射
public class FireCtrl : MonoBehaviour
{
    public GameObject bullet;
    public Transform firePos;
    void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {
            Fire();
        }
    }
    void Fire()
    {
        CreateBullet();
    }
    void CreateBullet()
    {
        Instantiate(bullet, firePos.position, firePos.rotation);
    }
}
 
  
  
  
 
 
  
 
 
 
 
 