アクションゲームでよくある、あの動く足場。
調べる前に手を動かすと、スクリプトに書いちゃうやつ。
Unityだと簡単にできます。
UnityはGameObjectを入れ子にできます。
子にされたGameObjectの位置は、親のGameObjectの位置に対して相対位置になります。
つまるところ、動く足場の子要素にすると、一緒に動くので目的を達成できます。
残りは、どうやってプレイ中に動く足場の子要素にするか、という話になりますが、そこはちゃんと用意されています。
- 子要素にする
子要素にしたいGameObjectのTransform.SetParent(親要素のTransoform) - 子要素から外す
子要素から外す場合は、親の代わりにnullを渡す
最後にこの方法の欠点です。
親要素が重力加速度より速い速度で落下しても、上に載っている物体は置いて行かれません。物理的にリアルなゲームにしたい場合は、この挙動は不自然になります。