AFP Modelle erstellen

Neue Modelle für Aerofly Professional
Workshop von Rodeo

v1: 26.05.2002

Setup:

Für ein neues afpro Modell benötigen wir ein neues Unterverzeichnis unter aircraft.

Nimm den gleichen Namen für das Verzeichnis und die Dateien.

Vermeide alle problematischen Zeichen wie Leerstellen, Umlaute usw.

Kopiere ausserdem die tmg- und tmd-Dateien von einem ähnlichen Flugmodell in deinen neuen Ordner

und benenne sie auf den neuen Namen um.

Dies ist die endgültige Struktur:

aircraftnewmodel
newmodel.bmp
newmodel.obj
newmodel.tmg
newmodel.tmd
thumb.bmp

eventuell:

soundnewmodel.wav

A. Graphische Konstruktion

Für ein neues Modell benötigen wir ein 3D-Maschenmodell.

Ich schlage vor, aus folgenden Gründen Metasequoia LE zu verwenden:


Es ist FREEWARE, macht also Raubkopieren überflüssig
Es ist einfach zu bedienen
Es kann viele der Operationen, die wir für die Modellerstellung benötigen
Es ist ein schlankes Programm und enthält keinen überflüssigen Ballast (Animationen usw.)
Es gibt einen Konverter von Metasequoia LE zu easyfly/piccofly und afpro

Metasequoia LE kannst du hier runterladen:

  http://www1.sphere.ne.jp/mizno/main_e.html


Halte diese Regeln ein, wenn du ein 3D Modell erstellst:

- Du musst für alle Bauteile des Modells eigene Objekte definieren.

- Wenn du zusätzliche Graphik erzeugst, wie etwa Zusatztanks, Waffen usw., solltest du diese ebenfalls als eigene Objekte ablegen.
Später im TMG-File können wir sie dann als Unterobjekte behandeln.

- Jedes Objekt kann genau nur 1 Bitmap enthalten. Vermeide es, mehrere Bitmaps oder eigene Farbdefinitionen auf 1
Objekt zu legen, sonst wird es hinterher in verschiedene Objekte zuerlegt, was ganz schön verwirren kann.

- Alle beweglichen Teile müssen als eigene Objekte angelegt werden
(Querruder, Landeklappen, Höhen-, Seitenruder, Einziehfahrwerke und Räder).

- Alle beweglichen Teile müssen aus geschlossenen Polygonen bestehen. Wenn du also aus einem Flügel ein
Querruder ausschneidest, musst du auf der offenen Seite des Ruders eine Fläche (Face, Triangle) platzieren.
Das ist unbedingt erforderlich für afpro,
weil diese Fläche verwendet wird, um die Rotationsachse des Ruders zu berechnen.

- Eventuell braucht dein Modell einen Propeller. Erzeuge einfache Blätter mit einer Steigung von ca. 20 Grad.
Pass auf die richtige Drehrichtung auf (rechtsherum).

- Öffne das TMG-File und sieh dir die Namen an, die du für deine Objekte verwenden solltest.

- Ein Objekt mit dem Namen 'Fuselage' (Rumpf) muss zwingend vorhanden sein.


Verwende irgendein Zeichenprogramm für die Erstellung eines Bitmaps, die einfachste Lösung heisst MS Paint.

Ich kann hier Pixia empfehlen, das recht gut ist und wie Metasequoia LE als FREEWARE zur Verfügung steht.

http://www.tacmi.co.jp/pixia/



Erstelle dein Bitmap als Quadrat mit 24 bit Farbtiefe, z.B. 256x256x24bpp oder 512x512x24 bpp.

Lies in den Metasequoia-Workshops nach, wie ein Bitmap auf dein 3D Modell gelegt wird.

Ausserdem kannst du Meta gut nutzen, um das kleine Bildchen für die Modellauswahl in afpro zu erstellen.

Mach einfach in Meta einen Schnappschuss von deinem Modell mit Bemalung.

Tip: Zusätzlich kannst du in Meta ein Hintergrundbild einblenden, um die Farben zu verändern.

Die Achsen und Gitterlinien lassen sich ausschalten, ebenso wie die Lines und Vertices.

Das gibt eine perfekte Modellansicht.


Kopiere deinen Schnappschuss in dein Zeichenprogramm, schneide die Ränder ab und skaliere das Bild auf 64x64 Pixel.

Speichere es dann als 'thumb.bmp' in dein neues Modellverzeichnis.


Die Konvertierung von Metasequoia LE zur afpro OBJ-Datei erfolgt mit einem Programm,
das du per email bei IPACS anfordern kannst.



B. TMG - Die Graphik-Definition


Diese Datei definiert alle Objekte, die in afpro sichtbar sind.

Ein Teil aus dem OBJ-File, das im TMG nicht definiert ist, wird nicht angezeigt..

Die TMG-Datei verwendet eine clevere Baumstruktur für die Objektdefinition.


Wie schon oben erwähnt, solltest du die TMG-Kopie eines Flugzeugs verwenden, das deinem neuen Modell ähnlich ist.

Anschliessend können wir loslegen, die Daten zu verändern und zu prüfen.



Die Baumstruktur möchte ich mit 3 Beispielen erklären.


1. Definition von einzelnen Hauptobjekten

Append tmgeometricobject LeftGear Hauptobjekt

cd LeftGear/

Geometry( "aircraft/rF86/rF86.obj", "Leftgear" )


cd .../ zurück zur Basis


Append tmgeometricobject RightGear Hauptobjekt

cd RightGear/

Geometry( "aircraft/rF86/rF86.obj", "Rightgear" )


cd .../ zurück zur Basis


Append tmgeometricobject FrontGear Hauptobjekt

cd FrontGear/

Geometry( "aircraft/rF86/rF86.obj", "Frontgear" )


cd .../ zurück zur Basis



2. Definition eines Unterobjekts

Append tmgeometricobject Stabilizer Hauptobjekt

cd Stabilizer/

Geometry( "aircraft/rJungmeister/rJungmeister.obj", "Stabilizer" )


Append tmgeometricobject Rudder Unterobjekt

cd Rudder/

Geometry( "aircraft/rJungmeister/rJungmeister.obj", "Rudder" )


cd .../ zurück zu Hauptobjekt


cd .../ zurück zur Basis


Append tmgeometricobject TailGear Hauptobjekt

cd TailGear/

Geometry( "aircraft/rJungmeister/rJungmeister.obj", "Tailgear" )


cd .../ zurück zur Basis



3. Definition of mehreren Unterobjekten

Append tmgeometricobject Fuselage Hauptobjekt

cd Fuselage/

Geometry( "aircraft/rRaceRat/rRaceRat.obj", "Fuselage" )


Append tmgeometricobject Glass Unterobjekt

cd Glass/

Geometry( "aircraft/rRaceRat/rRaceRat.obj", "Glass" )


cd .../ zurück zu Hauptobjekt


cd .../ zurück zur Basis


Append tmgeometricobject Propeller Hauptobjekt

cd Propeller/

Geometry( "aircraft/rRaceRat/rRaceRat.obj", "Propeller" )


Append tmgeometricobject Blade1 Unterobjekt

cd Blade1/

Geometry( "aircraft/rRaceRat/rRaceRat.obj", "Blade1" )


cd .../ zurück zu Hauptobjekt


Append tmgeometricobject Blade2 nächstes Unterobjekt

cd Blade2/

Geometry( "aircraft/rRaceRat/rRaceRat.obj", "Blade2" )


cd .../ zurück zu Hauptobjekt


cd .../ zurück zur Basis



Beachte diesen Regeln:

- Alle Objekte aus dem OBJ-File, die in afpro dargestellt werden sollen, müssen definiert sein.

- Die Baumstruktur muss passen, sonst gibt es einen Programmabsturz.

- Die letzten Anweisungen cd../ führen zurück zur Basis ( deswegen können am Ende der Datei 1
oder 2 cd../ Anweisungen nötig sein.
Das hängt davon ab, ob das letzte Objekt Unterobjekte hat oder nicht).

- Achtung: Die Objektnamen können sich von den Namen im OBJ-File unterscheiden.

- Um Verwechslung zu vermeiden, sollten die Namen möglichst gleich sein.

- Die Objektnamen im TMG sollten möglichst nicht verändert werden, damit die Definition zum
TMD-File passt. Also verwende diese Namen auch im OBJ-File.

- Beachte Gross-/Kleinschreibung.

Tip: Wenn die Daten im OBJ, BMP und TMG korrekt sind, zeigt afpro das vollständige Modell nach der

Auswahl im Hauptbildschirm an. Falls irgendein Teil fehlen sollte, stimmt die Definition noch nicht.


C. TMD - Die Flugmodell-Daten

Das TMD-File enthält zahlreiche Datenabschnitte.

Zuerst stehen dort die Joint-Definitionen und die Definitionen aller für das Flugmodell relevanten Objekte.

Dazu gehören die Klebestellen, die graphischen Objekte, aber auch Empfänger und Servos.

Dann folgen die Daten der Joints sowie die Daten aller anderen Objekte.

Das TMD kopiert man sinnvollerweise vom gleichen Modell wie das TMG,

dadurch ist schon mal sichergestellt, dass die beiden zusammenpassen.

Es ist zwingend erforderlich, dass das TMD-File der Struktur des TMG-Files entspricht.

Folgende Regeln sind einzuhalten:

- Alle Objekte, die im TMG definiert sind, sollten im TMD enthalten sein.

- Prüfe die Schreibweise in beiden Dateien.

- Alle Hauptobjekte müssen durch die Joints zusammengehalten werden, sonst fallen die Teile vom Modell ab.

- Alle Hauptobjekte müssen in der Definition des TMD genannt werden.

- Ein Teil mit einem beweglichen Objekt muss einen entsprechenden Verweis zu diesem Objekt enthalten
(z.B. Flügel mit Querruder).

- Ausserdem muss dann noch der Verweis auf das entsprechende Servo vorhanden sein.

- Für ein bewegliches Teil muss ein Servo definiert sein.

- Eine 'engine' muss immer vorhanden sein, auch wenn das Objekt graphisch nicht präsent ist.


Tip: Wenn all diese Schritte durchgeführt wurden, kannst du dein Modell in afpro laden.

Starte jetzt noch nicht, sondern wähle die Edit-Funktion.

Dort kannst du die Werte für Gewicht, Schwerpunkt, Leistung usw. einstellen.

Beende anschliessend afpro und öffne das TMD erneut zum Editieren.

Tip: Wenn die Geometrie der beweglichen Teile korrekt ist, berechnet afpro automatisch die Rotationsachsen.

Tip: Für die nächsten Schritte müssen wir einige Koordinaten eingeben. Öffne dazu parallel das OBJ-File

und suche das zugehörige Objekt. Dort kannst du die passenden Werte finden.

Joints:
Wenn rigid =1 können die Teile nicht auseinanderbrechen, wenn der Wert 0 beträgt, müssen wir die Klebekräfte angeben.


cd JointFuselageEngine/

Rigid = 1


Der Wert für die Klebestelle muss in der R Zeile angegeben werden (ungefähr Bereich der Flächensteckung)


cd JointFuselageLeftWing/

R = tmvector4r( 0.0500, 0.0000, 0.2610, 1 )



Definiere the Kräfte und Dämpfungseingenschaften in den folgenden Zeilen.
Starte mit K-Werten von 10-100 (abhängig von Grösse und Gewicht des Modells), und D-Werten von 0.1-1.

Teste in afpro, ob die Teile zusammenhalten oder auseinanderfallen. Dann müssen die Werte vergrössert werden.


Beispiel des Joints fuselage-wing für den Bleriot Slowflyer:
Kf = 400

Df = 1

Ktx = 12

Dtx = 0.15

Kty = 12

Dty = 0.15

Ktz = 12

Dtz = 0.15

MaxForce = 10

MaxTorque = 2.5

Rigid = 0

Beispiel des Joints fuselage-wing für die Spitfire:

Kf = 80000

Df = 100

Ktx = 8000

Dtx = 6

Kty = 8000

Dty = 6

Ktz = 8000

Dtz = 6

MaxForce = 1500

MaxTorque = 150

Rigid = 0

Wings:
Definiere die Flächenwurzel RootR

Definiere den Wert RootN, um die Richtung zu bestimmen (1 geht nach links, -1 geht nach rechts)


cd Leftwing/

Sections = 2

RootR = tmvector4f( 0.1000, 0.2300, -0.0900, 1.0000 )

RootN = tmvector4f( 0.0000, 1.0000, 0.0000, 0.0000 )


cd Rightwing/

Sections = 2

RootR = tmvector4f( 0.1000, -0.2300, -0.0900, 1.0000 )

RootN = tmvector4f( 0.0000, -1.0000, 0.0000, 0.0000 )



Einziehfahrwerk:
Definiere den Montagepunkt des Einziehfahrwerks. Wenn Retractable = 1 Einziehfahrwerk möglich, starr bei Retractable = 0.

Definiere die Rotationsachse in RetractZ.

Definiere den Rotationswinkel RetractAngle.


cd Rightgear/

MountingR = tmvector4f( 0.1800, -0.6200, -0.1400, 1.0000 )

MountingZ = tmvector4f( 1.0000, 0.0000, 0.0000, 0.0000 )

Retractable = 1

RetractZ = tmvector4f( 1.0000, 0.5000, 0.4000, 0.0000 )

RetractAngle = -1.4



Das Gewicht einzelner Objekte ist leicht zu ändern:
Die Datei enthält Angaben zum aktuellen Gewicht einzelner Teile sowie zu Minimum und Maximum.

Dies kann man gezielt ändern.

Mass = 7

RangeMassMax = 10

RangeMassMin = 1.25



Es gibt verschiedene Antriebe für die unterschiedlichen Modelle.
Davon hängen die weiteren Parameter in der TMD-Datei ab.



Normaler Verbrennungsmotor:
Append tmdengine00 Engine

cd Engine/

cd ../


Elektrischer Motor:
Append tmdengine10 Engine

cd Engine/

cd ../


Jet Turbine:

Append tmdturbine00 Turbine

cd Turbine/

cd ../



Werte für Abgase und Rauch:

cd Fuselage/

SmokeR = tmvector4r( 0.3500, 0.0000, -0.0200, 1 )



cd Engine/

ExhaustR = tmvector4r( 0.2000, 0.0000, 0.0000, 1 )



D. Bereit zum Take off - Starte afpro

Starte afpro erneut und wähle dein neues Modell aus.

Wenn bis hierher alles geklappt hat, kannst du nun den Flug geniessen.


Viel Spass!

rodeo