力を利用して物体を動かす


//出所はゴールドメタルの講座!
Rigid Body素子

  • 物理的な力を加えるために必要です.

  • Start関数でリジッドボディの速度に値を指定すると、オブジェクトの位置変化率が適用されます.
    衝突した物体がなければ、その変化率は維持されます.
  • RigidBodyに関連するコードはFixedUpdateで使用されます.
    Rigidbody rigid;
    
        void Start()
        {        
            rigid = GetComponent<Rigidbody>();
            rigid.velocity = Vector3.left;
        }
    Rigidbody変化値は、UpdateではなくFixedUpdateによって作成されます.
    力を入れてみる.
    1) AddForce
    Rigidbody rigid;
    
        void Start()
        {        
            rigid = GetComponent<Rigidbody>();
            
            //AddForce(vec) : vec의 방향과 크기로 힘을 줌.
            //RigidBody의 Mass 값에 영향을 받는다.
            //Impulse는 고정되어 있는 물체에 적용해야 한다. 
            rigid.AddForce(Vector3.up * 5, ForceMode.Impulse);
    
        }
    回転で力を加える.
    AddTorque(vec):vec方向に回転力が発生します.
    void FixedUpdate()
        {       
            //회전력 가하기 
            //AddTorque(vec) : vec방향을 축으로 회전력이 생김.
            rigid.AddTorque(Vector3.back);
    		=> 뒷방향으로 회전이 되면서 뒤로 회전하면서 이동하게 된다. 
        }