BlenderTutorial/Export: Unterschied zwischen den Versionen

Aus Das Sopra Wiki
Phill (Diskussion | Beiträge)
Greitschus (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Zeile 14: Zeile 14:
Grundsätzlich sollte man beim '''Export eines Modells''' aus Blender als FBX-Datei für XNA folgendes beachten:  
Grundsätzlich sollte man beim '''Export eines Modells''' aus Blender als FBX-Datei für XNA folgendes beachten:  
* '''0. Backup''':
* '''0. Backup''':
Am besten kopiert man das Originalobjekt ''(Shift-D)'' und verschiebt die Kopie auf einen neuen Layer ''(M, neuen Layer auswählen, Enter)'' und bereitet dann die Kopie für den Export wie folgt vor:
Am besten kopiert man das Originalobjekt ''({{Taste|Shift}}+{{Taste|D}})'' und verschiebt die Kopie auf einen neuen Layer ''({{Taste|M}}, neuen Layer auswählen, {{Taste|Enter}})'' und bereitet dann die Kopie für den Export wie folgt vor:
* '''1. Modifier''':
* '''1. Modifier''':
Um Komplikationen zu vermeiden, sollte jeder Modifier entweder verworfen ''(Kreuz zum Verwerfen)'' oder angewandt werden ''(Apply-Button)''. Dies ist ein weiterer Grund für den Export auf einer Kopie statt auf dem Original zu arbeiten.
Um Komplikationen zu vermeiden, sollte jeder Modifier entweder verworfen ''(Kreuz zum Verwerfen)'' oder angewandt werden ''(Apply-Button)''. Dies ist ein weiterer Grund für den Export auf einer Kopie statt auf dem Original zu arbeiten.
* '''2. Submeshes''':
* '''2. Submeshes''':
In wieviele Teilobjekte ''(i.f. Submeshes)'' man sein Modell unterteilt, hängt davon ab, wieviele Teile man im Code ansprechen möchte, sei es durch An- und Abbauen, [[Model_Rendering_and_Shader_Tutorial|Animieren]] oder [[Bounding_Volume|Kollision]]. Jedoch sinkt generell mit zunehmender Anzahl Submeshes pro Modell auch die Performanz. In Blender kann man ein Modell z.B. in alle lose, nicht zusammenhängende Teile aufsplitten ''(Editmode, P, All Lose Parts)'' und somit mehrere neue Objekte erhalten, die man zusammen als ein Modell mit mehreren Submeshes exportieren kann ''(A, File, Export...)''. Das Gegenteil dazu ist das Zusammenfassen von mehreren Objekten zu einem ''(Strg+J)''.
In wieviele Teilobjekte ''(i.f. Submeshes)'' man sein Modell unterteilt, hängt davon ab, wieviele Teile man im Code ansprechen möchte, sei es durch An- und Abbauen, [[Model_Rendering_and_Shader_Tutorial|Animieren]] oder [[Bounding_Volume|Kollision]]. Jedoch sinkt generell mit zunehmender Anzahl Submeshes pro Modell auch die Performanz. In Blender kann man ein Modell z.B. in alle lose, nicht zusammenhängende Teile aufsplitten ''(Editmode, {{Taste|P}}, All Lose Parts)'' und somit mehrere neue Objekte erhalten, die man zusammen als ein Modell mit mehreren Submeshes exportieren kann ''({{Taste|A}}, File, Export...)''. Das Gegenteil dazu ist das Zusammenfassen von mehreren Objekten zu einem ''({{Taste|Strg}}+{{Taste|J}})''.
* '''3. Benennung''':
* '''3. Benennung''':
Um im Code intuitiv auf die Submeshes eines Modells zugreifen zu können, sollte man jedem Submesh einen sinnvollen Namen geben ''(Editing Buttons, Link and Materials, OB:IntuitiverName und ME:IntuitiverName, Enter)''.  
Um im Code intuitiv auf die Submeshes eines Modells zugreifen zu können, sollte man jedem Submesh einen sinnvollen Namen geben ''(Editing Buttons, Link and Materials, OB:IntuitiverName und ME:IntuitiverName, {{Taste|Enter}})''.  
* '''4. Zentren''':
* '''4. Zentren''':
Falls im Code [[Model_Rendering_and_Shader_Tutorial|Bone Transformationen]] von den zu exportierenden Submeshes des Objektes ''([[Model|Meshes]])'' verwendet werden, dann muss zuvor in Blender für das Modell sichergestellt sein, dass die einzelnen Submeshes ihren eigenen geometrischen Mittelpunkt als Zentrum gespeichert haben ''(Editing Buttons, Mesh, Center New)'', ansonsten sollte das Zentrum im Ursprung des Blender-Koordinatensystems liegen ''(Shift-C, C, Editing Buttons, Mesh, Center Cursor)''.
Falls im Code [[Model_Rendering_and_Shader_Tutorial|Bone Transformationen]] von den zu exportierenden Submeshes des Objektes ''([[Model|Meshes]])'' verwendet werden, dann muss zuvor in Blender für das Modell sichergestellt sein, dass die einzelnen Submeshes ihren eigenen geometrischen Mittelpunkt als Zentrum gespeichert haben ''(Editing Buttons, Mesh, Center New)'', ansonsten sollte das Zentrum im Ursprung des Blender-Koordinatensystems liegen ''({{Taste|Shift}}+{{Taste|C}}, {{Taste|C}}, Editing Buttons, Mesh, Center Cursor)''.
* '''5. Rotation''':
* '''5. Rotation''':
Falls als FBX-Exportscript das [http://www.triplebgames.com/export_fbx__for_xna.py extra für XNA optimierte FBX-Datei-Exportskript von Triple B Games] verwendet wird, um erhöhte Kompatibilität zu XNA zu bekommen, dann sollte das Modell in Blender vor Export um -90° um die X-Achse rotiert werden ''(R, X, -90, Enter)''.
Falls als FBX-Exportscript das [http://www.triplebgames.com/export_fbx__for_xna.py extra für XNA optimierte FBX-Datei-Exportskript von Triple B Games] verwendet wird, um erhöhte Kompatibilität zu XNA zu bekommen, dann sollte das Modell in Blender vor Export um -90° um die X-Achse rotiert werden ''({{Taste|R}}, {{Taste|X}}, -90, {{Taste|Enter}})''.
* '''6. Transformationen''':
* '''6. Transformationen''':
Um Rotationen und Skalierungen ''(N: Transform Properties)'', die in Blender zunächst als Offset pro Objekt gespeichert werden, auf das Mesh (die Geometrie) anzuwenden, anstatt sie als Objekt-Offsets zu belassen, wählt man Object > Clear/Apply > Apply Scale/Rotation to ObData ''(Strg+A, 1)''.
Um Rotationen und Skalierungen ''(N: Transform Properties)'', die in Blender zunächst als Offset pro Objekt gespeichert werden, auf das Mesh (die Geometrie) anzuwenden, anstatt sie als Objekt-Offsets zu belassen, wählt man Object > Clear/Apply > Apply Scale/Rotation to ObData ''({{Taste|Strg}}+{{Taste|A}}, 1)''.
* '''7. Normal Alignment''':
* '''7. Normal Alignment''':
Falls im texturierten Darstellungsmodus ''(3D-View, Würfelbutton=Draw Type, Textured)'' einzelne Faces durchsichtig erscheinen, haben ihre Normalen eine unerwünschte Richtung. Die Richtung der Normalen kann pro Face manuell invertiert ''(Edit Mode, Face selektieren, W, Flip Normals)'' oder für das gesamte Modell automatisch abhängig von der Kameraposition neu ausgerichtet werden ''(Edit Mode, A, Strg+N)''.
Falls im texturierten Darstellungsmodus ''(3D-View, Würfelbutton=Draw Type, Textured)'' einzelne Faces durchsichtig erscheinen, haben ihre Normalen eine unerwünschte Richtung. Die Richtung der Normalen kann pro Face manuell invertiert ''(Edit Mode, Face selektieren, {{Taste|W}}, Flip Normals)'' oder für das gesamte Modell automatisch abhängig von der Kameraposition neu ausgerichtet werden ''(Edit Mode, {{Taste|A}}, {{Taste|Strg}}+{{Taste|N}})''.
* '''8. FBX-Export''':
* '''8. FBX-Export''':
Für den FBX-Export ''(File, Export, [http://www.triplebgames.com/export_fbx__for_xna.py Autodesk FBX (.fbx) Modified for XNA])'' eignen sich die Standardeinstellungen plus ''HQ Normals'', ''Copy Image Files''. Für einfache Modelle ohne Bone-Animationen schaltet man ''Enable Animation'' aus.
Für den FBX-Export ''(File, Export, [http://www.triplebgames.com/export_fbx__for_xna.py Autodesk FBX (.fbx) Modified for XNA])'' eignen sich die Standardeinstellungen plus ''HQ Normals'', ''Copy Image Files''. Für einfache Modelle ohne Bone-Animationen schaltet man ''Enable Animation'' aus.

Version vom 14. November 2009, 04:59 Uhr

Export


Maßstab

Wieviele Blendereinheiten sind 1 Meter ?

Für die meisten Zwecke und am komfortabelsten genau 1 Blendereinheit ! Es gibt natürlich keine Konvention, aber es ist sinnvoll für das gesamte Projekt zu vereinbaren:

 1 Meter = 1 Blendereinheit


Grundsätzlich sollte man beim Export eines Modells aus Blender als FBX-Datei für XNA folgendes beachten:

  • 0. Backup:

Am besten kopiert man das Originalobjekt (Shift+D) und verschiebt die Kopie auf einen neuen Layer (M, neuen Layer auswählen, Enter) und bereitet dann die Kopie für den Export wie folgt vor:

  • 1. Modifier:

Um Komplikationen zu vermeiden, sollte jeder Modifier entweder verworfen (Kreuz zum Verwerfen) oder angewandt werden (Apply-Button). Dies ist ein weiterer Grund für den Export auf einer Kopie statt auf dem Original zu arbeiten.

  • 2. Submeshes:

In wieviele Teilobjekte (i.f. Submeshes) man sein Modell unterteilt, hängt davon ab, wieviele Teile man im Code ansprechen möchte, sei es durch An- und Abbauen, Animieren oder Kollision. Jedoch sinkt generell mit zunehmender Anzahl Submeshes pro Modell auch die Performanz. In Blender kann man ein Modell z.B. in alle lose, nicht zusammenhängende Teile aufsplitten (Editmode, P, All Lose Parts) und somit mehrere neue Objekte erhalten, die man zusammen als ein Modell mit mehreren Submeshes exportieren kann (A, File, Export...). Das Gegenteil dazu ist das Zusammenfassen von mehreren Objekten zu einem (Strg+J).

  • 3. Benennung:

Um im Code intuitiv auf die Submeshes eines Modells zugreifen zu können, sollte man jedem Submesh einen sinnvollen Namen geben (Editing Buttons, Link and Materials, OB:IntuitiverName und ME:IntuitiverName, Enter).

  • 4. Zentren:

Falls im Code Bone Transformationen von den zu exportierenden Submeshes des Objektes (Meshes) verwendet werden, dann muss zuvor in Blender für das Modell sichergestellt sein, dass die einzelnen Submeshes ihren eigenen geometrischen Mittelpunkt als Zentrum gespeichert haben (Editing Buttons, Mesh, Center New), ansonsten sollte das Zentrum im Ursprung des Blender-Koordinatensystems liegen (Shift+C, C, Editing Buttons, Mesh, Center Cursor).

  • 5. Rotation:

Falls als FBX-Exportscript das extra für XNA optimierte FBX-Datei-Exportskript von Triple B Games verwendet wird, um erhöhte Kompatibilität zu XNA zu bekommen, dann sollte das Modell in Blender vor Export um -90° um die X-Achse rotiert werden (R, X, -90, Enter).

  • 6. Transformationen:

Um Rotationen und Skalierungen (N: Transform Properties), die in Blender zunächst als Offset pro Objekt gespeichert werden, auf das Mesh (die Geometrie) anzuwenden, anstatt sie als Objekt-Offsets zu belassen, wählt man Object > Clear/Apply > Apply Scale/Rotation to ObData (Strg+A, 1).

  • 7. Normal Alignment:

Falls im texturierten Darstellungsmodus (3D-View, Würfelbutton=Draw Type, Textured) einzelne Faces durchsichtig erscheinen, haben ihre Normalen eine unerwünschte Richtung. Die Richtung der Normalen kann pro Face manuell invertiert (Edit Mode, Face selektieren, W, Flip Normals) oder für das gesamte Modell automatisch abhängig von der Kameraposition neu ausgerichtet werden (Edit Mode, A, Strg+N).

  • 8. FBX-Export:

Für den FBX-Export (File, Export, Autodesk FBX (.fbx) Modified for XNA) eignen sich die Standardeinstellungen plus HQ Normals, Copy Image Files. Für einfache Modelle ohne Bone-Animationen schaltet man Enable Animation aus.

  • 9. Content Processor:

In XNA importiert man sein Modell in das Content Subprojekt und belässt im Content Processor die Einstellung: FBX Model File.


Vorbereiten des Modells aus Video 3: Texturing für die weitere Verwendung im Model Rendering and Shader Tutorial

Damit die Flux135 aus dem 3. Videotutorial kompatibel zum Model Rendering and Shader Tutorial ist, wurden die oben genannten Punkte für den Export umgesetzt. Insbesondere wurde der hintere Propeller entfernt und die Einzelteile zu nur noch 2 Teilen zusammengefasst (siehe 2. Submeshes), nämlich Chassis und Propeller (siehe 3. Benennung). Da Bone Transformationen verwendet werden, wurden die eigenen geometrischen Mittelpunkte als Objektzentren definiert (siehe 4. Zentren).

Download Blenderdatei

  • 04_Export.blend enthält oben beschriebenes, für die weitere Verwendung praktisches Modell der Flux135.