Ich mache einen einfachen Exporter für Blender 2.6x für ein benutzerdefiniertes JSON-Format (hauptsächlich für die Verwendung mit WebGL), weil die vorhandenen, die ich online finden konnte, nicht mit Blender 2.6 funktionieren.
Ich habe es fast funktioniert, aber ein Fehler bleibt, dass ich nicht herausfinden kann. Bei einem einfachen Würfel ist die Textur auf einer Seite falsch ausgerichtet. Der Rest des Würfels ist richtig strukturiert.
Sie können hier ein Bild des Problems sehen (das linke Gesicht auf der linken Seite ist in der falschen Ausrichtung, verglichen mit dem richtigen Würfel auf der rechten Seite):
Gibt es einige häufige Missverständnisse oder Fehler, die dazu führen könnten, dass dieses Verhalten auftritt?
Dies ist die Funktion, die von Blender 2.65 in mein benutzerdefiniertes JSON-Format exportiert (der Fehler muss hier sein, aber ich kann ihn nicht finden):
%Vor%Und falls dies helfen würde, finden Sie hier die exportierten JSON-Daten, die sich aus der Ausführung meines Exportskriptes ergeben (dieselben Daten, die zum Rendern des Cubes auf der linken Seite im Bild oben verwendet wurden):
%Vor%Ich bin derzeit nicht auf der Suche nach Möglichkeiten, einen besseren, funktionsreicheren oder effizienteren Exporteur zu erstellen, sondern ich möchte diesen Fehler einfach nur quetschen, damit ich zu interessanteren Dingen wie einem WebGL-Spiel kommen kann. und Lernen über Kollisionserkennung und dergleichen. Jede Hilfe oder Beratung in Bezug auf dieses Problem würde ich sehr schätzen!
Bearbeiten:
Falls es mein Rendercode ist und nicht der Exporteur, ist das das Problem, Hier ist der Teil meines WebGL-Codes, der sich auf das Initialisieren der Puffer und das Zeichnen der Szene bezieht (eine modifizierte Version eines Codes, der unter Ссылка gefunden wurde):
%Vor%Ich weiß, dass es verdammt viel zu sehen gibt, weshalb ich es vorher nicht gepostet habe, aber es gab einen Vorschlag, dass der Rendering-Code fehlerhaft sein könnte. Beachten Sie, dass die im Code erwähnte "Teekanne" wirklich das exportierte Modell ist (der Würfel, den ich zu rendern versuche).
Wie ejrowley kommentierte, ist die Indexierung Ihrer Scheitelpunkte und Texturkoordinaten nicht ausgerichtet.
Auch die Verwendung von to_mesh
nach dem Exportieren der Scheitelpunkte kann zu einer Menge Verrücktheit führen.
Sie können die korrekte Indizierung mit dem tessfaces
Ihres Meshes herausfinden.