Unity開発で、しばしば困るのが、床が動く場合の処理です。主人公が動く床の上に乗ったら、床と一緒に動くようにしなければいけませんが、みーはこのように実装しました。
- 床が1フレームで移動したベクトルを取得する
- 主人公をそのベクトルだけ移動させる
Boo で記述するとこんな感じです。
//動く床のTriggerに対して import UnityEngine class floatingIsland (MonoBehaviour): pos as Vector3 def Start (): pass def Update (): pass def OnTriggerEnter(other as Collider) : pos = transform.position def OnTriggerStay(other as Collider) : other.transform.position += transform.position-pos pos = transform.position