Finalyoutu.be目標2つのデバイスタイプ間で共同作業の体験をつくりますビルドするもの第4章に基づいています。島内のパズルにImmersiveデバイスユーザーが近づくと,HoloLensユーザーはパズルを解くヒントツールを取得します。pad"にたどり着くと,ロケットが発射されます。Collaborationにチェックを入れるコードを理解するLevelControl.csを見てみましょう。このスクリプトはゲームロジックのコアであり,ゲーム状態を保持しています。UNETを利用したマルチプレイヤーゲームなので,少なくともチュートリアルを修正できるようにデータがどのように流れているか理解する必要があります。Assets\AppPrefabs\Support\Scripts\GameLogicからLevelControl.csをダブルクリックして開いてください。Immersiveデバイスがどのようにロケットを発射する準備をするか理解しましょう。ロケットの発射準備は,島の3つの道に対応するそれぞれのboolのうちの一つを設定すると伝達されます。ユーザーが道に配置された時に設定される道のbool値はロケットルーム内の茶色いパッド上にあります。それでは,詳細に移りましょう。Update関数から始めます。'チート'機能があることに気が付くでしょう。これは開発中に,ロケット発射をテストし,またシーケンスをリセットするために使われます。これはマルチユーザー体験では機能しません。上手くいけば,次の情報を内部化する時までに、それを機能させることができます。チートすべきかどうかを確認した後,ローカルプレイヤーが没入しているかを確認します。ゴールにしたことを検出するをに焦点を当てます。中でCheckGoalの呼び出しがあります。これは,この章のステップを完了している間にチェックされたチェックボックスに関与します。内部では,CheckGoal()を呼んでいることが確認できます。パッド上に多かれ少なかれ立っているかどうかを確認するための計算をしています。goal"とSendAtGoalMessage()を呼び出します。playerController.SendAtGoalを呼び出します。時間を省くためにここにコードを載せます。内SendAtGoalMessageがLevelControl.csの背後でlevelState.SetGoalIndexを呼び出すCmdSendAtGoalを呼んでいることに注目してください。これは奇妙に見えるでしょう。SetGoalIndexを呼ぶのではなくプレイヤーコントローラーを介したこの奇妙なルーティングなのでしょう?この理由は,同期するデータを保持するためUNETが使用するデータモデルに準拠しているからです。不正行為やスラッシングを防ぐため,UNETは各オブジェクトにどのユーザーが同期中の変数を変更可能な権利を有するかを確認します。ホスト(セッションを開始したユーザー)のみがデータを直接変更することができます。ホストではないユーザーは権利は持つも,変数を変更できるホストにコマンドを送る必要があります。デフォルトではホストはユーザーを示すオブジェクトを除いた全てのオブジェクトに対して権限を持ちます。スクリプトを持っています。オブジェクトに対する権限を要求し変更する方法もありますが,プレイヤーコントローラには自身の権限とプレイヤーコントローラを介したルートコマンドがあるという優位性を選択します。言い換えれば,自分の目標に到達したら,プレイヤーはホストに通知する必要があり,ホストは他のユーザーに通知する必要があるということです。LevelControl.csの背後では,SetGoalIndexを見ています。(AtGoal)の変数の値を設定します。この操作をする間,ホストであるということに気を留めておいてください。コマンドと同様に,PRCはホストが発行できるものであり,全てのクライアントにいくつかのコードを実行させます。ここでは”RpcCheckAllGoals”と呼びましょう。設定されているかを確認し,そうであればロケットを発射します。進捗を楽しむ前章に基づき,同様にセッションを開始します。今回は,Immersiveデバイスユーザーとして道上の"扉"に辿り着くと,ツールがHoloLensユーザーだけに現れます。HoloLensユーザーはImmersiveデバイスユーザーにヒントを伝える責任があります。ロケットはアバターが火山内の対応する茶色いパッドを踏んだ後に宇宙へ向かって発射します。このシーンは60秒後にリセットされ,再度挑戦できます。ウィジェット[デコシノニッキ]は、Amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイト宣伝プログラムである、Amazonアソシエイト・プログラムの参加者です。」はてなブログをはじめよう!haikage1755さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。