Sinn von aiProcess_Debone
Sinn von aiProcess_Debone
Hallo Leute,
ich habe eben meine Assimp-mit-OpenGL-Demo auf Assimp 3.0 umgestellt, was glücklicherweise sehr unkompliziert war. Mir ist allerdings aufgefallen, dass seit der letzten SVN-Version, die ich verwendet habe, das Post-Processing-Flag aiProcess_Debone eingeführt wurde. Was genau ist der Sinn dieses Flags? Sollen dadurch Dummy-Bones entfernt werden, die von manchen Programmen zu Meshes ohne Animation erstellt werden?
Für das bekannte Model des Zwergs hat das nämlich einen unangenehmen Nebeneffekt.
Ohne das Flag:
Mesh 1: 239 vertices, 1 bone, material index 0
Mesh 2: 1762 vertices, 39 bones, material index 1
Mit Flag:
Mesh 1: 57 vertices, 0 bones, material index 1
Mesh 2: 57 vertices, 0 bones, material index 1
Mesh 3: 239 vertices, 0 bones, material index 0
Mesh 4: 1648 vertices, 37 bones, material index 1
Offensichtlich degeneriert im Post-Processing-Schritt das größere Mesh (der Körper), das kleinere (die Axt) verliert seinen Bone und ist dann nicht mehr animiert, sondern liegt statisch im Ursprung.
Ich werde das Flag dementsprechend einfach nicht verwenden, aber ich will doch mal auf das Verhalten hinweisen, weil ich nicht weiß, ob das komplett durchdacht wurde, was das für Auswirkungen hat, wenn man das zum Preset aiProcessPreset_TargetRealtime_MaxQuality nimmt, welches relativ häufig defaultmäßig verwendet wird.
Gruß
mOfl
ich habe eben meine Assimp-mit-OpenGL-Demo auf Assimp 3.0 umgestellt, was glücklicherweise sehr unkompliziert war. Mir ist allerdings aufgefallen, dass seit der letzten SVN-Version, die ich verwendet habe, das Post-Processing-Flag aiProcess_Debone eingeführt wurde. Was genau ist der Sinn dieses Flags? Sollen dadurch Dummy-Bones entfernt werden, die von manchen Programmen zu Meshes ohne Animation erstellt werden?
Für das bekannte Model des Zwergs hat das nämlich einen unangenehmen Nebeneffekt.
Ohne das Flag:
Mesh 1: 239 vertices, 1 bone, material index 0
Mesh 2: 1762 vertices, 39 bones, material index 1
Mit Flag:
Mesh 1: 57 vertices, 0 bones, material index 1
Mesh 2: 57 vertices, 0 bones, material index 1
Mesh 3: 239 vertices, 0 bones, material index 0
Mesh 4: 1648 vertices, 37 bones, material index 1
Offensichtlich degeneriert im Post-Processing-Schritt das größere Mesh (der Körper), das kleinere (die Axt) verliert seinen Bone und ist dann nicht mehr animiert, sondern liegt statisch im Ursprung.
Ich werde das Flag dementsprechend einfach nicht verwenden, aber ich will doch mal auf das Verhalten hinweisen, weil ich nicht weiß, ob das komplett durchdacht wurde, was das für Auswirkungen hat, wenn man das zum Preset aiProcessPreset_TargetRealtime_MaxQuality nimmt, welches relativ häufig defaultmäßig verwendet wird.
Gruß
mOfl
- Schrompf
- Moderator
- Beiträge: 4864
- Registriert: 25.02.2009, 23:44
- Benutzertext: Lernt nur selten dazu
- Echter Name: Thomas Ziegenhagen
- Wohnort: Dresden
- Kontaktdaten:
Re: Sinn von aiProcess_Debone
Der Step war ein Beitrag eines Community-Mitglieds. Meiner Meinung nach eine selbstherrliche Pfeiffe, aber da das ein offenes Projekt sein soll, darf man Beiträge nicht aufgrund persönlicher Animositäten ablehnen. Der Step ist aber komplett optional und kommt (hoffentlich) in keinem der Presets vor. Ich halte ihn für nutzlos.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Re: Sinn von aiProcess_Debone
Doch, wie bereits erwähnt:Schrompf hat geschrieben:Der Step ist aber komplett optional und kommt (hoffentlich) in keinem der Presets vor. Ich halte ihn für nutzlos.
Code: Alles auswählen
#define aiProcessPreset_TargetRealtime_MaxQuality ( \
aiProcessPreset_TargetRealtime_Quality | \
aiProcess_FindInstances | \
aiProcess_ValidateDataStructure | \
aiProcess_OptimizeMeshes | \
aiProcess_Debone | \
0 )
- Aramis
- Moderator
- Beiträge: 1458
- Registriert: 25.02.2009, 19:50
- Echter Name: Alexander Gessler
- Wohnort: 2016
- Kontaktdaten:
Re: Sinn von aiProcess_Debone
Oje - ich hab ehrlich gesagt keine Ahnung, wie das im Preset landen konnte. Muss da jedenfalls dringend raus.
- Artificial Mind
- Establishment
- Beiträge: 802
- Registriert: 17.12.2007, 17:51
- Wohnort: Aachen
Re: Sinn von aiProcess_Debone
Wie heißt nochmal "git blame" für svn? ;)
- Aramis
- Moderator
- Beiträge: 1458
- Registriert: 25.02.2009, 19:50
- Echter Name: Alexander Gessler
- Wohnort: 2016
- Kontaktdaten:
Re: Sinn von aiProcess_Debone
An der Art und Weise, wie ich es formuliert habe, konnnte man vermutlich schon heraushoeren dass ich den Patch damals eingecheckt habe :D
- Artificial Mind
- Establishment
- Beiträge: 802
- Registriert: 17.12.2007, 17:51
- Wohnort: Aachen
Re: Sinn von aiProcess_Debone
Ups, naja, ein Fix mehr :D
- kimmi
- Moderator
- Beiträge: 1405
- Registriert: 26.02.2009, 09:42
- Echter Name: Kim Kulling
- Wohnort: Luebeck
- Kontaktdaten:
Re: Sinn von aiProcess_Debone
Das ist falsch formuliert. Es sollte eher heißein: ein Fehler weniger :).
Gruß Kimmi
Gruß Kimmi
- Aramis
- Moderator
- Beiträge: 1458
- Registriert: 25.02.2009, 19:50
- Echter Name: Alexander Gessler
- Wohnort: 2016
- Kontaktdaten:
Re: Sinn von aiProcess_Debone
r1292, done.
-
- Establishment
- Beiträge: 191
- Registriert: 01.03.2009, 19:22
- Echter Name: David N.
Re: Sinn von aiProcess_Debone
Bugfix-Release? Der Debian-Zug ist aber wohl schon längst abgefahren…
- Aramis
- Moderator
- Beiträge: 1458
- Registriert: 25.02.2009, 19:50
- Echter Name: Alexander Gessler
- Wohnort: 2016
- Kontaktdaten:
Re: Sinn von aiProcess_Debone
Naja, notfalls kann man die Leute ja drauf hinweisen, nicht das aiProcessPreset_TargetRealtime_MaxQuality -Flag zu verwenden.
Aktuell trudeln einige Berichte ueber Probleme mit dem Obj-Loader ein. Warten wir ab, ob sich die bewahrheiten bzw. bis sie gefixt werden, dann koennten wir evtl. ein Bugfix-Release in Erwaegung ziehen.
Aktuell trudeln einige Berichte ueber Probleme mit dem Obj-Loader ein. Warten wir ab, ob sich die bewahrheiten bzw. bis sie gefixt werden, dann koennten wir evtl. ein Bugfix-Release in Erwaegung ziehen.
-
- Establishment
- Beiträge: 191
- Registriert: 01.03.2009, 19:22
- Echter Name: David N.
Re: Sinn von aiProcess_Debone
Naja, das Problem, das ich sehe, ist, dass wohl viele Leute, die sich nicht weiter um die Details kümmern wollen, einfach eines der Presets verwenden werden. Bin mir aber nicht sicher, ob ich mit meiner Einschätzung richtig liege – bzw. weiß ich auch nicht, in wie vielen Fällen der Debone-Step wirklich versagt.