Problem:
Hallo liebe Forum User ich versuche ein Terrain zur Laufzeit zu generieren was auch ganz gut funktioniert. Leider funktioniert das Textur setzten nicht korrekt. Die Textur ist in eine Richtung verzerrt und ich bekomme es nicht richtig hin das mein Bild auf dem Shape3D Objekt korrekt dargestellt wird.
Nicht wundern der ColorCube ist nur für mich zur besseren Orientierung da.
Ziel:
Ich wollte eigendlich erreichen das die Textur sich wie Kacheln gleichmäßig und ungestreckt ausbreitet.
Hier ein Bild vom Terrain:
Hier die Originaltextur:
Hier der Code für das Textur setzen:
[JAVA=42]
Shape3D terrain = new Shape3D();
Point3f[] vertex = new Point3f[(a + 1) * (a + 1)];
int[] index = new int[(((a * a) * 2) * 3)];
IndexedTriangleArray dreiecke = new IndexedTriangleArray(vertex.length, IndexedTriangleArray.COORDINATES,index.length);
System.out.println("Generiere Terrain Seitenlänge: " + a + " Vertex: " + vertex.length + " Index: " + index.length);
// add Vertex
dreiecke.setCoordinates(0, createVertex(a));
// add Index
dreiecke.setCoordinateIndices(0,createIndex(a));
// Aussehen
Appearance optik = new Appearance();
optik.setTexture(new TextureLoader("Textur_Wiese.jpg",null).getTexture());
optik.setTextureAttributes(new TextureAttributes(TextureAttributes.REPLACE,new Transform3D(),new Color4f(),TextureAttributes.NICEST));
optik.setTexCoordGeneration(new TexCoordGeneration(TexCoordGeneration.OBJECT_LINEAR, TexCoordGeneration.TEXTURE_COORDINATE_2));
terrain.setAppearance(optik);
// add Geometrie
terrain.addGeometry(dreiecke);
return terrain;
[/code]
Vielen Dank im vorraus für die Hilfe.
ps: kann das sein das Java3D nicht so richtig angekommen ist. Es scheint nicht all zu viele user zu geben.
Hallo liebe Forum User ich versuche ein Terrain zur Laufzeit zu generieren was auch ganz gut funktioniert. Leider funktioniert das Textur setzten nicht korrekt. Die Textur ist in eine Richtung verzerrt und ich bekomme es nicht richtig hin das mein Bild auf dem Shape3D Objekt korrekt dargestellt wird.
Nicht wundern der ColorCube ist nur für mich zur besseren Orientierung da.
Ziel:
Ich wollte eigendlich erreichen das die Textur sich wie Kacheln gleichmäßig und ungestreckt ausbreitet.
Hier ein Bild vom Terrain:
Hier die Originaltextur:
Hier der Code für das Textur setzen:
[JAVA=42]
Shape3D terrain = new Shape3D();
Point3f[] vertex = new Point3f[(a + 1) * (a + 1)];
int[] index = new int[(((a * a) * 2) * 3)];
IndexedTriangleArray dreiecke = new IndexedTriangleArray(vertex.length, IndexedTriangleArray.COORDINATES,index.length);
System.out.println("Generiere Terrain Seitenlänge: " + a + " Vertex: " + vertex.length + " Index: " + index.length);
// add Vertex
dreiecke.setCoordinates(0, createVertex(a));
// add Index
dreiecke.setCoordinateIndices(0,createIndex(a));
// Aussehen
Appearance optik = new Appearance();
optik.setTexture(new TextureLoader("Textur_Wiese.jpg",null).getTexture());
optik.setTextureAttributes(new TextureAttributes(TextureAttributes.REPLACE,new Transform3D(),new Color4f(),TextureAttributes.NICEST));
optik.setTexCoordGeneration(new TexCoordGeneration(TexCoordGeneration.OBJECT_LINEAR, TexCoordGeneration.TEXTURE_COORDINATE_2));
terrain.setAppearance(optik);
// add Geometrie
terrain.addGeometry(dreiecke);
return terrain;
[/code]
Vielen Dank im vorraus für die Hilfe.
ps: kann das sein das Java3D nicht so richtig angekommen ist. Es scheint nicht all zu viele user zu geben.
Zuletzt bearbeitet: