MRが楽しい

MRやVRについて学習したことを書き残す

UnityのStarterAssetsの三人称プロジェクトのキャラクター操作コンポーネントをカスタマイズする

本日は Unity の小ネタ枠です。
Unity の StarterAssets の三人称プロジェクトのキャラクター操作コンポーネントをカスタマイズする方法を記事にします。

前提条件

三人称の StarterAssets のインポート手順は以下の記事を参照ください。
bluebirdofoz.hatenablog.com

ThirdPersonController

ThirdPersonController コンポーネントは StarterAssets に含まれる三人称視点のキャラクターを操作するためのコンポーネントです。
コンポーネントの設定を変更してキャラクターの移動速度やジャンプの高さ、接地判定やカメラの一部動作設定を変更できます。

ThirdPersonController コンポーネントで Inspector ビューから変更可能な各種フィールドとその効果について以下に確認したものを記述します。

操作キャラクター項目(Player)

項目名 説明
MoveSpeed キャラクターの歩き速度(m/s)
SprintSpeed キャラクターの走り速度(m/s)
RotationSmoothTime キャラクターが移動方向を変える速さ
SpeedChangeRate 加速と減速レート
LandingAudioClip 着地時の音
FootstepAudioClips 足音(複数登録時は一歩ごとにランダム再生)
FootstepAudioVolume 足音の音量
JumpHeight キャラクターがジャンプできる高さ
Gravity キャラクターの独自の重力値(Unityのデフォルトは-9.81f)
JumpTimeout 着地から再ジャンプできるまでの時間(0fで即座に再ジャンプ可能)
FallTimeout 落下状態(InAir)に入るまでの所要時間(階段での誤判定を防ぐ)

接地判定(PlayerGrounded)

項目名 説明
Grounded キャラクターが接地中か(CharacterControllerの接地チェックとは別)
GroundedOffset 不整地で接地判定を行うための調整用オフセット
GroundedRadius 接地チェックの半径(CharacterControllerのRadiusと一致する必要あり)
GroundLayers キャラクターが接地判定に使うオブジェクトのレイヤー種別

カメラ設定(Cinemachine)

項目名 説明
CinemachineCameraTarget CinemachineVirtualCameraに設定したカメラが追従するターゲット
TopClamp 何度までカメラを上に向けられるか
BottomClamp 何度までカメラを下に向けられるか
CameraAngleOverride カメラに上書きする追加の角度(LockCameraPosition有効時の微調整に利用する)
LockCameraPosition 全軸のカメラの回転をロックする

設定例

例えばシーン再生中に LockCameraPosition を有効にするとカメラの回転が固定されたまま、キャラクターを追従するようになります。