【Unity】壁の移動処理で悩む
前回、Rayの設定まで出来たので、
キャラクターの移動処理を考え行きます。
横スクロールのアクションと言う事で、
横に移動しながら、ジャンプ・壁を登る・スライディング・落下
こんな動きを実装したいなと考えています。
そこで、キャラクターを移動させる方法を勉強してみたいと思います。
簡単に移動実装させるならCharacterControllerがあるみたいですが、
折角なんで自前で考えてみようと思います。
ちなみにAndroidアプリを意識しているので、
横移動は、強制的に右移動させる予定です。
まず移動処理なんですが、今まではTransformを使っていました。
しかし、Rigidbodyを積んでるキャラには使えないって言うか向いてません。
なぜかと言うと、Transformは座標移動を強制的に行うので、
物理計算が効きません。
単純に言うと壁をすり抜けたりします。
また、Transform移動中でも物理計算が行われている為、
物理計算の移動と違う移動量だと物理計算が再計算を繰り返す為、
リソースを取るんだとか、
なのでTransformを使う場合はKinematicにする必要があります。
アクション系は、物理計算を使いたいので、
Transformは封印して、違う方法を探す事に…
Google先生に聞いたところ、
Rigidbodyには、直接移動命令を出す事ができるって事です。
これなら物理計算の恩恵を受け…