次の方法で共有


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

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

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

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

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

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

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

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

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

  5. メニュー バーで、 GameObject>Mesh Toolkit>の [クラウド スクリプトのセットアップ] を選択します。

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

    Mesh Cloud Scripting という名前のゲーム オブジェクトが階層に表示され、選択されていることに注意してください。 インスペクター ... で [アプリケーション フォルダーを開く] ボタンをクリックした場合。

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

    ...Windows エクスプローラーに、これはまた、MyFirstCloudScripting.csproj という名前の新しい ASP.NET Core プロジェクトを Assets > に作成することがわかります。MeshCloudScripting > MyFirstCloudScripting フォルダー。

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

シーンを変更する

  1. メッシュ エミュレーション モードを設定します。 床として機能する GameObject をシーンに追加し、 GroundCollision レイヤーに設定してください。

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

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

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

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

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

  5. [キューブ] を選択した状態で、[ インスペクター] で [変換 ] コンポーネントに移動し、キューブの [位置 ] と [ 回転] の値を次のように変更します。

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

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

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

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

  6. インスペクターで、[コンポーネントの追加] をクリックし、[Mesh Interactable Setup]\(メッシュ対話可能セットアップ\) を選択します。

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

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

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

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

  2. インスペクターで、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 エディタークリックします。
  2. [ ゲーム ] ウィンドウで、キューブをクリックします。 クリックするたびに、キューブは "X" 軸で回転します。
  3. 完了したら、再生モードを終了します。

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

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

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

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

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

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

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

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

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

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

注意

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

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

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

環境をビルドして発行するには、環境の ビルドと発行 に関する記事の手順に従います。

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

注意

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

  1. [階層] で、Mesh Cloud Scripting オブジェクトが選択されていることを確認します。
  2. インスペクターで、Mesh Cloud Scripting コンポーネントに移動し、[開発者向け設定] ドロップダウンを開きます。
  3. [ ローカル クラウド スクリプト サーバーの実行] の選択を解除します
  4. [Unity エディター再生] ボタンをクリックします。

イベントをCreateし、Mesh アプリから参加させる

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

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

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

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

  3. [ メニュー ] ボタンをクリックし、[設定] を選択 します

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

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

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

  5. [ Show Mesh scripting error]\(メッシュ スクリプト エラーの表示 \) ボタンを "on" に切り替えます。

    Mesh アプリの [設定] ページのスクリーン ショットと、[Show Mesh scripting error]\(メッシュスクリプトの表示\) の設定。

次の手順