Frage

Gestern habe ich beschlossen, mein neues Simulator-Projekt mit Java und Java3D zu starten. Da ich schon Java programmiert, bevor es war ein großes Plus, und ich konnte mit dem Simulator direkt starten. Jetzt war ich ein wenig darüber nachzudenken, wie ich wollte, diesen Ansatz, und ich direkt stolperte und der größte Teil meines Programms. Der Laser in den Simulatoren

Ich mag Laser schaffen, ähnlich wie diese (natürlich werde ich nicht immer so nah am Anfang kommen, aber Sie erhalten die Idee)

alt text zu / Lasershow

Das Problem ist, kann jemand mir eine grobe Erklärung, wie diese zu nähern? Ich ging durch die vollständige Dokumentation von Java3D aber ich konnte nicht eine Funktion zu schaffen Dinge wie diese finden. Nur einiger Ausgangspunkt wäre schon schön.

(Wenn jemand einen anderen 3D-API für diese Art von Aufgabe empfiehlt, die auch für Java ist, erklären Sie mir bitte)

Vielen Dank im Voraus,

William v. Doorn

War es hilfreich?

Lösung

Lassen Sie mich meine Antwort Vorwort von meiner Erfahrung mit Java3D sagen ziemlich begrenzt ist. Ich habe mit den Beispielen gespielt, aber das ist es. Allerdings gelten viele Regeln für 3D-Umgebungen.

Wenn Sie sprechen über ein statisches Bild. Verwendung sehr schmale Kegel, Farbe und Transparenz, möglicherweise eine Textur aus der Mittelachse des Kegels die Alpha-Komponente in Bezug auf den Abstand zu verringern

Wenn Sie sich über eine animierte Szene zu sprechen, die ein bisschen schwieriger wird. Sie müssen den Nebel synthetisieren. Volumetrics werden Sie unglaubliche Bilder geben, aber es ist rechnerisch teuer, und ich glaube nicht, Jave3D unterstützt. Aber ich denke, kann man fälschen, wenn Sie ein Objekt, das übergeordnete gesamte Laser ist Strahlen und Java3D wird Anker eine Textur auf die Eltern lassen und lassen Sie die Kinder erben es.

Update 1 : Ich würde beginnen mit einem Cone mit einem sehr kleinen Radius als einen einzigen Strahl.

Andere Tipps

Mit Alpha-Texturen. Nehmen Sie sich Polygon, malen Sie den „Strahl“ des Lasers als festen grünen Rand. Setzen grüne Wolke Textur mit Alphakanal zwischen den Laser-Kanten.

Fertig. : -)

Ich bin überhaupt mit dem Java 3D API nicht vertraut, aber wenn ich durch die Dokumentation schnell sah stieß ich auf die Linearray . Googeln für diese Klasse führte mich zu ein Stück Beispielcode die führte mich zu glauben, könnte das sein, was Sie suchen. Anders als das kann ich sehr empfehlen Jmonkeyengine , die auf jeden Fall GL Linien unterstützt. Hoffentlich hilft!

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