OOIII/

Rigidbody.velocity与Rigidbody.AddForce区别

  1. Rigidbody.velocity返回值是vector3类型,Rigidbody.AddForce无返回值
  2. velocity是rigidbody的成员属性,而addforce是rigidbody的成员函数
  3. 设置rigidbody的velocity后,物体的速度就不会收到其他力作用的影响,一直保持这个速度;addforce是指给物体施加力,同时还会收到其他力的影响,因此速度会发生变化。

下面为测试代码,可以设置子弹的阻力及重力来观察试验效果

#pragma strict
//发射点
 var FirePonit:Transform;
 var FirePonit1:Transform;
 //子弹
 var Bullet:Rigidbody;
 var Bullet1:Rigidbody;
private var clone:Rigidbody;
private var clone1:Rigidbody;

function Start () {
    //实例化
   clone=Instantiate(Bullet,FirePonit.position,FirePonit.rotation);
    //实例化
   clone1=Instantiate(Bullet1,FirePonit1.position,FirePonit1.rotation);
}
function Update () {
   //向前运动
   clone.velocity=transform.TransformDirection(Vector3.forward*2);
   //向前运动
	clone1.AddForce(Vector3.forward*100);
   Debug.Log(clone.velocity.z+"----"+clone1.velocity.z);
 }