スタートガイド
KCCプレハブバリアントからキャラクターを作成
独自キャラクターを作成する最も簡単な方法は、デフォルトKCCプレハブからプレハブバリアントを作成することです。
KCCプレハブ(Assets/Photon/QuantumAddons/KCC/AssetDB/Entities)を右クリックします。Create > Prefab Variantを選択します。
- 自由に視覚要素や独自コンポーネントを追加します。
- これで使用する準備が整いました。キャラクターの移動に進んでください。
新規でキャラクターを作成
- 新しいプレイヤーのプレハブを作成します。
Quantum Entity ViewとQ Prototype KCCコンポーネントを、ルートのゲームオブジェクトに追加します。任意でCapsule Colliderも追加します。
- ゲームオブジェクトを調整します。
- (任意で)ゲームオブジェクトのレイヤーを設定します。
Quantum Entity ViewのBind BehaviourをVerifiedに設定します。Quantum Entity PrototypeのTransformを3Dに設定します。PhysicsCollider3Dを有効にして、(任意で作成した)Capsule ColliderをSourceColliderに設定します。Q Prototype KCCにKCC Settingsアセットの参照を設定します。
- これで使用する準備が整いました。キャラクターの移動に進んでください。
KCC挙動の調整
KCCアドオンには、調整済みアセットがいくつか含まれています。
Assets/Photon/QuantumAddons/KCC/AssetDB/KCCSettings.assetを選択して、デフォルト値(Radius・Height・Collision Layer Maskなど)を調整します。これらは、上記で作成したCapsule Colliderの値と一致させる必要があります。
- 新しい
KCC Settingsアセットを作成する場合は、KCC Processorをリンクしてください。これが実際の移動ロジックを担当します。詳細はProcessorセクションをご覧ください。デフォルトのProcessorはAssets/Photon/QuantumAddons/KCC/AssetDB/Processorsにあります。
キャラクターの移動
移動はKCCコンポーネント更新時に処理されます。これはKCC Systemによって管理されるため、システムをSystems Configに追加する必要があります。
以下のコード例は、KCCキャラクターの回転方向と入力方向を設定して、その後にEnvironmentProcessor(または独自Processor)で処理しています。
C#
public unsafe class PlayerSystem : SystemMainThreadFilter<PlayerSystem.Filter>
{
public struct Filter
{
public EntityRef Entity;
public Player* Player;
public KCC* KCC;
}
public override void Update(Frame frame, ref Filter filter)
{
Player* player = filter.Player;
if (player->PlayerRef.IsValid == false)
return;
KCC* kcc = filter.KCC;
Input* input = frame.GetPlayerInput(player->PlayerRef);
kcc->AddLookRotation(input->LookRotationDelta.X, input->LookRotationDelta.Y);
kcc->SetInputDirection(kcc->Data.TransformRotation * input->MoveDirection.XOY);
if (input->Jump.WasPressed == true && kcc->IsGrounded == true)
{
kcc->Jump(FPVector3.Up * player->JumpForce);
}
}
}
Processor機能を完全にスキップし、単純にkcc->SetKinematicVelocity();を使用して速度を設定することもできます。
その他の移動コード例は、サンプルプロジェクトをご覧ください。
Back to top