問題タブ [scnlight]
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.
swift - SceneKit – スポット ライトを追加すると床が黒くなるのはなぜですか?
スクリーンショット #1 は、アンビエント ライトのみを使用した単純な SceneKit シーンを示しています (デフォルトではなく、明示的に追加されています)。
スクリーンショット #2 は、スポット ライトを追加した後に何が起こるかを示しています。床全体が黒くなる。このスポット ライトには、SceneKit エディター内でスポット ライトを追加した後の既定のプロパティがあります。
これはディレクショナル ライトでも発生します。
明確にするために、シーンにはデフォルトで周囲光が含まれていることが理解されています。ただし、スポット/ディレクショナル ライトを追加する前に、明示的にアンビエント ライトを追加しました (さらに 2 つを使用してテストしました) 。そのため、この質問で言及されているデフォルトの光理論は適用されなくなりました。したがって、混乱。
スポット ライトとディレクショナル ライトは、シーンの特定の領域にライトを追加することになっています。しかし、範囲外の領域を黒くするべきではありませんよね?
3D グラフィックスと SceneKit は初めてなので、アドバイスをいただければ幸いです。
scenekit - SCNNode clone() は、ノードのクローンが作成されると、シーンにより多くのライトを追加します
ARKit コードに影付きの複数の 3D オブジェクトを追加しようとしています。
このようなノードを作成します
そして、ARKIT が平面を検出したら、次のような平面を作成します。
平面をタップすると、影付きの木のオブジェクトが追加されます。しかし、問題は、これらのオブジェクトを何度も複製すると、木の下の平面がより明るくなることです。名前で削除しようとしていますが、追加しているライトノードが各ノードに追加され続けると思います。
また、最初のライトノードを更新するだけで、最初のノードのみにライトを追加し、残りのノードにライトを追加しようとしました。しかし、これも機能していません。木に影を追加して、その下の平面を同じままにしたい。また、影は完璧ではありません。それらを改善する方法はありますか?
木を1つずつ追加すると、木の下の平面がどのように変化するかのスクリーンショットを参照してください。