# Background in Java3D ähnlich einer Skybox erzeugen



## Netscanner Waldi (11. Okt 2007)

Hallo,
nachdem ich mich nun fast totgesucht hab, bin ich endlich soweit, ne Anfrage zu starten.
Es geht um die Gestaltung des Hintergrundes meiner Java3D-Szene. 

Mittels 

```
//Background      
      ImageComponent2D backgroundImage = new TextureLoader("background.jpg", this).getImage();
      Background background = new Background(backgroundImage);
      background.setApplicationBounds(new BoundingSphere());
```
kann ich eine Textur als Hintergrund setzen, allerdings verhält sie sich nicht wie in der Realität - beim Drehen der Kamera bleibt der Hintergrund stehen und bewegt sich nicht.

Ich möchte hingegen wie in VRML-Welten üblich, ähnlich einer Skybox, alle Innenseiten meines "Universums" tapezieren, so dass, wenn ich mich bewege, sich der Hintergrund wie in der Realität verhält. Leider finde ich keine Ansätze, wie ich den Background-Node so verändere, dass er sich normal verhält. 

Hier und da liest man von sog. Skyboxen, einfache Cubes, die innen texturiert werden und die Kamera ins Würfelzentrum setzen - das erscheint mir irgendwie nicht im Sinne des Erfinders.

Hat da jemand ne saubere Idee?

EDIT:
In VRML definiert man den Background so:
	
	
	
	





```
Background
{
	frontUrl  ["textures/background/1.jpg"]
	rightUrl  ["textures/background/2.jpg"]
	backUrl   ["textures/background/3.jpg"]
	leftUrl   ["textures/background/4.jpg"]
	topUrl    ["textures/background/5.jpg"]
	bottomUrl ["textures/background/6.jpg"]
}
```


----------



## Evil-Devil (11. Okt 2007)

> Hier und da liest man von sog. Skyboxen, einfache Cubes, die innen texturiert werden und die Kamera ins Würfelzentrum setzen - das erscheint mir irgendwie nicht im Sinne des Erfinders.



WIeso? Ist doch ganz logisch. Im ersten RenderPath die Skybox zeichnen. Kamera zurück zum Spieler schieben und dann zeichnen was der SPieler sieht. Je nach Szene muss auch die in mehreren Pathes erstellt werden.


----------



## Netscanner Waldi (11. Okt 2007)

Ja logisch für dich :roll:, ich bin leider Java3D-Einsteiger und hab im Hinterkopf noch VRML. Die Philosophie hinter RenderingPaths muss ich mir auch schnell noch erlesen :/


----------



## Evil-Devil (11. Okt 2007)

Naja, ob das mit den RenderPathes in Java3D geht weiß ich nicht. Ich nutz direkt OpenGL mittels LWJGL.

//edit: Ich schätze mal es gibt auch noch andere Wege das zu realisieren, aber die kenn ich nicht ^^'


----------



## Netscanner Waldi (11. Okt 2007)

Arg, hab vergessen zu erwähnen, dass ich Java3D direkt meine. Werds gleich ändern, sorry.


----------



## Lutherion (24. Okt 2007)

Hallo,
um das Universum mit Sternen zu füllen die sich real mitbewegen, muss man ein 3D-Shape im Background angeben.
In diesem Shape, welches aus einem Pointarray besteht, liegen die Koordinaten und Appearance-Attribute deiner Sterne.
Das wird dann automatisch vom Background in die "Unendlichkeit " projeziert. 
P.S. Kann auch sein das es direkt mit dem Array ging, ist schon ne Weile her. MfG, hoffe ich konnte dir helfen.


----------

