本日は 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 の数値を上げてみると大ジャンプが行えるようになります。