次の方法で共有


単純なクラウド スクリプト プロジェクトを作成する

この記事では、Mesh Cloud Scripting を使用して単純なプロジェクトを作成して発行します。 この記事では、システムで既にクラウド スクリプト 設定していることを前提としています。 Mesh Cloud Scripting を使用して開発を開始する前に、 Mesh ツールキットの既知の問題 の現在の一覧を理解することをお勧めします。

Mesh Cloud Scripting インフラストラクチャと管理の詳細については、こちらを参照してください

メッシュ クラウド スクリプトを使用してシーンを作成する

次の手順では、ユーザーがクリックしたときに回転するキューブを使用して単純な環境を作成する方法を示します。

  1. Create new または既存のプロジェクトを更新するという名前の記事に移動します。 新しいプロジェクトを作成する場合は、 新しいプロジェクトの作成という名前のセクションのすべての手順に従ってください。 既存のプロジェクトを更新する場合は、 Update 既存のプロジェクトを更新するという名前のセクションに対して同じ操作を行います。

  2. 新しいシーンを作成します。

  3. シーンに移動ポイントを追加します

  4. シーンを保存し、名前を付けます。 この例では、名前 MyFirstCloudScriptingを使用します。

  5. メニュー バーで、 GameObject>Mesh Toolkit>Set-up Cloud Scripting を選択します。

    [クラウド スクリプトのセットアップ] メニュー項目のスクリーン ショット。

    Mesh Cloud Scripting という名前のゲーム オブジェクトが Hierarchy に表示され、選択されていることに注意してください。 アプリケーション フォルダーを開くInspector ...

    Unity の [アプリケーション フォルダーを開く] ボタンのスクリーンショット。

    ...Windows エクスプローラーでは、Assets > にMyFirstCloudScripting.csproj という名前の新しい ASP.NET Core プロジェクトも作成されます。MeshCloudScripting > MyFirstCloudScripting フォルダー。

    スクリプト プロジェクトを示す Windows のフォルダー構造のスクリーンショット。

シーンを変更する

  1. メッシュ エミュレーションを使用して再生モードを設定。 床として機能するゲームオブジェクトをシーンに追加し、 GroundCollision レイヤーに設定してください。

  2. メッシュ エミュレーションを使用して再生モードを設定すると、この時点から使用するカメラを含むシーンにプレハブ MeshEmulatorSetup[NoUpoload] が追加されます。 既定の Main カメラ GameObject は不要です。削除してください。

    Mesh Cloud Scripting の子として配置されたキューブのスクリーン ショット。

  3. メニュー バーで、 GameObject>3D オブジェクト>Cubeを選択します。

  4. Hierarchyで、Cube を Mesh Cloud Scripting オブジェクトにドラッグして、Cube をそのオブジェクトの子にします。

    Mesh Cloud Scripting の子として配置されたキューブのスクリーン ショット。

  5. [キューブ] が選択された状態で、 InspectorTransform コンポーネントに移動し、キューブの PositionRotation の値を次のように変更します。

    位置: X = 0.1、Y = 1.5、Z = 3.3。

    回転: X = -15、Y = 0.8、Z = 0.1

    ヒント: MeshEmulatorSetup[NoUpload] プレハブの Camera は、AvatarHead の子オブジェクトです。

    階層内の Camera ゲーム オブジェクトと、シーン ビューに配置されたキューブのスクリーン ショット。

  6. Inspectorで、[コンポーネント追加] をクリックし[操作可能なセットアップのメッシュ]を選択

    Mesh Interactables Setup が選択されている [コンポーネントの追加] 検索バーのスクリーンショット。

  7. シーンを保存します。

C# プロジェクトを変更する

  1. Hierarchyで、Mesh Cloud Scripting オブジェクトを選択します。

  2. Inspectorで、Mesh Cloud Scripting コンポーネントに移動し、アプリケーション フォルダーを開く ボタンをクリックします。 エクスプローラーが開き、プロジェクトの内容のビューが表示されます。

    [アプリケーション フォルダーを開く] ボタンが強調表示されている Mesh Cloud Scripting コンポーネントのスクリーン ショット。

  3. コード エディターで App.cs スクリプトを開きます。

  4. App クラスには、次の 2 つの変数があることに注意してください。

    private readonly ILogger<App> _logger;
    private readonly ICloudApplication _app;
    

    3 番目の変数として次を追加します。

    private float _angle = 0;
    
  5. StartAsync メソッドには、"ここでアプリのスタートアップ コードを追加する" という 1 つのコメントが含まれています。StartAsync メソッドが次のようになるように、次のコードに置き換えます。

    public Task StartAsync(CancellationToken token)
    {
        // First we find the TransformNode that corresponds to our Cube gameobject
        var transform = _app.Scene.FindFirstChild<TransformNode>();
    
        // Then we find the InteractableNode child of that TransformNode
        var sensor = transform.FindFirstChild<InteractableNode>();
    
        // Handle a button click
        sensor.Selected += (_, _) =>
        {
            // Update the angle on each click
            _angle += MathF.PI / 8;
            transform.Rotation = new Rotation { X = 1, Y = 0, Z = 0, Angle = _angle };
        };
    
        return Task.CompletedTask;
    }
    
  6. 作業内容を保存します。

アプリケーションをローカルで実行する

  1. Unity で[Unity Editor Play]\(Unity エディターの再生\) ボタンをクリックします。
  2. Game ウィンドウで、キューブをクリックします。 クリックするたびに、キューブは "X" 軸で回転します。
  3. 完了したら、再生モードを終了します。

Visual Studio を使用してアプリケーションをデバッグする (省略可能)

  1. Hierarchyで、Mesh Cloud Scripting オブジェクトが選択されていることを確認します。

  2. Inspectorで、Mesh Cloud Scripting コンポーネントに移動し、 [アプリケーション デバッグの有効化]を選択します。

    [アプリケーション デバッグの有効化] プロパティが選択され、強調表示されている Mesh Cloud Scripting コンポーネントのスクリーン ショット。

  3. 再生モードに入り、デバッガーを選択します。

    使用可能なデバッガーのスクリーン ショット。

  4. App.cs ファイルを開き、ブレークポイントを追加して、実行を続行します。

    ブレークポイントが追加されたアプリ cs ファイルのスクリーン ショット。

  5. Unity で、キューブをクリックします。

    キューブをクリックした後の Unity でのフィードバックのスクリーン ショット。

Note

既定では、アプリケーションは 2 分間の非アクティブ状態の後にタイムアウトします。 このウィンドウを大きくするには、マニフェスト ファイルに "debugTimeoutSecs" 値を設定します (例: "debugTimeoutSecs": "240")。

メッシュ cloudscripting マニフェスト json ファイルが強調表示された Windows エクスプローラーのスクリーン ショット。

環境をビルドして発行する

環境をビルドして発行するには、 Build の指示に従って、環境を発行します

Unity からクラウド スクリプト サービスに接続する

Note

これは、 ServiceModeDev に設定されている場合にのみ使用できます。

  1. Hierarchyで、Mesh Cloud Scripting オブジェクトが選択されていることを確認します。
  2. Inspectorで、Mesh Cloud Scripting コンポーネントに移動し、Developer Settings ドロップダウンを開きます。
  3. Run Local Cloud Scripting Server の選択を解除します。
  4. Unity エディターの [再生] ボタンをクリックします。

Mesh アプリからイベントを作成して参加させる

  1. 作成して発行した環境を使用してイベントを作成します。 ガイダンスが必要な場合は、Mesh ポータルでイベントを 作成する方法を参照してください
  2. Mesh アプリでイベントに参加します。

Microsoft Mesh アプリケーションで Mesh Cloud Scripting Service エラーを表示する (省略可能)

  1. ユーザーの中断を最小限に抑えるために、Cloud Scripting Service からのエラー メッセージは既定では Mesh アプリには表示されません。 デバッグ目的でこれらのメッセージを表示する必要がある場合は、次の手順を使用します。

  2. Mesh アプリを開きます。

  3. Menu ボタンをクリックし、Settings を選択します。

    メニュー ボタンが強調表示された Mesh アプリ インターフェイスの画面。

  4. 左側のメニュー バーで、 [開発者向け] を選択します。

    [設定] オプションが強調表示された Mesh アプリ インターフェイスのスクリーン ショット。

  5. Show Mesh スクリプト エラーボタンを "オン" に切り替えます。

    Mesh アプリの [設定] ページのスクリーン ショットと、[メッシュの表示] スクリプト エラーの設定。

次のステップ