Cocos Creator: AR インタラクション

推奨: NSDT シーン エディターを 3D ツールチェーンに追加します。

Cocos Creator: AR インタラクション 

3D ツールセット: NSDT Jianshi デジタル ツイン

ARインタラクション

AR インタラクションは主に、タッチ イベントをクリック、ドラッグ、ピンチなどのジェスチャに変換する cc.ScreenTouchInteractor コンポーネントによって駆動され、インタラクターはこれらのジェスチャをインタラクティブな仮想オブジェクトに渡して、ジェスチャによってトリガーされる動作を完了します。

ジェスチャーインタラクション

AR Gesture Interactor コンポーネントは、画面タッチをジェスチャに変換します。Cocos Creator の入力システムはジェスチャ信号をインタラクティブ オブジェクトに送信し、インタラクティブ オブジェクトはジェスチャ イベントに応じて変形します。インタラクティブな動作を持つインタラクティブ オブジェクトの前提条件は、 cc.Selectableコンポーネントにバインドされている必要があることです  。このコンポーネントのプロパティの詳細については、インタラクティブ コンポーネント Selectable を参照してください。

スクリーン ジェスチャ インタラクターを使用するには 、右クリックして階層マネージャーに XR -> スクリーン タッチ インタラクターを作成します 。

3D オブジェクトを自由に作成できます (Cube を例にします)。

Cube の Scale プロパティを (0.1, 0.1, 0.1) に変更し、実際のサイズは 1000cm3 になります。Position プロパティを (0, -0.1, -0.5) に変更します。これは、空間の遠い点から 50cm、10cm 離れています。その位置の下にコンポーネント XR > Interaction -> Selectableを追加します。

次に、選択したエフェクトを作成し、リソース フォルダーにプレハブを作成し、Selected Visualizer という名前を付けます。

プレハブボディのルートノード配下に同じ Cube オブジェクトを作成し、Scale size を親ノードを基準に 1.2 倍に設定します。

選択した状態を強調表示する新しいマテリアルを作成します。

マテリアル効果を調整するには、Effect にbuiltin-unlit、Technique に 1-transparent を選択することをお勧めします。

マテリアルを作成したら、それをプリセット内の Cube の cc.MeshRenderer に適用して、選択したエフェクトの作成を完了します。

最後に、プレハブを cc.Selectable の Selected Visualization プロパティに適用します。

実行時の効果は次のとおりで、ジェスチャを組み合わせて仮想オブジェクトを移動、回転、拡大縮小することができます。

場所

スクリーン ジェスチャ インタラクターを使用する  と、デバイスの AR ヒット テスト機能が有効になり、画面上のタッチ位置の座標がカメラに変換され、Ray Cast を使用して AR プレーンとの衝突を計算し、衝突点の位置を決定し、最後に仮想オブジェクトをこの平面の座標上に配置します。配置できるプレハブ オブジェクトはcc.Placeableコンポーネントをマウントする必要があります。

上のシーンで作成された Selectable オブジェクトを例にすると、次のように対話的に配置できるようになります。

シーン内の Cube オブジェクトを選択し、それにコンポーネント XR -> Interaction -> Placeable を追加します。

このシーン ノードをリソース マネージャーにドラッグしてプリセットを生成し、シーン内のこの Cube オブジェクトを削除します。

新しく生成された Cube プレハブを Screen Touch Interactor -> Place Action > Placement Prefab プロパティに参照し、Calculation ModeにAR_HIT_DETECTION を 選択します 

配置されたオブジェクトの位置の計算は AR 平面に依存するため、AR SDK の平面認識機能をアクティブにするようにデバイスに要求するには、平面追跡ノードを作成する必要があります。エディターの階層マネージャーで [作成] > [XR] > [プレーン トラッキング]を右クリックして、プレーン プロキシ ノードを作成します。

すべての作業が完了したら、パッケージ化して公開し、実行時に配置効果を確認できます。

おすすめ

転載: blog.csdn.net/jianshi2023/article/details/131203374