問題タブ [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.
ios - Blender の .dae (COLLADA) ファイルを使用して SceneKit でユーザー生成アニメーションを作成する方法
SceneKit で SCNScene オブジェクトの特定の部分をアニメーション化しようとしています (私の場合、手の指をアニメーション化したい)。Blender から .dae (COLLADA) ファイルをそれぞれのボーンとともに簡単にインポートして、モデルにアーティキュレーションを生成します。
私の目標は、ユーザーが生成した 0 から 1 の値を使用して、iOS でこれらのボーンをアニメーション化することです。UISlider を想像してみてください。UISlider では、スライダーの値に応じて特定の指が動くのを確認できます。
これは必要なアニメーションのスクリーンショットです
Apple の Fox の例のようなアニメーション ファイルを呼び出して、モデルをアニメーション化しようとしました。
問題は、人差し指だけではなくグローバル アニメーションであることです。さらに、ユーザー入力によって制御されるアニメーションではなく、常に「事前定義された」アニメーションです。最終的には、アニメーションをミックスしたい (たとえば、人差し指と親指を同時に動かしてジェスチャーを明らかにする)
これは可能ですか?メッシュの特定の部分を操作する方法がわからないので苦労しています。私は MetalKit の研究を始めていますが、それが解決策かどうかはわかりません。
どんな助けでも本当に感謝しています。
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 を描画し、同じカメラ/画面を共有するにはどうすればよいですか?
ios - タッチ位置での SceneKit での SCNCylinder の作成が正確ではない
を使用して SceneKit でフラット シリンダーを作成しようとしていますSCNCylinder
。ユーザーが画面をタップした位置のシーンに円柱を配置したい。
私の現在のアプローチは機能しますが、何らかの理由でシリンダーがタッチ位置に正確に配置されていません。画面の一部によっては、シリンダーがタッチ位置の中央にある場合もあれば、かなりずれている場合もあります。スクリーンショットが問題を十分に示していることを願っています。
私は現在SCNSphere
、カメラが配置されている を持っています。画面のタッチ ポイントを球体でヒット テストすることにより、ヒット テストに向かう光線を取得します。次に、光線の法線ベクトルを取得し、6 を掛けたベクトルに沿って円柱を配置します。
このアプローチの問題とは何か、なぜこのオフセット動作が発生しているのか、誰にも分かりますか?
これは私が現在作成する方法ですSCNCylinder
:
scenekit - SCNScene から作成された MDLAsset があります。MDLMesh、MDLCamera、および MDLLight を抽出するにはどうすればよいですか?
ファイル (.scn)MDLAsset
を読み込んで作成されたインスタンスをトラバースしようとして苦労しています。SCNScene
MDLMesh
カメラとライトだけでなく、 も識別して抽出したいと考えています。それを行う直接的な方法はありません。
たとえば、MDLAsset で次のインスタンス メソッドが表示されます。
これは私が使っているものですか?
SceneKit モデラーで慎重にラベルを付けました。理想的なものを参照できませんか。確かに、私がアクセスできる ID/ラベルの辞書があります。ここで何が欠けていますか?
更新 0
Apple のドキュメントが完全に不足していたため、Xcode デバッガーでシーン グラフを追加する必要がありました。はぁ ...
いくつかのこと。私はそれを見てMDLMesh
、MDLSubmesh
それが私が求めているものです。それを取得するためのトラバーサルアプローチは何ですか? ライトやカメラも同様です。
また、シェーダーと同期できるように、頂点記述子のレイアウトを知る必要もあります。解析済みの特定の頂点レイアウトを強制できますSCNScene
か?
scenekit - SCNScene インスタンスがあります。各 SCNGeometry インスタンスを抽出するにはどうすればよいですか?
で作成されたMetal
アプリで、インスタンスからインスタンスを抽出して、続けてビルドしSwift
たいと考えています。ジオメトリを引き出す API 呼び出しは見当たりません (カメラやライトの場合と同様)。どうすればいいですか?SCNGeometry
SCNScene
MDLMesh
ios - SCNScene スケールの変更
SCNNode
here is my codeを使用してオブジェクトをダウンスケールしようとしています:
しかし問題は、オブジェクトのスケールがまったく変わらないことです! なにが問題ですか ?