Wie ihr auf dem Folgenden Bild sehen könnt, ist bei diesem Shape links, einmal das bild horizontal umgelegt, und bei dem anderen rechts, vertikal, ich möchte aber das alle vertikal liegen, außer die oben und unten liegen, versteht ihr was ich meine?
Im code siehts bei mir so aus
Könntet ihr mir vielleicht einen Tipp geben, wo ich etwas verändern soll?
PS: schaut mal hier drauf
IndexedQuadArray.TEXTURE_COORDINATE_2, 24);
ich hab mal versucht die Texture Coordinate umzu wandeln, in drei, dann kamen fehlermeldungen
wenn ich die 24 in eine 25 änderte, kam auch eine Fehlermeldung, ich weiß auch nciht worans sonst liegen könnte, vielleicht an den textCoord wenn ihr versteht was ich meine.
Auf jeden Fall wie soll ich denn diese TextUre Coordinates umwandeln, damit alle BIlder nach oben zeigen
wie die rechte seite meines Shapes auf dem Bild unten?
Kanns mir bitte einer erklären?
Im code siehts bei mir so aus
Java:
protected Appearance DefineAppearance()
{
Appearance app = new Appearance();
app.setTexture((new TextureLoader("F:/Rayman/Bilder/Henchman_Bilder/Henchman_Bod.jpg",null)).getTexture());
app.setTextureAttributes(new TextureAttributes(TextureAttributes.REPLACE,new Transform3D(),new Color4f(),TextureAttributes.FASTEST));
return app;
}
protected Node buildShape1()
{
IndexedQuadArray indexedCube = new IndexedQuadArray(8,
IndexedQuadArray.COORDINATES|
IndexedQuadArray.NORMALS|
IndexedQuadArray.TEXTURE_COORDINATE_2, 24);
Point3f[] cubeCoordinates = {
new Point3f(0.8f,1f,-0.5f),
new Point3f(-0.8f,1f,-0.5f),
new Point3f(-0.8f,1f,0.5f),
new Point3f(0.8f,1f,0.5f),
new Point3f(1f,-1f,-0.7f),
new Point3f(-1f,-1f,-0.7f),
new Point3f(-1f,-1f,0.7f),
new Point3f(1f,-1f,0.7f)};
Vector3f[] normals= {new Vector3f( 0.0f, 0.0f, 1.0f),
new Vector3f( 0.0f, 0.0f,-1.0f),
new Vector3f( 1.0f, 0.0f, 0.0f),
new Vector3f(-1.0f, 0.0f, 0.0f),
new Vector3f( 0.0f, 1.0f, 0.0f),
new Vector3f( 0.0f,-1.0f, 0.0f)};
TexCoord2f[] textCoord = { new TexCoord2f(1.0f,1.0f),
new TexCoord2f(0.0f,1.0f),
new TexCoord2f(0.0f,0.0f),
new TexCoord2f(1.0f,0.0f)};
int coordIndices[] = {0,1,2,3,7,6,5,4,0,3,7,4,5,6,2,1,0,4,5,1,6,7,3,2};
int normalIndices[] = {0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5};
int textIndices[] = {0,1,2,3,3,0,1,2,1,2,3,0,1,2,3,0,3,0,1,2,1,2,3,0};
indexedCube.setCoordinates(0, cubeCoordinates);
indexedCube.setCoordinateIndices(0, coordIndices);
indexedCube.setNormals(0,normals);
indexedCube.setNormalIndices(0, normalIndices);
indexedCube.setTextureCoordinates(0,0,textCoord);
indexedCube.setTextureCoordinateIndices(0,0,textIndices);
return new Shape3D(indexedCube, DefineAppearance());
}
PS: schaut mal hier drauf
IndexedQuadArray.TEXTURE_COORDINATE_2, 24);
ich hab mal versucht die Texture Coordinate umzu wandeln, in drei, dann kamen fehlermeldungen
wenn ich die 24 in eine 25 änderte, kam auch eine Fehlermeldung, ich weiß auch nciht worans sonst liegen könnte, vielleicht an den textCoord wenn ihr versteht was ich meine.
Auf jeden Fall wie soll ich denn diese TextUre Coordinates umwandeln, damit alle BIlder nach oben zeigen
wie die rechte seite meines Shapes auf dem Bild unten?
Kanns mir bitte einer erklären?