サーバスクリプトからキューブの色を同期しようとしています。私はそれにネットワーク変換とネットワークアイデンティティのコンポーネントを持っていて、同期の作業を変換して、色を同期する必要があります。私はNetwork Materialコンポーネントのようなものが必要ですか、それ以外はどうすればいいですか?ありがとう:)(私はあなたが私が英語のため申し訳ありませんが、何を意味するかだ願っています。)Unity 5ネットワークカラー同期
2
A
答えて
1
あなたはSyncVar属性を使用して値を同期することができます。これは、クライアントとサーバー上のsyncronized変更を保持します
[SyncVar]
Color myColor;
。しかし、これはあなたのクラスのカラータイプのフィールドに過ぎず、レンダリングの色は実際には変更されません。
レンダリングの色をUpdateコールバックのmyColor
の値に変更できますが、色が変更されていなくても更新されます。
最善のアプローチは、フックを使用して次のようになります。
[SyncVar (hook = "OnColorChanged")]
Color myColor;
これは、関数に色が更新されるたびに「OnColorChanged」を呼び出します。このような
何か(あなたがSpriteRendersで作業している場合)動作するはずです:
[SyncVar (hook = "OnColorChanged")]
Color myColor;
void OnColorChanged(Color value)
{
myColor = value;
GetComponent<SpriteRenderer>().color = myColor;
}
関連する問題
- 1. Unity 5、destroy(game.Object)
- 2. AndroidドラッグスプライトコードUnity 5
- 3. C#5と非同期タイマー
- 4. Unity AddExplosionForceはネットワークマネージャーと同期します
- 5. Unity 5でピンチトゥーズームUI
- 6. Unity 5 2DArray、Object pooling
- 7. Unity 5 - Unityカメラからスマートフォンへ
- 8. バージョン5へのUnity DIアップデート
- 9. Unity 5 NetworkManager StartHost&StartClientのプロパティ
- 10. Unity 5 fpscontroller奇妙なエラー
- 11. Missing android manifest unity 5 mopub integration
- 12. Unet/Unity 5の別のインタラクティブオブジェクトから変更された非プレイヤオブジェクトのトランスフォームを同期しますか?
- 13. Photonオブジェクトは同期していません - Unity
- 14. ユニティのUnity 3D非同期ポーリング外部ハードウェア
- 15. Unity非同期および/またはコルーチン実装?
- 16. Unity 5でUnity Test Toolsを設定するには
- 17. Unity Container 2.0からUnity Container 5への移行
- 18. タイプ/モジュールの非同期初期化のためのUnityの設定方法
- 19. Unityネットワーキング:同時ユーザ
- 20. Admob Unity 5リワードビデオ/インタースティシャル間違ったオリエンテーション
- 21. Unity 5ローテーションによる回転制御
- 22. Unity 5のグラフィックの不具合
- 23. Unity 5のはしごのバグ
- 24. Unity 5シーンのUIテキストのバグ
- 25. Unity 5でHazelcastクライアントを使用
- 26. Unity 5 GUIエレメントを無効にする
- 27. unity 5リストから削除する
- 28. Unity 5 - Physics.OverlapSphereが機能しない
- 29. Rails 5のテストデータベースが開発と同期していない
- 30. rxjs @ 5で非同期パイプを作る方法は?
は、あなたの答えをありがとう、私は私のクライアントとネットワークスクリプトにこのコードを追加したが、私はこのエラーを取得していますUNetWeaverエラー:スクリプトUnityEngine.Networking.ConnectClientは[SyncVar] myColorを使用しますが、NetworkBehaviourではありません。 – sudoman281
Classを宣言するとき、通常はMonoBehaviourから派生しますが、SyncVarを動作させるにはNetworkBehaviourから派生する必要があります。クラス宣言を 'public Class myClass:MonoBehaviour'から' public Class myClass:NetworkBehaviour'に変更してください。 – Leo
MonoBehaviourをNetworkに変更していただきありがとうございます。しかし、私の立方体は色を変えない。私のコード:http://pastebin.com/TAStVciy – sudoman281