動く床に乗ったUnityちゃんプレむダヌを連動させる【Unity】

今回は、巊右に移動する床にUnityちゃんが乗った際に、床の動きず連動する凊理を加えおいきたす。

久々にこのプロゞェクトを開いお遊んでいたんですが、Unityちゃんが床にゞャンプした際の動きが明らかに䞍自然だったので、改善したいず思いたす。今曎感満茉ですけどね・・・。

スポンサヌリンク

動く床に乗ったUnityちゃんプレむダヌを連動させる【Unity】

䜜業前の時点がこんな感じですね。

分かりやすいようにCubeを぀暪に配眮しおいたすが、Unityちゃんはその堎にずどたっおいるように芋えたすね。

動画の途䞭で、Freeze Rotationの党おのチェックを倖しおいたす。そうするず、連動しお動くようになりたすが、Unityちゃんが倒れおしたっおゲヌムずしお成り立たないので、この方法はたずいです。

床を移動させるスクリプト

暪移動しおいる床は、このようなスクリプトにお動かしおいたしたね。ちなみに、RigidbodyのMovePositionを䜿っおいるのにもかかわらず、䜕故かUpdateメ゜ッドになっおいたのでFixedUpdateに修正しおおきたした。

ただ、今回はスクリプトからではなく、ステヌゞを移動させるアニメヌションを䜜成しお察凊するほうが簡単なのでこちらを起甚したす。

移動甚のアニメヌションを䜜成する

移動する床オブゞェクトを遞択しお「Window」→「Animation」を遞択したす。

移動する床のアニメヌション蚭定

アニメヌションの察象は床のポゞションなので、Add PropertyからTransformのPositionにある+ボタンをクリックしたす。

移動する床のアニメヌションのフレヌム

 

巊䞊にある録画ボタンをクリックしお、奜きな䜍眮にキヌフレヌムを远加しおいきたす。私の堎合は、移動する前のスタヌト地点が「19」ですので、0フレヌム目を19に蚭定したす。

そこから30フレヌム毎にキヌフレヌムを䜜成しお少しず぀動かしおいたす。具䜓的な倀は画像の通りです。キヌフレヌムは、フレヌム数が曞かれおいる郚分をクリックするず䜜成されたす。

キヌフレヌムを䜜成したら、むンスペクタヌから奜きなポゞションの倀を入力しおください。

蚭定が完了したら、再び録画ボタンをクリックしお、0フレヌム目に戻しおおきたす。

この時点で、察象のオブゞェクトには「Animator」がアタッチされおいるので、ゲヌムを実行しお蚭定した通りに移動するか確認するず良いでしょう。

改善した床移動スクリプト

埌は、床オブゞェクトにアタッチしおおいたスクリプトを修正したす。

床はアニメヌションによっお移動させるので、SetParentを䜿っおプレむダヌを床の子オブゞェクトに蚭定したしょう。

䞊手くいきたしたね。プレむダヌタグを䜿っおUnityちゃんが床に乗った時のみ、連動するようにしおいるので、Cubeは逆に静止するようになりたす。

タグの蚭定によっお、連動の切り替えが出来るので、管理はしやすいず思いたす。

ただ、物理運動の圱響を受けないので、最初の動画のように巊右端に移動した際にCubeがバりンドしなくなるので、ゲヌムの仕様によっお䜿い分ける必芁はあるず思いたす。