状態の複製

値の複製とは、他のマシン上における接続またはネットワーク上での値の複製を意味します。Boltでは、状態 を定義することで、ネットワーク上での送信されるべき重要な値を簡単に定義できます。

BoltEntity状態 の編集は オーナー のみ が行うことができます。オーナー以外の場所から情報の変更を行うと、ネットワーク上で値が複製されません。

Mecanim/状態の相互作用/状態プロパティの編集

状態が付与されたとき、忘れずにAnimatorまたはTransformをリンクしてください。例:(Bolt.EntityBehaviour<YourStateNameHere>から継承するスクリプト内で)

    public override void Attached ()
    {
      state.transform.SetTransforms(transform);
      state.SetAnimator(GetComponentInChildren<Animator>()); //Or wherever your animator is
    }

その後、状態プロパティが全てエディタ内で正しく設定されている場合、リンクされたプロパティを変更してください。Animatorが複製します。 エディタ内の、状態でのMecanimプロパティの例:

プロパティの変更を行います(Mecanimに特有のものではなく、あらゆるプロパティの変更に用いることができます)。Bolt.EntityBehaviour<YourStateNamehere>から継承しているスクリプト内で行って下さい。

state.RunningSpeed = currentSpeed;

コントローラーがコード(例:if(BoltNetwork.isOwner) loopに含まれるもの)を稼働している唯一のものである限り、Boltはその値をネットワーク上で複製します。また、状態プロパティが上記のように設定されていれば、Boltはそれをアニメーターに自動で渡します。

Back To Top

コントローラーへの複製

デフォルトでは、Boltはコントローラー ではない 全てのクライアントに対し値を複製します。コントローラーへの値の複製 を有効にするには、Bolt Editor で状態プロパティ内のJoystickアイコンを有効にする必要があります(Bolt 0.4以降)。

管理者への複製を使用する必要性

以下の場合には、使用する必要がありません。 

  1. コントローラーに完全な管理権を与えたいプロパティである場合
  2. resetState==trueであるExecuteCommand()内のサーバーまたはオーナーから結果的に受信する状態によってアップデートされるプロパティである場合

これに対し、以下の場合には使用する必要があります。

  1. コントローラーではなく、オーナーまたはサーバーが設定するプロパティである場合、コントローラー側でプロパティの値を受信するためにONにする必要があります

ドキュメントのトップへ戻る