Unityで3Dオブジェクトの色んな移動方法が確認できるシステム【Unityスクール】

Unityでオブジェクトを移動させるのに一般的な方法といえば、「transformによる移動」「Rigidbodyによる移動」「CharactorControllerによる移動」「Vectorによる移動」
だいたいこの4つが一般的なんじゃないかなーと思います。

一度に様々な移動方法が確認できれば便利じゃないかな?

ネットにもまだ無かったので、さまざまなオブジェクトの移動が確認できるシステムを作りました。

今回の使用したスクリプトは下記に記述したので、ぜひとも参考にして下さい。

開発環境

Unity 2020.1.f1 Personal

transformによる移動

オブジェクトの位置を直接書き換える方法。つまり、短いワープの連続でオブジェクトを動かしている。
そのためcolliderコンポーネントをアタッチしている場合、衝突判定をすり抜ける場合がある。
個人的にはあまりおススメできない移動方法。

transform.position

transform.translate

Rigidbodyによる移動

Rigdbodyコンポーネントをアタッチが必要。
今回は下記のように設定しました。

Rigidbody.AddForce

Rigidbody.velocity

Rigidbody.MovePosition

CharactorControllerによる移動

CharactorControllerコンポーネントのアタッチが必要
今回は以下のように設定しました。

rigidbodyに影響されずにゲームオブジェクトを操作できる。つまり、重力などの物理演算がきかなくなります。

CharactorController.SimpleMove

CharactorController.Move

Vectorによる移動

指定の位置まで一定速度で移動させる。

Vector3.MoveTowards

Vector3.Lerp(Vector3.Slerp)

まとめ

Unityでよく使われる移動方法について紹介しました。

どんな移動方法が良いか決める時の参考にしてみてください。

紹介した以外にオブジェクトの動かし方はあるので、自分に合ったものを見つけてくださいね。

それでは素敵なUnityゲーム開発ライフをー^^

参考URL:Unityでキャラクターを移動させる方法【3D編】

おすすめ記事 Unityは独学で勉強できる?【効果的なUnityの勉強法】

おすすめ記事【現役Unityエンジニアが厳選】Unityを学ぶのにおすすめのプログラミングスクール2選

おすすめのUnityスクール

Unityが学べるおすすめのプログラミングスクールはTECH STUDIAMになります。

理由はゲーム開発に特化したプログラミングスクールであり、2ヶ月で9万円の授業料で他のプログラミングスクールに比べても安いからです。

興味のある方は、無料相談してみるのをオススメます。

ゲーム制作を学べるオンラインスクール TECH STUDIAM

Follow me!