次の方法で共有


Microsoft Mesh ツールキットのサンプル: Pavilion

Mesh Pavillion サンプルを使用すると、Mesh ツールキットに見られるインタラクティブなアクティビティやさまざまなアセットを含む環境を作成できます。 シンプルで高性能な設計が特徴です。 Pavilion Unity プロジェクトには、2 つのシーンが含まれています。

MeshPavillion_Samples シーン

このシーンには、Toybox パッケージで見られたオブジェクトから構築されたアクティビティ、Control Samples パッケージの球体、さまざまなアート アセット、独自の環境に引き込むことができる画面共有などの Mesh ツールキット機能があります。

シーン内に見られるアクティビティとインタラクティブなオブジェクトの一部を次に示します。 画像の拡大バージョンを表示するには、画像をクリックしてください。

Pavilion サンプルのキャンプファイア アクティビティのスクリーン ショット。________

________________

________________


アクティビティ

次の画像は、シーン内のさまざまなアクティビティを見つけるのに役立ちます。

______

  1. お手玉投げ
  2. マシュマロ ローストありのファイア ピット
  3. 滝 (ウォーター シェーダー)
  4. アイス ブレーカー
  5. ラジオ
  6. 画面共有
  7. 球の彫刻
  8. 太陽系
  9. Globe

シーンの至る所に分布する植物やシェーダーなどのアート アセットもあります。

  • お手玉投げ

これは、ゲーム要素をプロジェクトに追加することで、友好的な競争を通じてソーシャルなインタラクションとチームビルディングを促進できる、楽しいアクティビティです。 お手玉は、複数のオブジェクト変数がアタッチされたビジュアル スクリプトを持つインタラクション可能物およびリジットボディです。 あるターゲットのセットには、穴が回転するアニメーションがアタッチされています (オブジェクト名: Rotation)。 お手玉が穴に落ちることで "スコア" が付くと、粒子システム コンポーネントによって "勝利" のビジュアル キュー (オブジェクト名: vfx_beanbag_score_001) が生成されます。

  • ファイア ピットとマシュマロ ロースト

参加者はスティックでマシュマロをつかみ、マシュマロ ローストをしている友人たちに参加することができます。 スティック (オブジェクト名: MarshmallowStick) は、Object TypeEquippable に設定された Mesh Interactable Setup コンポーネントがあるため、つかんで保持することができます。 Roast という名前のアニメーション クリップをトリガーするスクリプト グラフもアタッチされています。 マシュマロ焼きの効果についてさらに詳しく知りたい場合は、Marshmallow_03_burnt オブジェクトにアタッチされている S_VFX_BurntShader シェーダー グラフをご覧ください。 炎は、Main_Flame オブジェクトとその子オブジェクトにアタッチされた粒子システムによって表現されます。 スティックは、Reset_Button_Marshmallow_Varient オブジェクトにアタッチされた ResetButton スクリプトのおかげで、スティックホルダーの元の場所に戻ることができます。

  • 滝 (ウォーター シェーダー)

滝は空間の視覚的な魅力を高め、環境をより心地よくする落ち着いた自然な要素をもたらします。 この滝のアセットには環境音が付属しており、VFX ツールが使用されています。 また、UV を歪めてリアルな水の屈折と歪みをシミュレートするシェーダーなどの、カスタム シェーダーもあります。 これらすべてをさまざまなパフォーマンス最適化手法と組み合わせることで、リアルタイム環境へのシームレスな統合が実現しています。

  • アイス ブレーカー

参加者は、ロースト マシュマロの補充を持っているときに、近くにあるアイス ブレーカーを訪問することができます。 このアクティビティは、ユーザーが互いについてよく知るのに最適な方法です。 参加者は、クリックすると好きなテレビ番組、思い出に残るコンサートのパフォーマンス、これまでに得たアドバイス、または意見、興味、経験に関連する他のさまざまなことについて尋ねてくる球の周りに集まることができます。 この球は、IceBreaker という名前のスクリプトがアタッチされた Interactable です。 また、潜在的な質問を含む List of String 型のオブジェクト変数もあります。

  • 球の彫刻

この "彫刻" は、宇宙に浮かぶさまざまなサイズの十個ほどの球で構成されています。 球は Interactable (オブジェクト名: InteractableSphere) です。 出席者が球に触れると、ベルのような音色が生成されます。 このしくみを確認するには、InteracatableSphere にアタッチされている SpheresSculptureSphere_Simple スクリプトをご覧ください。

  • 太陽系

これは実際の太陽系のミニバージョンで、地球、火星、木星のモデルが太陽を中心とした軌道を浮動しています (オブジェクト名: Planet_EarthPlanet_MarsPlanet_Jupiter)。 宇宙飛行士モデル (オブジェクト名: Astronaut Rig) もあります。 それぞれにタイプ Manipulable に設定された Mesh Interactable Setup コンポーネントがあるため、出席者は遠くからモデルに手を差し伸べてつかむことができます。 宇宙飛行士モデルにはジョイントとリグがあります。つかんで移動すると、その腕と足が揺れて動きます。 Containment Field オブジェクトがあるため、このモデルを部屋の外に移動することはできません。

  • ラジオ

環境でジャズの背景音楽を流すための単純なラジオ。 ラジオ (オブジェクト名: Radio_Pressable_Prefab) には、オーディオを生成するスクリプト (PressableRadio) がアタッチされています。 ラジオから浮かび上がる音符は、Particle System オブジェクト (Radio_V2 の子オブジェクト) によって生成されます。

  • 画面共有

Mesh ツールキットの Screenshare コンポーネントを使用すると、開発者は環境に画面共有を配置できます。 この結果、開催者または共同開催者の特権を持つイベント ホストは、既に Screenshares がある Microsoft 環境や Screenshare オブジェクトが追加された任意の環境で実行できるのと同じ方法で、画面を共有できます。 1 つのシーンに複数の Screenshare コンポーネントを追加できます。Mesh イベントで画面が共有されている場合、それらのすべてが同じコンテンツを表示します。

Screenshare コンポーネントを追加するには:

次のいずれかの操作を行います。

  • [Hierarchy] で、右クリックしてコンテキスト メニューを開き、[Mesh Toolkit][Screen Share] の順に選択します。

    または

  • [Project] ウィンドウで、"ScreenShare" プレハブ (Mesh ツールキット パッケージ内にあります) を検索し、シーンにドラッグします。

ScreenShare プレハブは、サイズを変更したり、場所を変更することができます。

  • 球体

Glove プレハブは地球を表します。回転させたり選択したりできます。 選択すると、球体は緯度と経度の位置を生成し、マーカーを追加します。 この機能は Visual Scripting を使用して拡張および変更でき、すべてのアクションは既定ですべてのクライアントに共有されます。 球体は、Mesh ツールキットを使用して構築されたユーザー インターフェイス コントロールのサンプル ライブラリである Control Samples パッケージのサンプルの 1 つです。

  • アート アセット

Mesh Pavilion の至る所で、緑豊かな植物、きらめくウォーター シェーダー、スタイリッシュな家具など、楽しい環境を作り出すのに役立つさまざまなアート アセットが見られます。 これらのアセットを活用して、独自の環境を充実させることができます。

MeshPavillion_moduleGallery シーン

このシーンには、個々のモジュールとして構築された部屋、廊下、ホールが含まれています。 カスタム レイアウトを作成する際には、これらを配置することができます。

______

モジュールを正確に揃えて配置するには、Unity エディターで [Grid Snapping] をアクティブにする必要があります。

グリッド スナップのアクティブ化

モジュールを正確に揃えて配置できるようにするには、Unity エディター内でグリッド スナップをアクティブにする必要があります。

  1. [Scene] ウィンドウのツール バーで、[Tool Handle Rotation] トグルを [Global] に設定します。

  2. グリッドの表示を "オン" に切り替えます (ボタンが青色になるはずです)。

  3. [Grid Snapping] ボタンを "オン" に切り替えます (これも青色になるはずです)。

  4. [Grid Snapping] アイコンをクリックし、[Grid Snapping] ダイアログボックスで、[Grid Size: X] の値を 0.5 に設定します。

    ______

レイアウトを作成する

  1. 出発点にする部屋モジュールを選択し、廊下をアタッチします。 グリッド スナップは、出入り口に正確に合わせるのに役立ちます。

    ______

  2. 引き続き部屋モジュールを所定の位置にドラッグし、必要に応じてホールと廊下をアタッチします。

    ______

ヒント: 各壁の中心にあるカバー オブジェクトを非アクティブにすることで、新しい開口を作成できます。 新しい廊下をアタッチすることで、環境をすべての方向に拡張できます。

______

貢献

現在、サンプルに対するコードのコントリビューションは受け付けていません。 フィードバックがある場合、またはサンプルや Mesh ツールキットで問題が発生した場合は、Mesh ツールキット パッケージがインストールされている Unity プロジェクトで、[Mesh Toolkit][Give feedback to Microsoft] を選択し、Mesh ツールキットのフィードバック リンクを使用してお知らせください。

このプロジェクトは、「Microsoft のオープン ソースの倫理規定」を採用しています。 詳細については、倫理規定についてよくある質問を参照するか、opencode@microsoft.com 宛てに質問またはコメントをお送りください。

ライセンス

このプロジェクトの Mesh サンプルは、Mesh-Toolkit-Unity リポジトリの LICENSE.MD ファイルに示されているように、MIT ライセンスによって管理されます。 ただし、サンプル機能は、別のライセンスによって管理される Mesh ツールキットに依存し、サード パーティ製ソフトウェアが含まれています。

作業の共有

Mesh 開発者フォーラムで Mesh Pavillion の使用方法をお知らせください!