MRが楽しい

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

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

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

前提条件

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

FirstPersonController

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

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

プレイヤー項目(Player)

項目名 説明
MoveSpeed プレイヤーの歩き速度(m/s)
SprintSpeed プレイヤーの走り速度(m/s)
RotationSmoothTime プレイヤーが移動方向を変える速さ
SpeedChangeRate 加速と減速レート
JumpHeight プレイヤーがジャンプできる高さ
Gravity プレイヤーの独自の重力値(Unityのデフォルトは-9.81f)
JumpTimeout 着地から再ジャンプできるまでの時間(0fで即座に再ジャンプ可能)
FallTimeout 落下状態に入るまでの所要時間(一人称はアニメーションがないため効果なし)

接地判定(PlayerGrounded)

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

カメラ設定(Cinemachine)

項目名 説明
CinemachineCameraTarget CinemachineVirtualCameraに設定したカメラが追従するターゲット
TopClamp 何度までカメラを上に向けられるか
BottomClamp 何度までカメラを下に向けられるか

設定例

例えばシーン再生中に JumpHeight の数値を上げてみると大ジャンプが行えるようになります。