概要

RigidbodyにあるMovePosition関数を使うと
Transform.Translateと同じ感覚で移動することができる
この関数で移動したオブジェクトは物理的なエネルギーを持つ
void MovePosition(Vector3 position);

移動する床とか、押し進める壁とか、
他のオブジェクトに対して、物理的な挙動を与える必要がある時に便利

サンプル

  //通常の移動
  public void Move(Vector3 Position)
    {
        GetComponent<Rigidbody>().MovePosition(transform.position + Position);
    }
  //座標指定で瞬時に移動する
    public void MovePosition(Vector3 Position)
    {
        GetComponent<Rigidbody>().MovePosition(Position);      
    }
  //移動量とスピードを加えてTime.deltaTimeを適応した速度で移動する。
    public void MoveAsDeltaTime(Vector3 Position, Vector3 Speed)
    {
        Move(Vector3.Scale(Position, Speed) * Time.deltaTime);
    }
  //上記から移動速度を省いたもの
    public void MoveAsDeltaTime(Vector3 Position)
    {
        Move(Position * Time.deltaTime);
    }

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Menu

メニュー

Grand Theft Auto V 更新停止

Unity5 更新停止

フリーエリア

© 僕の説明書おきばwiki All Rights Reserved.
当サイトの御利用につきまして
いかなるトラブルや
損失・損害等に一切責任を
問わないものとします。

Wiki内検索

管理人/副管理人のみ編集できます