Webseiten mit Java3D?

J

JackDorn

Gast
Grüße,

Ich beschäftige mich gerade, bzw. habe angefangen mich damit zu beschäftigen, wie man am besten Webseiten mit interaktiven 3D Inhalten erstellt.

Die Webseiten sollen ähnlich aufgebaut sein wie die typischen Flash Seiten die man kennt, mit den ganzen Spielereien drauf, etc. Nur eben mit echten 3D Modellen, um sich so vom traditionellen, veralteten Konzept von Webseiten lösen zu können.
Die einzelnen Modelle, bzw. die gesamte Szene für die Webseite kommt dann aus XSI / 3ds max.


Von Flash bin ich inzwischen abgekommen da es mir in dieser Hinsicht einfach zu wenig Möglichkeiten bietet.


Kann man mit Java Webseiten ähnlich konfortabel erstellen, bzw. wichtiger noch betrachten, wie mit Flash? Bisher kenne ich Java nur als Ergänzung einer Webseite in Form von kleineren Applets. Wie könnte das aussehen wenn man die gesamte Webseite mit Java erstellen will?

Und womit sollte ich mich sinnvoller Weiße als Erstes beschäftigen? Habe mir schon ein JavaFX Buch gekauft, frage mich nun aber ob ich JavaFX überhaupt brauche, oder ob es mit Java / Java3D alleine klüger wäre.


Würde mich sehr freuen wenn Ihr kurz schildern könntet welchen "Workflow" Ihr hier anwenden würdet.
 

Marco13

Top Contributor
Klingt zwar interessant, aber mir ist noch nicht vollkommen klar, was du erreichen willst. Man könnte ja einfach ein großes Applet mit einer JEditorPane drin verwenden, die kann HTML anzeigen :D ... das meintest du wohl nicht ;)
 
J

JackDorn

Gast
Hehe ... nein nicht ganz.

Der Plan für meine eigene Webseite wäre zum Beispiel eine Waldzene, genauer eine Lichtung; im Hintergrund sieht man Bäume, Pflanzen, Himmel (zylindrisches Objekt mit dem genannten Zeugs als Textur drauf) und im Vordergrund einen Baum.

Der Baum wird in XSI gemacht, also ein ganz normales 3D Modell mit Polygons ;-) Wärend die Seite ladet dient der Baum als Preloader indem er vom Samen bis zum fertigen Baum wächst. Der fertige Baum stellt dann die Navigation dar, die Baumkrone "entfacht" dabei in alle vier Elemente, also das erste Viertel der Äste brennt, das nächste sprüht Wasser, wirbelt Blätter umher, schleudert Erde durch die Luft...

Die einzelnen Elemente sind dann die Links zu den verschiedenen Bereichen der Webseite, klickt man Eines davon an soll der Nutzer über eine Kamerafahrt an eine freie Stelle in der Szene gebracht werden (z.B. Schwenk auf den Boden), wo dann alle Infos in Text- und Bild- Form angezeigt werden.


Ich versuche dabei möglichst alles im 3D Modell zu "speichern". Licht und Schatten etwa berechne ich schon in XSI und speicher sie dann in der Textur, auf der Webseite müssen dann nur noch die Texturen angezeigt werden und nichts mehr berechnet.

Der Baum soll jedoch recht detailliert werden, ebenso besitzt das Gras im Vordergrund einige Polygons. Mit einer schlechten Engine in der alles die CPU berechnet wird das bald mal zu viel, so wie es bei Flash der Fall ist. Deshalb Java3D mit der Hardwarebeschleunigung, mit OpenGL in Java3D sollte ich dann auch die Möglichkeit haben die Szene nach Möglichkeit etwas aufzuwerten, z.B. durch einfache Echtzeitreflektionen beim Wasser falls sich das nich vernünftig in der Textur speichern lässt.


Was ich mich eben Frage ... eine Flashseite besucht man einfach, sie erscheint sofort im Vollbild über den ganzen Browser und der Laie erkennt nicht welche Technologie eingesetzt wurde.
Könnte ich meine Webseite einfach als JavaApplet realisieren das ich dann einfach am ganzen Bildschirm anzeige? Oder so? Hm...

Und über Buch Tipps würde ich mich sehr freuen, hab keine Ahnung wie ich am besten beim lernen anfang. Zuerst Java Buch mit Grundlagen, dann Java3D Buch, oder anderst? Deutsch wäre mir noch etwas lieber als englisch, aber im Zweifelsfall nehm ich schon das bessere Buch.
 

Empire Phoenix

Top Contributor
Solange du immer die selbe Kamera position hast würde ich empfehlen statische bilder zu benutzen. den baum kann man als flash deutlich besser verwirklichen denke ich, (Applets starten erst wenn sie alles minimal benötigte haben, und das kann dauern bei 3d, zudem sind sie auf 64mb ram oder ähnlich beschränkt.) Wie ein applet angeordnet ist hängt erstmal nur vom html code der site ab, Echtzeitreflexionen würde ich als animiertes bild/video einbinden und dann in 2d wieder.
 

Hansdampf

Bekanntes Mitglied
Applets kannst ab Plugin2 im Applet Tag extra Speicher zuweisen (-Xmx256m z.B.). Java3D kannst du für deinen Anwendungsfall getrost vergessen, schau dir mal jPCT an.
jPCT
Da bekommst du keine Security Popups (wegen Option auf Software Rendering), kannst aber auch auf hardwarebeschleunigt umstellen ohne den Code zu ändern. Und wenn es dir Freude bereitet, kannst du den selben Code dann auch auf Android laufen lassen (wobei das, so glaube ich, schon gut funktioniert aber noch nicht perfekt)
 

Hansdampf

Bekanntes Mitglied
Applets kannst ab Plugin2 im Applet Tag extra Speicher zuweisen (-Xmx256m z.B.). Java3D kannst du für deinen Anwendungsfall getrost vergessen, schau dir mal jPCT an.
jPCT
Da bekommst du keine Security Popups (wegen Option auf Software Rendering), kannst aber auch auf hardwarebeschleunigt umstellen ohne den Code zu ändern. Und wenn es dir Freude bereitet, kannst du den selben Code dann auch auf Android laufen lassen (wobei das, so glaube ich, schon gut funktioniert aber noch nicht perfekt)
edit: eben mal die Java3D Applets angeschaut. Wusste gar nicht, dass auch ohne Popup geht
 
G

Guest2

Gast
Moin,

würde auch für WebGL (+JavaScript) voten. Der Umstieg von Flash auf OpenGL ES 2 könnte zwar, vorsichtig ausgedrückt, "haarig" werden, lohnt sich aber imho für das Vorhaben.


(Von Java auf WebGL geht übrigens auch, was dann auch hartwarebeschleunigtes OpenGL im Browser ohne notwendiges Zertifikat bedeutet. Zwickt aber ein wenig bei großen Buffern, da alle Daten einmal von Java nach JavaScript zu OpenGL kopiert werden müssen. (Oder ich habe nur noch keinen schnelleren Weg gefunden ;) ))

Gruß,
Fancy
 
J

JackDorn

Gast
Puh ... gar nicht so einfach.

WebGL gefällt mir gut, vor allem da es direkt von der Khronos Group ist. Wenn ich das richtig mitbekommen habe quasi auch in HTML integriert?
Der Teil stört mich etwas, durch den Einsatz von Flash / Java würde ein Großteil der lästigsten Arbeit wegfallen, da man sich um verschiedene Browser Kompatiblitäten keine Sorgen machen muss.

Vor allem bei WebGL zweifle ich nicht an der Anzeigequalität, nur wie sieht es bei den Möglichkeiten der direkten Interaktion mit der 3D Szene aus? Scheint mir so als wäre das ganze mehr dafür gedacht einzelne 3D Elemente in eine HTML Seite einzubinden, nicht eine komplette Seite in 3D zu gestalten.
Ob ich da mit Java als eigenständige Programmiersprache nicht die besseren Möglichkeiten habe?
 

zwergmulch

Mitglied
Wenn du WebGL nutzt, wirst du bei der Interaktion das ganze wahrscheinlich
in JavaScript machen müssen, wobei der Teil dann nicht so sehr standardisiert ist.;)
WebGL ist halt lediglich für die Grafik-Darstellung - Mit Java 3D oder anderem hast du gleich noch
Input, Sound und anderes, weshalb ich das empfehlen würde.
Zum Beispiel kannst du bei deiner Wald-Szene gleich (ohne selbst dafür Code zu schreiben) Maus-Navigation hinzufügen. Mit JavaScript stelle ich mir das schwieriger vor.
Tja, ist wohl doch eine schwierige Entscheidung und kommt drauf an was du machen willst. :)

PS: Gehört wohl eher zu Multimedia-Programmierung.
 
Zuletzt bearbeitet:
J

JackDorn

Gast
Schwierige Entscheidung auf jeden Fall, aber Ihr wart schon eine große Hilfe! :)

Im Web hab ich bisher auch nur HTML / CSS eingesetzt - deshalb tue ich mir sehr schwer dabei alleine einzuschätzen was die richtige Wahl wäre.

Momentan tendiere ich stark zu Java3D ... die angesprochende Maussteuerung, Änderungen der Texturen, Modelle, oder Animationen oder sonstige Effekte die man brauchen könnte stell ich mir bei Lösungen wie WebGL mit JavaScript sehr schwierig vor.

Sofern ich nicht etwas übersehen habe das Java3D doch nicht kann? 3D Modelle mit Texturen anzeigen, Animationen abspielen (Loop und durch User Eingabe), Kamerafahrten, wechselnder Inhalt durch User Eingabe ... viel mehr brauch ich eigentlich nicht, das nur in passabler Geschwindigkeit von der GPU, über die gesamte Anzeigefläche des Browsers... hm...

Was noch sehr spannende wäre - Normal Mapping für die Ladezeiten.
Wobei ich da wohl wieder dynamische Lichtquellen bräuchte damit es Sinn macht, was wieder höhere Systemanforderungen bedeuten würde. Also keine Frage mit Priorität - nur falls sich von Euch schon jemand damit auskennt.
 
J

JackDorn

Gast
Kann Silverlight auf dem Notebook hier leider nicht installieren und muss warten bis ich wieder daheim bin.

Was spricht Deiner Meinung nach für Silverlight und gegen Java beim ernsthaften Gebrauch?
 

Java.getSkill()

Aktives Mitglied
Weder das eine noch das andere habe ich richtig getestet, aber ich glaube Silverlight ist neben Flex ein guter Ansatz Interaktivität und dynamik in seine Seite zu bekommen. Außerdem erscheint mir mehr Material über Silverlight als über 3D vorhanden zu sein.

Afaik braucht silverlight aber ein 2,3mb plugin beim Besucher.
 

zwergmulch

Mitglied
Silverlight ist aber eher für Rich Client Applications als Grafik (wie Java 3D).
Sicher kann man damit auch den neuesten Ego-Shooter programmieren, aber
das ist dann wesentlich aufwändiger.:D
Und wenn er (was ich mal annehme, wenn er in einem Java-Forum fragt) Java-Kenntisse hat
ist es auch besser als .Net-C# oder VB.
Ich weiß, es gibt da noch J# aber das ist auch nicht das Gelbe vom Ei...;)

@Material: Da verweise ich gerne nochmal auf oben gennanten Link (was für die Site erstmal vollkommen reichen sollte), außerdem ist die JavaDoc-Doku auch gut.
 

Jack Dorn

Neues Mitglied
Hey Ihr,

Bin dabei mir die Grundlagen der Java Programmierung mittels "Java ist auch eine Insel" anzueignen, und nebenbei noch auf der Suche nach einem passenden Buch zu Java3D direkt. In den Tutorials die man im Internet findet ist meist leider sehr wenig beschrieben, unvollständig oder für Anfänger sehr verwirrend ausgedrückt.

Da ich es eigentlich gewohnt bin in meiner Grafiksoftware lustig rumzuklicken muss ich mir schon sehr Mühe geben bei Java ist auch eine Insel alles zu verstehen, in Kombination mit meinem schlechten Englischvokabular überfordert mich englische Lektüre für den Einstieg leider.

Ich fürchte fast es gibt keines, ich Frage trotzdem .... kennt jemand ein gutes Buch, oder zumindest ein Tutorial in auch alles vollständig erklärt ist und man zum testen auch mal Code kopieren kann ... das / die auf deutsch verfasst sind?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
hebein Mit Javaprogramm webseiten automatisiert befüllen und ausführen Java Basics - Anfänger-Themen 6
F Webseiten Quelltext auslesen Java Basics - Anfänger-Themen 5
D Ich suche nach einer Möglickeit den Webseiten Inhalt per Java zu analysieren Automatisch Java Basics - Anfänger-Themen 3
J Informationen aus Webseiten auslesen Java Basics - Anfänger-Themen 1
I Brauche Denkanstoß: Weitergabe von Kontaktinfos aus verschiedenen Kontaktformularen von Webseiten Java Basics - Anfänger-Themen 2
K Daten (im Sinne von Datum) aus Webseiten extrahieren Java Basics - Anfänger-Themen 6
M Webseiten Parsen Java Basics - Anfänger-Themen 2
G Möglichkeit zum Auslesen von Webseiten gesucht. Java Basics - Anfänger-Themen 10
S externe Webseiten füllen Java Basics - Anfänger-Themen 5
D Webseiten öffnen Java Basics - Anfänger-Themen 4
L Webseiten anzeigen Java Basics - Anfänger-Themen 4
S Java und webseiten Java Basics - Anfänger-Themen 2
I Codierung beim Auslesen von Webseiten Java Basics - Anfänger-Themen 6
K Mit java Webseiten erstellen? Java Basics - Anfänger-Themen 3
M Webseiten mit oder ohne Framework Java Basics - Anfänger-Themen 5
C seo-Webseiten auch mit Java möglich? Java Basics - Anfänger-Themen 8
L Webseiten über Java Programm starten Java Basics - Anfänger-Themen 2
U Webseiten öffnen Java Basics - Anfänger-Themen 7
M welcher Layoutmannager ist für Webseiten Outfit geeignet Java Basics - Anfänger-Themen 8
S Bilder aus Webseiten extrahieren Java Basics - Anfänger-Themen 2
H Suche Java3D 32 bit Java Basics - Anfänger-Themen 20
K Wer braucht die Java3d Bins ? Java Basics - Anfänger-Themen 1
Ruvok Java3D Problem Java Basics - Anfänger-Themen 4
S 3d Punkt in Java3D Java Basics - Anfänger-Themen 4
C Java3d Classpath?!? Java Basics - Anfänger-Themen 11
W Java3D Sphere Java Basics - Anfänger-Themen 8
M Java3D TransformChanged nullpointer ??? Java Basics - Anfänger-Themen 2
K Polygon in Java3D (Java 3D) zeichnen Java Basics - Anfänger-Themen 4
P Java3D installieren Java Basics - Anfänger-Themen 4
L Java3d und Rotation Java Basics - Anfänger-Themen 6
Developer_X KeyListener Actions (hat mit Java3D zu tun) Java Basics - Anfänger-Themen 20
S Java3d und textpad Java Basics - Anfänger-Themen 4
S 3d-game java3d/eigene API Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben