問題タブ [scnvector3]

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 投票する
2 に答える
6098 参照

ios - SCNVector3 の位置を CGPoint SCNView 座標に変換する方法は?

ランドスケープでのみ機能するこのアプリがあります。

シーンキットにオブジェクトがあります。そのオブジェクトは、次のように指定された特定の位置にあります。

SCNVector3これをmainView2D 座標に変換する必要があります。

シーンは直交カメラを使用しているため、パースペクティブはありません。カメラはデフォルトのカメラです。回転なし、並進なし。カメラの orthographicScale は 5.4 です。

どうすればそれを変換できますか?

CGPoint から SCNVector3 に変換するという逆の質問について、SO で他の回答を見つけましたが、SCNVector3 から CGPoint に逆にする方法は明らかではありません。

SCNView が UIView のサブクラスである場合、(0,0) は左上のポイントであり、iPhone 6 の横向きの場合、(667, 375) は右下のポイントです。

私のこのボタンは、高さのほぼ右端と中央にあります。UIKit に関して言えば、このボタンは (600, 187) にあると言えますが、これを行うと:

projectPoint が (7.8, 375, 0) に等しい (?)

UIKitを使用して座標(7.8、375)に10x10のビューを追加すると、左下にビューが表示されます!!

私が言ったように、アプリはランドスケープでのみ動作しますが、これらの座標系はすべて混乱しています.

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

ios - 子ノードと親ノードで SCNNode の位置を同じにする方法は?

wc という名前の子ノードを持つシーンがあります。そのノードにdae/modelファイルを追加したい。

次の方法でモデル/デイを追加できました。

  1. バンドルからの dae アセットを使用して親シーンを作成する
  2. 親シーンを scnView に追加し、それを self.view に型キャストします。
  3. dae を追加する必要なノードを取得します。
  4. 必要なノード dae でサブシーンを作成します。
  5. 親シーンの必須ノードの子としてサブシーン ルート ノードを追加します。
  6. 子ノードの位置を、親シーンの必要なノードの位置に設定します。

以下はスニペットです:

コード スニペット (viewDidLoad 内)

ログ出力

wcNode 位置 275.306549、157.163620、0.956176

DAE 位置 284.000000、160.000000、0.959596

前述のログ出力でわかるように、必要なノードとその子 Dae ノードの位置は同じではなく、シーン内でシフトされたモデルをレンダリングします。

なぜ位置が違うのですか?

シフトを補正するにはどうすればよいですか?

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

ios - SCNBoxがシーンキットで触れられたかどうかを検出する方法は?

SCNBoxがシーンキットで触れられたかどうかを検出する方法は? VRアプリを作っています