問題タブ [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.

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

scenekit - SceneKit のカメラ ノードで allowCameraControl を使用する方法

射影変換マトリックス (ID ではない) が設定されたカメラ ノードがあり、プロパティ モデル ビュー マトリックスを使用していくつかの 3D モデルを見ることができます。

まず、allowsCameraControl をユーザー定義のカメラ ノードに使用できるようにするために設定する必要があるプロパティはありますか?

次に、カメラ ノードをデフォルトに設定し、最終的なモデル ビュー マトリックスを SCNMatrix4Mult(modelViewMatrix,projectionTransformMatrix) に設定するだけだと考えました。これを行った後、3D モデルを見ることができますが、奇妙に見えます。モデルの比率は変わりません。画面と同等。

良い解決策はありますか?

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

ios - SceneKit: SceneKit テキストのピボット/軸の変更

Interface Builder を使用して 3D テキストをシーンにドラッグして、この SceneKit テキストを作成しました。

次のように作成されました。

ここに画像の説明を入力

軸は左下にあります。インターフェイスビルダーを使用して、そのテキストの軸を中央に配置する方法はありますか?

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

ios - SceneKit: シェーダー パラメーターを変更してもオブジェクトに影響しない

Maya でオブジェクトを作成し、daeファイルにエクスポートしました。そのオブジェクトは、テクスチャに包まれた円柱です。Maya で作成され、SceneKit にインポートされたシェーダは、次の特性を持つ Phong です。

ここに画像の説明を入力

次のパラメータを使用して、オムニ ライトをシーンに追加します。

ここに画像の説明を入力 ここに画像の説明を入力

円柱が光で吹き飛ばされ、照らされすぎているように見えます。しかし、そのシリンダーだけです。シーン内の他のオブジェクトは問題なく表示されます。

ライトとオブジェクトのシェーダーのパラメーターを変更しようとすると、インターフェイス ビルダーのプレビューに変更が表示されますが、iPhone でアプリケーションを実行しても効果がありません。はい、ビルドの前に Xcode キャッシュを消去し、iPhone からアプリを削除しようとしました。変化なし。

何か案は?

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

ios - SCNText の文字列の値を変更しても変化なし

ジャイロを読み取り、SCNTextジオメトリの文字列をジャイロのヨー値に変更しています。変更は、1/30 秒ごとに呼び出されるジャイロ ハンドラー内で発生します。SCNTextジオメトリは Interface Builder で作成されました。

このコードを使用して、テキストへの参照を取得しています。

後でジャイロハンドルでこれを行います:

NSLogは値を正しく出力しますが、に変更はありませんSCNText

はい、メイン スレッドのテキストを変更しようとしました。変化なし。

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

ios - シーンキットでタップされたノードを検出しようとしています

これは私の問題です。次の階層を持つオブジェクトを Maya で作成しました。

それを DAE に変換して SceneKit にインポートします。Xcode によってさらに 2 つのノードが階層に追加されます。階層は次のようになりました。

ボタンに触れて、ボタンがタップされたかどうかを判断しようとしています。私にとって重要な唯一のノードはbigButton. オブジェクトをタップしてこのメ​​ソッドを使用すると:

result.node触れたノードがあったpolySurface1かどうかを教えてくれますpolySurface2bigButtonそれは単なるノードであり、サーフェスではないため、タップされたことは決してわかりません。

OK、親のノードを検出するために使用できますが、上または下の異なる階層レベルにある可能性があるparentNodeため、これはばかげています。これはそれを行う唯一のラメモードですか?階層を横断して正しいノードを検索するには、または美しい方法はありますか?result.nodebigButton

ありがとう。

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

ios - SceneKit の反重力物理学

画面をタップすると、ボックスがフローティングから重力の影響を受けるように切り替わるシンプルなアプリを作成しようとしています。ただし、箱を空中に浮かせる方法が見つからないようです。

このコードは、問題の半分を処理します。

これにより、ボックスが空中から落下し、作成した床にぶつかります。SCNPhysicsBody にこれと反対のことをするものはありますか? おそらく、オブジェクトを浮かせたり、天井に向かって帆走したりしますか?

また、私はこのコードを書きました:

ただし、whileループが機能しない理由はわかりません。myBool が変更されたことを検出し、boxNode の物理を変更すると考えていましたが、そうではありません。

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

ios - LookAt カメラ方式? NOT SCNLookAtConstraint

SceneKit に SCNLookAtConstraint が存在することは認識しています。ただし、この方法は私が探しているものではありません。

私が必要としているのは、いつでもカメラを空間内のポイント (ノードではない) に向けることができることです。

ワールド座標に X、Y、Z があるため、カメラを回転させて、この点を指すようにする必要があります。

ポイントは時間の経過とともに変化します (異なるポイントがメソッドに渡されることを意味します。あるポイントから別のポイントに「ジャンプ」する必要があります)。

私は eulerAngles の計算をスキップしたいと思います。私が見たいくつかの解決策は、分母の三角関数と cos(angle) に基づいています。ユーザーは基本的に cameraNode をドラッグすることで自由に回転できます。

SceneKitでこれに欠けている方法はありますか?

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

swift - SCNNode は .65 未満にスケーリングされません

カスタム dae ファイルがあり、一部の領域に収まるように縮小したいと考えています。残念ながら、スケーリング係数が .65 を下回ると、何らかの理由でノードがレンダリングされないことがわかりました。何が間違っているのかわかりません。ここに私が現在使用しているコードがあります。

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

ios - iOS用のシーンキットで床を横切ってスライドするように立方体をプログラムしましたが、床に沈みます

私は現在、立方体がシーンキットの床に落とされるシーンを持っています。立方体が床を横切って x 軸上を移動するようにアニメーション化しましたが、床に少し沈んでから床の上に再配置されます。

コードの一部を次に示します。

立方体が沈む理由を誰か教えてくれませんか? 理由がわからない場合は、キャラクターが歩くことができる作業フロアのコード例を提供できますか? (できれば目的のcで、必要に応じてswiftから翻訳できます)