Frage

Ich versuche einen Brauch zu bekommen Shape3D von a betroffen sein DirectedLight In Java 3D, aber nichts, was ich tue, scheint zu funktionieren.

Die Form hat eine Geometrie, die eine ist IndexedQuadArray, mit dem normalen Flaggensatz und angewendet, um sicherzustellen, dass die normalen Vektoren auf die richtigen Eckpunkte angewendet werden - unter Verwendung indizierter Vektoren

Ich habe dem Aussehen ein Material gegeben (beide mit bestimmten Farben und Glanz und ohne)
Ich habe auch das Licht auf das gleiche gestellt BranchGroup Als Form, aber es funktioniert immer noch nicht.

Wenn ich die Normalen der Form hinzufüge, scheint das Objekt zu verschwinden - ohne sie ist es flach schattiert, so dass alle Gesichter der gleiche Schatten sind.

Ich kann nur denken, dass ich vergesse, etwas Lächerlich Einfaches aufzunehmen oder etwas falsch gemacht habe.

Um die Lichter tatsächlich zu testen, habe ich einen eingelegt Sphere Neben der Form und die Kugel war ordnungsgemäß betroffen und beleuchtet, aber die Form war immer noch nicht. Beide waren auf dem gleichen BranchGroup

Kleine Kuriosität auch - Wenn ich die Kugel übersetze, verschwindet sie, wenn ich sie mehr als 31 in eine Richtung bewege ... [Meine Ansicht ist ungefähr 700 zurück, da ich mich mit Objekten von Größen bis zu 600 in Breite befasse


Bearbeiten: Fand dies in den offiziellen Tutorials, die wahrscheinlich verwandt sind

Ein visuelles Objekt, das für die Schattierung (dh eins mit einem materiellen Objekt) in einem Live -Szenengraphen ordnungsgemäß angegeben ist, außerhalb der Einflussgrenzen aller Lichtquellenobjekte schwarz.

War es hilfreich?

Lösung

Die Lichter setInfluencingBounds() wurde nicht richtig eingestellt, so dass die Formen in der Szene nicht in die Grenzen aufgenommen wurden.

Dies wurde korrigiert, indem a eingestellt wurden BoundingBox Um den gesamten Bereich zu erfassen und dies in die Einflussgrenzen zuzuweisen

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top