Diskussion:Blenderexporter: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
K (Das mit dem Hauptseite/_Kategorie:Trampelpfad_/Enginepfad ... hat wohl nicht so toll hin gehauen.)
(Offlinebearbeitung)
 
(2 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 2: Zeile 2:
  
 
Bitte verlinke den neuen Artikel dann gut im Wiki! Der Alte konnte nur über [[Hauptseite]]/Trampelpfad/[[Enginepfad]]/[[Leveleditoren]]/[[Blenderscript]] ereicht werden
 
Bitte verlinke den neuen Artikel dann gut im Wiki! Der Alte konnte nur über [[Hauptseite]]/Trampelpfad/[[Enginepfad]]/[[Leveleditoren]]/[[Blenderscript]] ereicht werden
 +
 +
== Offlinebearbeitung ==
 +
 +
Der Artikel ist bereits seit mehreren Monaten als "Offline in Bearbeitung" markiert und in der Zeit sind keine Änderungen erfolgt. Wird noch dran gearbeitet, oder ist ber bereits fertig. Bei letzterem bitte Offline-Tag entfernen.
 +
 +
[[Benutzer:Sascha Willems|Sascha Willems]] 15:58, 13. Dez 2006 (CET)
 +
 +
== Erweiterung ==
 +
 +
Finde den Artikel auch sehr schön und die Idee nur Codeschnipssel zur verfügung zu stellen auch besser, als ein kompletten Loader.
 +
Was ich noch für meine Zwecke z.B. vermisse sind die Properties. Das Property System von Blender ist einfach und ein absolutes muss für Games.
 +
Da man so sehr einfach Entities wie z.B. Partikel Emitter, Trigger, Dropzones, Physik und Script-basierte Modifierer in Blender einfach platzieren kann(die Empty Objekte sind dafür gedacht).
 +
[[https://svn.linuxprofessionals.org/filedetails.php?repname=karmarama&path=%2Ftrunk%2Fdemos%2Fdata%2Fexporter.py]]
 +
Das ist mein aktueller Exporter, der auch die Property Daten jedes Objektes mit abspeichert.
 +
Das speichern ist ziemlich einfach, da es nur 4 Typen gibt und strings eine feste länge von 32 Zeichen haben.
 +
objs=Blender.Object.Get()
 +
for obj in objs:
 +
  objtyp=obj.getType()
 +
  props=obj.getAllProperties();
 +
  for prop in props:
 +
    self.properties.append(TKar_Property(prop.name,prop.type,prop.data))
 +
    self.size=self.size+self.properties[len(self.properties)-1].size
 +
 +
TKar_Property ist eine Klasse, die ich angelegt hab, die sich darüm kümmert, das der Typ erkannt wird und die Datengröße und name korrekt sind.
 +
FLOAT und INT sind 4 Byte groß, BOOL ist 1 Byte und STRING wie erwähnt 32Byte.
 +
Propertyname+Propertytyp+PropertyDataSize=40Byte und dann muss noch je nach Typ entsprechend 4,1 oder 32 Byte drauf addiert werden.

Aktuelle Version vom 22. März 2009, 13:07 Uhr

Denke mal der Artikel kann dan den Artikel Blenderscript ablösen. Interessant wäre vorallem wie man das exportierte Modell dan wieder laden kann.

Bitte verlinke den neuen Artikel dann gut im Wiki! Der Alte konnte nur über Hauptseite/Trampelpfad/Enginepfad/Leveleditoren/Blenderscript ereicht werden

Offlinebearbeitung

Der Artikel ist bereits seit mehreren Monaten als "Offline in Bearbeitung" markiert und in der Zeit sind keine Änderungen erfolgt. Wird noch dran gearbeitet, oder ist ber bereits fertig. Bei letzterem bitte Offline-Tag entfernen.

Sascha Willems 15:58, 13. Dez 2006 (CET)

Erweiterung

Finde den Artikel auch sehr schön und die Idee nur Codeschnipssel zur verfügung zu stellen auch besser, als ein kompletten Loader. Was ich noch für meine Zwecke z.B. vermisse sind die Properties. Das Property System von Blender ist einfach und ein absolutes muss für Games. Da man so sehr einfach Entities wie z.B. Partikel Emitter, Trigger, Dropzones, Physik und Script-basierte Modifierer in Blender einfach platzieren kann(die Empty Objekte sind dafür gedacht). [[1]] Das ist mein aktueller Exporter, der auch die Property Daten jedes Objektes mit abspeichert. Das speichern ist ziemlich einfach, da es nur 4 Typen gibt und strings eine feste länge von 32 Zeichen haben. objs=Blender.Object.Get() for obj in objs:

 objtyp=obj.getType()
 props=obj.getAllProperties();
 for prop in props:
   self.properties.append(TKar_Property(prop.name,prop.type,prop.data))
   self.size=self.size+self.properties[len(self.properties)-1].size

TKar_Property ist eine Klasse, die ich angelegt hab, die sich darüm kümmert, das der Typ erkannt wird und die Datengröße und name korrekt sind. FLOAT und INT sind 4 Byte groß, BOOL ist 1 Byte und STRING wie erwähnt 32Byte. Propertyname+Propertytyp+PropertyDataSize=40Byte und dann muss noch je nach Typ entsprechend 4,1 oder 32 Byte drauf addiert werden.