問題タブ [scnscene]

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 に答える
475 参照

ios - Blender の .dae (COLLADA) ファイルを使用して SceneKit でユーザー生成アニメーションを作成する方法

SceneKit で SCNScene オブジェクトの特定の部分をアニメーション化しようとしています (私の場合、手の指をアニメーション化したい)。Blender から .dae (COLLADA) ファイルをそれぞれのボーンとともに簡単にインポートして、モデルにアーティキュレーションを生成します。

私の目標は、ユーザーが生成した 0 から 1 の値を使用して、iOS でこれらのボーンをアニメーション化することです。UISlider を想像してみてください。UISlider では、スライダーの値に応じて特定の指が動くのを確認できます。

これは必要なアニメーションのスクリーンショットです

アニメーションを装った画像

Apple の Fox の例のようなアニメーション ファイルを呼び出して、モデルをアニメーション化しようとしました。

問題は、人差し指だけではなくグローバル アニメーションであることです。さらに、ユーザー入力によって制御されるアニメーションではなく、常に「事前定義された」アニメーションです。最終的には、アニメーションをミックスしたい (たとえば、人差し指と親指を同時に動かしてジェスチャーを明らかにする)

これは可能ですか?メッシュの特定の部分を操作する方法がわからないので苦労しています。私は MetalKit の研究を始めていますが、それが解決策かどうかはわかりません。

どんな助けでも本当に感謝しています。

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

ios - 同じカメラで異なる深度に複数の SCNView を追加する

SceneKit で追加している 3D 戦場でカード ゲームをプログラミングしています。

戦場には奥行きがあり、3D オブジェクトの上部が城の上部であり、最下層が z 軸上でさらに下にあり、地面を表しています。

プレイヤーが手札にカードを持っている場合、可能な限り最上層に UIView として描画したいと思います。カードの UIView をサブビューとして直接配置する GameControllerView を追加することで、これを行うことができました。 3Dシーンのトップ。

バトルグラウンドの 3D シーンの上に配置されたカード UI

3D オブジェクト内のさまざまな深さ (z 軸) でカードの UIView を描画したいと思います。地面のレイヤーに描画することもあれば、上のレイヤーに描画することもあります。

次のように、メイン シーンの rootNode に childNodes を追加することで、バトルグラウンドのさまざまな深さに 3D 要素をさらに追加することができました。

しかし、特に UIView を追加する必要があり、SCNScenes を追加する必要はありません。

1 つの SCNView を一番下の深さに設定し、その上に UI ビューを描画し、別の SCNView を設定してより高い z 軸の深さに成長させ、その上に UIView を描画し、同じカメラ/画面を共有するにはどうすればよいですか?

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

ios - タッチ位置での SceneKit での SCNCylinder の作成が正確ではない

を使用して SceneKit でフラット シリンダーを作成しようとしていますSCNCylinder。ユーザーが画面をタップした位置のシーンに円柱を配置したい。

私の現在のアプローチは機能しますが、何らかの理由でシリンダーがタッチ位置に正確に配置されていません。画面の一部によっては、シリンダーがタッチ位置の中央にある場合もあれば、かなりずれている場合もあります。スクリーンショットが問題を十分に示していることを願っています。

screenpos で SCNCylinder を作成するときのオフセット

私は現在SCNSphere、カメラが配置されている を持っています。画面のタッチ ポイントを球体でヒット テストすることにより、ヒット テストに向かう光線を取得します。次に、光線の法線ベクトルを取得し、6 を掛けたベクトルに沿って円柱を配置します。

このアプローチの問題とは何か、なぜこのオフセット動作が発生しているのか、誰にも分かりますか?

これは私が現在作成する方法ですSCNCylinder

0 投票する
2 に答える
1141 参照

scenekit - SCNScene から作成された MDLAsset があります。MDLMesh、MDLCamera、および MDLLight を抽出するにはどうすればよいですか?

ファイル (.scn)MDLAssetを読み込んで作成されたインスタンスをトラバースしようとして苦労しています。SCNScene

MDLMeshカメラとライトだけでなく、 も識別して抽出したいと考えています。それを行う直接的な方法はありません。

たとえば、MDLAsset で次のインスタンス メソッドが表示されます。

これは私が使っているものですか?

SceneKit モデラーで慎重にラベルを付けました。理想的なものを参照できませんか。確かに、私がアクセスできる ID/ラベルの辞書があります。ここで何が欠けていますか?

更新 0

Apple のドキュメントが完全に不足していたため、Xcode デバッガーでシーン グラフを追加する必要がありました。はぁ ...

ここに画像の説明を入力

いくつかのこと。私はそれを見てMDLMeshMDLSubmeshそれが私が求めているものです。それを取得するためのトラバーサルアプローチは何ですか? ライトやカメラも同様です。

また、シェーダーと同期できるように、頂点記述子のレイアウトを知る必要もあります。解析済みの特定の頂点レイアウトを強制できますSCNSceneか?

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

scenekit - SCNScene インスタンスがあります。各 SCNGeometry インスタンスを抽出するにはどうすればよいですか?

で作成されたMetalアプリで、インスタンスからインスタンスを抽出して、続けてビルドしSwiftたいと考えています。ジオメトリを引き出す API 呼び出しは見当たりません (カメラやライトの場合と同様)。どうすればいいですか?SCNGeometrySCNSceneMDLMesh

0 投票する
2 に答える
2584 参照

ios - SCNScene スケールの変更

SCNNodehere is my codeを使用してオブジェクトをダウンスケールしようとしています:

しかし問題は、オブジェクトのスケールがまったく変わらないことです! なにが問題ですか ?