This document is about: FUSION 2
SWITCH TO

Creating Character

KCC プレハブバリアント

カスタムキャラクターを作成する最も簡単な方法は、デフォルトの KCC プレハブからプレハブバリアントを作成することです。

  1. KCC プレハブを右クリックします (Assets/Photon/FusionAddons/KCC/Prefabs 内)。
  2. Create > Prefab Variant を選択します。
create prefab variant
Create KCC prefab variant
3. 必要に応じて `KCC` の設定 (半径、高さ、コリジョンマスク、...) を行います。詳細は [KCC Settings](/ja-jp/fusion/addons/advanced-kcc/data-layer#kcc_settings) セクションを参照してください。
configure prefab variant
Configure KCC prefab variant
4. カプセルのビジュアルを独自のビジュアルに置き換え、カスタムコンポーネントを追加します。 5. キャラクターが使えるようになります。キャラクターの移動](~~~/addons/advanced-kcc/creating-character#moving_the_character)を続けてください。

ゼロからキャラクターを作成する

  1. 新しいプレイヤープレハブを作成します。
create player prefab
Create player prefab
  1. ルートゲームオブジェクトに NetworkObjectRigidbodyKCC コンポーネントを追加します。
add components
Add components to player prefab
  1. RigidbodyコンポーネントのIs Kinematicオプションを有効にします。
  2. 必要に応じて KCC の設定(半径、高さ、コリジョンマスクなど)を行います。詳細はKCC Settingsを参照してください。
configure player prefab
Configure player prefab
  1. ビジュアルとその他のコンポーネントを追加します。
  2. キャラクターが使えるようになりました。キャラクターの移動で続行してください。
link default processors
Link processors
  1. ビジュアルとその他のコンポーネントを追加します。
  2. キャラクターが使えるようになりました。キャラクターの移動で続行してください。

キャラクターの移動

以下のコード例では、KCCの文字ルックの回転と入力方向を設定し、後にEnvironmentProcessorで処理します。

C#

public override void FixedUpdateNetwork()
{
    if (Runner.TryGetInputForPlayer(Object.InputAuthority, out BasicInput input) == true)
    {
        // Apply look rotation delta. This propagates to Transform component immediately.
        KCC.AddLookRotation(input.LookRotationDelta);

        // Set world space input direction. This value is processed later when KCC executes its FixedUpdateNetwork().
        // By default the value is processed by EnvironmentProcessor - which defines base character speed, handles acceleration/friction, gravity and many other features.
        Vector3 inputDirection = KCC.Data.TransformRotation * new Vector3(input.MoveDirection.x, 0.0f, input.MoveDirection.y);
        KCC.SetInputDirection(inputDirection);
    }
}

KCC.SetKinematicVelocity();を使って、プロセッサを完全にスキップして速度だけを設定することも可能です。

サンプルプロジェクトにはさらに多くの動きのコード例があります。

Back to top