Suchergebnisse
Suchergebnisse 1-6 von insgesamt 6.
Mir ist grad noch etwas aufgefallen: Du hast eine Inkonsistenz in deiner Texturklasse: Du löscht im Destruktor den Namen der Textur obwohl dieser im Konstruktor nicht erzeugt wurde - d.h du gibst etwas frei das dir nicht gehört Grüße Stefan
Nein - es geht nicht, weil "vert.index" nicht der Index des Vertex im Face - sondern der Index im gesamten Model ist - d.h. bei einem Würfel von 0 bis 7. Das "uv"-Array im Face geht aber bei Dreiecken nur von 0 bis 2. Grüße Stefan
Hi! Versuch mal folgendes - das funktioniert bei mir: C-/C++-Quelltext 1 2 3 4 5 6 7 8 9 10 11 12 import Blender from Blender import Scene scene = Scene.GetCurrent() obj = scenegetActiveObject() mesh = obj.getData() for face in mesh.faces: for coords in face.uv: print( coords[0] ) print( coords[1] ) print('\n') Ich nehme an, dass folgendes der Fehler in deinem Code ist: Du holst dir aus dem Face die Liste aller Vertex-Indices und benutzt diese dann für das Array in die UV-Liste - das passt natür...
Ich nehme an, dass du "glGetError()" schon abgefragt hast? Grüße Stefan
Hast du denn auch den u/v-Editor verwendet um die Textur auf dein Objekt zu legen? Ich bin mit grad nicht sicher ob Blender auch dann u/v-Koordinaten speichert wenn man z.B. das automatische spherical mapping von Materialien einstellt. Du musst wissen, dass Blender ja zum einen ein Renderer ist, zum anderen selbst eine Gameengine beinhaltet (die soweit ich weiß fast nie benutzt wird). Die Materialien und die damit verknüpften Texturen sind für den Renderer da. Für die Gameengine gibt es hingegen...
Hi! Nimm mal das "mesh=1" aus dem getData raus - bei mir gehts dann. Ich denke aber, dass du dir besser die Texturkoordinaten aus den Faces holen solltest - denn in Blender werden die U/V-Koordinaten den Faces zugewiesen und da sich bekanntlich mehrere Flächen einen Vertex teilen wären die Koordinaten am Vertex dann nicht mehr eindeutig. Grüße Stefan