問題タブ [arscnview]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
208 参照

ios - ARSCNView を含むビューコントローラーに戻ると、カメラがフリーズします。ARSCNView が機能しなくても、このビュー コントローラーを行き来するにはどうすればよいですか?

ARSCNView を初期化する方法

このView Controllerを閉じてセッションを再起動しようとすると、カメラが表示されなくなります。誰かがこれで私を助ける方法を知っていますか? ありがとう

0 投票する
1 に答える
186 参照

ios - SCNView のサイズまたは電話の画面サイズに基づいて SCNNode を縮小します

大きな SCNNode があり、それを縮小したいと考えています。現在、ノードはマジック ナンバーに基づいて縮小されています。ただし、電話の画面サイズまたはノードの SCNView サイズに基づいて、ノードを縮小する必要があります。

簡単にするために、ノードの SCNView/電話画面に特定のパディングを設定することを考えました。

そこで、SCNNode と電話画面/SCNView 内の一定量のパディングを考慮して、SCNNode の倍率を計算していただきたいと思います。

視覚的な説明については、添付の画像を参照してください。倍率の計算を手伝ってもらえますか?

視覚的な説明

0 投票する
0 に答える
101 参照

swift - ARSCNView の領域の .scn から SCNNode の変換と位置を計算する方法

Vision オブジェクトを使用して ARSCNView で SCNNode の位置を計算する方法がわかりません。ARSCNView で検出された顔 (VNFaceObservation) があり、.scn ファイルからノードをロードします。そして、そのノードが顔の位置で動いていたらいいのにと思います。

メソッドを使用して、面バウンディング ボックスの 2D 位置を計算します。

UIViewをsceneViewサブビューとして表示し、rectを返します。顔の位置に合わせたフレームです。

ファイルからノードをロードした後、ノードをシーンに追加します。

シーン セッション デリゲートのメソッドでノードの新しい位置を計算してみます。

しかし、SCNNode の位置を変更して新しい SCNVector3 を作成する方法がわかりません。デバイスが動いているとき、または顔が検出された人間が動いているときに、オフセットを計算するために SceneView.pointOfView?.simdWorld* プロパティを使用する必要があると思います。しかし、それが本当の方法であるかどうかはわかりません

この計算のためのアイデアやアルゴリズムはありますか?