問題タブ [scnnode]
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.
scenekit - SceneKit のカメラ ノードで allowCameraControl を使用する方法
射影変換マトリックス (ID ではない) が設定されたカメラ ノードがあり、プロパティ モデル ビュー マトリックスを使用していくつかの 3D モデルを見ることができます。
まず、allowsCameraControl をユーザー定義のカメラ ノードに使用できるようにするために設定する必要があるプロパティはありますか?
次に、カメラ ノードをデフォルトに設定し、最終的なモデル ビュー マトリックスを SCNMatrix4Mult(modelViewMatrix,projectionTransformMatrix) に設定するだけだと考えました。これを行った後、3D モデルを見ることができますが、奇妙に見えます。モデルの比率は変わりません。画面と同等。
良い解決策はありますか?
ios - SceneKit: シェーダー パラメーターを変更してもオブジェクトに影響しない
Maya でオブジェクトを作成し、dae
ファイルにエクスポートしました。そのオブジェクトは、テクスチャに包まれた円柱です。Maya で作成され、SceneKit にインポートされたシェーダは、次の特性を持つ Phong です。
次のパラメータを使用して、オムニ ライトをシーンに追加します。
円柱が光で吹き飛ばされ、照らされすぎているように見えます。しかし、そのシリンダーだけです。シーン内の他のオブジェクトは問題なく表示されます。
ライトとオブジェクトのシェーダーのパラメーターを変更しようとすると、インターフェイス ビルダーのプレビューに変更が表示されますが、iPhone でアプリケーションを実行しても効果がありません。はい、ビルドの前に Xcode キャッシュを消去し、iPhone からアプリを削除しようとしました。変化なし。
何か案は?
ios - SCNText の文字列の値を変更しても変化なし
ジャイロを読み取り、SCNText
ジオメトリの文字列をジャイロのヨー値に変更しています。変更は、1/30 秒ごとに呼び出されるジャイロ ハンドラー内で発生します。SCNText
ジオメトリは Interface Builder で作成されました。
このコードを使用して、テキストへの参照を取得しています。
後でジャイロハンドルでこれを行います:
NSLog
は値を正しく出力しますが、に変更はありませんSCNText
。
はい、メイン スレッドのテキストを変更しようとしました。変化なし。
ios - シーンキットでタップされたノードを検出しようとしています
これは私の問題です。次の階層を持つオブジェクトを Maya で作成しました。
それを DAE に変換して SceneKit にインポートします。Xcode によってさらに 2 つのノードが階層に追加されます。階層は次のようになりました。
ボタンに触れて、ボタンがタップされたかどうかを判断しようとしています。私にとって重要な唯一のノードはbigButton
. オブジェクトをタップしてこのメソッドを使用すると:
result.node
触れたノードがあったpolySurface1
かどうかを教えてくれますpolySurface2
。bigButton
それは単なるノードであり、サーフェスではないため、タップされたことは決してわかりません。
OK、親のノードを検出するために使用できますが、上または下の異なる階層レベルにある可能性があるparentNode
ため、これはばかげています。これはそれを行う唯一のラメモードですか?階層を横断して正しいノードを検索するには、または美しい方法はありますか?result.node
bigButton
ありがとう。
ios - SceneKit の反重力物理学
画面をタップすると、ボックスがフローティングから重力の影響を受けるように切り替わるシンプルなアプリを作成しようとしています。ただし、箱を空中に浮かせる方法が見つからないようです。
このコードは、問題の半分を処理します。
これにより、ボックスが空中から落下し、作成した床にぶつかります。SCNPhysicsBody にこれと反対のことをするものはありますか? おそらく、オブジェクトを浮かせたり、天井に向かって帆走したりしますか?
また、私はこのコードを書きました:
ただし、whileループが機能しない理由はわかりません。myBool が変更されたことを検出し、boxNode の物理を変更すると考えていましたが、そうではありません。
ios - LookAt カメラ方式? NOT SCNLookAtConstraint
SceneKit に SCNLookAtConstraint が存在することは認識しています。ただし、この方法は私が探しているものではありません。
私が必要としているのは、いつでもカメラを空間内のポイント (ノードではない) に向けることができることです。
ワールド座標に X、Y、Z があるため、カメラを回転させて、この点を指すようにする必要があります。
ポイントは時間の経過とともに変化します (異なるポイントがメソッドに渡されることを意味します。あるポイントから別のポイントに「ジャンプ」する必要があります)。
私は eulerAngles の計算をスキップしたいと思います。私が見たいくつかの解決策は、分母の三角関数と cos(angle) に基づいています。ユーザーは基本的に cameraNode をドラッグすることで自由に回転できます。
SceneKitでこれに欠けている方法はありますか?
swift - SCNNode は .65 未満にスケーリングされません
カスタム dae ファイルがあり、一部の領域に収まるように縮小したいと考えています。残念ながら、スケーリング係数が .65 を下回ると、何らかの理由でノードがレンダリングされないことがわかりました。何が間違っているのかわかりません。ここに私が現在使用しているコードがあります。
ios - iOS用のシーンキットで床を横切ってスライドするように立方体をプログラムしましたが、床に沈みます
私は現在、立方体がシーンキットの床に落とされるシーンを持っています。立方体が床を横切って x 軸上を移動するようにアニメーション化しましたが、床に少し沈んでから床の上に再配置されます。
コードの一部を次に示します。
立方体が沈む理由を誰か教えてくれませんか? 理由がわからない場合は、キャラクターが歩くことができる作業フロアのコード例を提供できますか? (できれば目的のcで、必要に応じてswiftから翻訳できます)