本日は 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 を有効にするとカメラの回転が固定されたまま、キャラクターを追従するようになります。