Tipps & Tricks: AeroFly Professional

Tipps & Tricks: AeroFly Professional

Inhaltsverzeichnis
  1. Dein eigenes Konterfei in AFP?
  2. Game Commander erweitern
  3. Servos programmieren
  4. Schiebetür für AFP-Modelle


Dein eigenes Konterfei in AFP?


Geht ganz einfach:

Lade die Datei Juergen.zip auf Deinen Computer und kopiere die entpackten Dateien (Juergen.bmp, Juergen_trans.bmp, Juergen.obj) nach z.B. C:\Programme\IPACS\AeroFly Professional\scenery\desert.

Erstelle eine bmp-Datei mit Dir als Motiv (24 Bit Farbtiefe, Größe 256 x 512 oder 128 x 256). Der Hintergrund muß schwarz sein. Nenne die Datei z.B. Thomas.bmp.



Erstelle eine weitere bmp-Datei mit den gleichen Eigenschaften und lösche das Motiv daraus, so daß nur der schwarze Hintergrund bleibt. Nenne diese Datei Thomas_trans.bmp.



Speichere beide Bilder ebenfalls nach C:\Programme\IPACS\AeroFly Professional\scenery\desert.

Kopiere die Datei Juergen.obj und nenne sie Thomas.obj. Öffne diese Datei mit einem Editor, zum Beispiel Notepad, und ändere die Zeile

texture Juergen.bmp 0 0

in

texture Thomas.bmp 0 0

und speichere die geänderte Datei unter dem gleichen Namen ab.

Öffne die Datei desert.geo (C:\Programme\IPACS\AeroFly Professional\scenery) und füge am Schluß folgende Zeilen ein

//Thomas

POSITION     -26   18   4.03
OBJECT        desert/Thomas.obj

Die Daten in der Zeile POSITION kannst Du beliebig ändern wenn Dir die Position in AFP nicht gefällt, bzw. anpassen für anderen Szenerien.

Damit das Bild zu sehen ist, muß im AFP unter Grafik/Grafik Optionen die Baumdichte auf 1.00 stehen.

Danke auch an Arthur.

Viel Spaß beim basteln.

Jürgen

zurück zum Inhaltsverzeichnis



Game Commander erweitern

Den Game Commander kann man ganz einfach zu einem 4-Achsen/4-Tasten Joystick umbauen. So hat man die Möglichkeit in AeroFly Professional weitere Funktionen zu schalten:

z.B.
Einziehfahrwerk
Landeklappen
Schwenkflügel, bzw. Schwenkdüsen
Radbremse
Smoke

Dazu benötigt man folgendes Material:

2-2,5 m 10-pol. Kabel
1 Stck. 15-pol. SUB-D Stecker
3 Taster

Statt der 3 Taster kann man auch 1 Taster und 2 Schalter einbauen.



Viel Spaß beim basteln.

Jürgen

zurück zum Inhaltsverzeichnis



Servos programmieren

In einem selbst erstellten Modell kann man die Servos programmieren, um z.B. die Klappen zu öffnen, das Fahrwerk einzufahren und die Klappen wieder zu schließen.

Hinweis:
am Anfang der tmd muß das Servo folgendermaßen definiert werden:

Append tmdservo01 ServoName

Das Servo für die Klappen sieht folgendermaßen aus:

cd ServoLid/
SignalIn = ~Aircraft/Receiver/Out(24)
VelocityIn = 0.8
VelocityOut = 5
ValueNumber = 4
ValueIn(0) = -1
ValueOut(0) = 0
ValueIn(1) = -0.5
ValueOut(1) = 1
ValueIn(2) = 0.5
ValueOut(2) = 1
ValueIn(3) = 1
ValueOut(3) = 0
PositionFirst = -1
X = tmvector4r( 1.0000, 0.0000, 0.0000, 0 )
Y = tmvector4r( 0.0000, 1.0000, 0.0000, 0 )
Z = tmvector4r( 0.0000, 0.0000, 1.0000, 0 )
R = tmvector4r( 0.0000, 0.0000, 0.0000, 1 )
Mass = 0
RangeMassMax = 0
RangeMassMin = 0
Inertia = { 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000,
0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000 }
Kn = 1000
Dn = 20
Dv = 5
cd ../

das Servo für das Fahrwerk sieht so aus:

cd ServoGear/
SignalIn = ~Aircraft/Receiver/Out(24)
VelocityIn = 0.8
VelocityOut = 5
ValueNumber = 4
ValueIn(0) = -1
ValueOut(0) = 0
ValueIn(1) = -0.5
ValueOut(1) = 0
ValueIn(2) = 0.5
ValueOut(2) = 1
ValueIn(3) = 1
ValueOut(3) = 1
PositionFirst = -1
X = tmvector4r( 1.0000, 0.0000, 0.0000, 0 )
Y = tmvector4r( 0.0000, 1.0000, 0.0000, 0 )
Z = tmvector4r( 0.0000, 0.0000, 1.0000, 0 )
R = tmvector4r( 0.0000, 0.0000, 0.0000, 1 )
Mass = 0
RangeMassMax = 0
RangeMassMin = 0
Inertia = { 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000,
0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000 }
Kn = 1000
Dn = 20
Dv = 5
cd ../

Das ganze funktioniert dann folgendermaßen:
das Eingangssignal (von der Fernbedienung oder ein Tastendruck) bewegt sich gleichmäßig von ValueIn(0)=-1 nach ValueIn(1)=-0.5, während dieser Zeit läuft das Klappenservo von ValueOut(0)=0 nach ValueOut(1)=1 (Mittelstellung nach Rechtsausschlag) und das Fahrwerkservo läuft von ValueOut(0)=0 nach ValueOut(1)=0 (Mittelstellung nach Mittelstellung,also keine Bewegung).
Klappen öffnen sich, Fahrwerk bleibt ausgefahren.
Das Eingangssignal läuft weiter von ValueIn(1)=-0.5 nach ValueIn(2)=0.5, während dieser Zeit läuft das Klappenservo von ValueOut(1)=1 nach ValueOut(2)=1 (Rechtsausschlag nach Rechtsausschlag, also keine Bewegung) und das Fahrwerkservo läuft von ValueOut(1)=0 nach ValueOut(2)=1 (Mittelstellung nach Rechtsausschlag).
Klappen bleiben geöffnet, Fahrwerk wird eingefahren.
Das Eingangssignal läuft weiter von ValueIn(2)=0.5 nach ValueIn(3)=1, während dieser Zeit läuft das Klappenservo von ValueOut(2)=1 nach ValueOut(3)=0 (Rechtsausschlag nach Mittelstellung) und das Fahrwerkservo läuft von ValueOut(2)=1 nach ValueOut(3)=1 (Rechtsausschlag nach Rechtsausschlag, also keine Bewegung).
Klappen schließen, Fahrwerk bleibt eingefahren.

Und die Funktion grafisch dargestellt:



VelocityIn bestimmt wie schnell das Signal vom Input verarbeitet wird (je kleiner der Wert, desto schneller das Servo).
VelocityOut bestimmt wie schnell die Servobewegung ist, die auf die Klappe wirkt.
ValueNumber ist die Anzahl der Sequenzen(Value-Paare).
PositionFirst definiert in welcher Servoarm-Position angefangen wird. Also die Ausgangsposition.

Danke auch an Dietmar.

Viel Spaß beim programmieren.

Jürgen

zurück zum Inhaltsverzeichnis



Schiebetür für AFP-Modelle

In AFP-Modelle kann man auch lineare Bewegungen realisieren, z.B. eine Schiebetür an einem Helicopter:



Hier ein einfaches Beispiel für die tmd-Datei:

cd JointFuselageDoor/
X = tmvector4r( 1.0000, 0.0000, 0.0000, 0 )
Y = tmvector4r( 0.0000, 1.0000, 0.0000, 0 )
Z = tmvector4r( 0.0000, 0.0000, 1.0000, 0 )
R = tmvector4r( 0.0690, 0.02102, 0.0025, 1 )
Mass = 0.01
RangeMassMax = 0.2
RangeMassMin = 0
Inertia = { 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000,
0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000 }
Kn = 1000
Dn = 30
Dv = 5
Body0 = ../Fuselage/
Body1 = ../Door/
Kf = 4000
Df = 40
Ktx = 400
Dtx = 0.4
Kty = 400
Dty = 0.4
Ktz = 400
Dtz = 0.4
MaxForce = 400
MaxTorque = 400
Rigid = 0
Essential = 0
Angle = 1.5
AngleZ = 0
Axis = tmvector4r( 0.0000, 0.0000, 0.0000, 0 )
Displacement = tmvector4r( -0.1000, 0.0010, 0.0000, 0 )
Link2 = ~Aircraft/ServoDoor/MechLink
cd ../

In der Zeile Displacement wird die Bewegungsrichtung und Strecke angegeben:

-0.1000 10 cm nach hinten (Z)
0.0010 1 mm nach außen (X)
0.0000 keine Bewegung in der Senkrechten (Y)

Die Zeile Link2 ist für die Linearbewegung verantwortlich.

Den Beispiel-Helicopter könnt Ihr hier downloaden.

Danke auch an kossiossi und Lego

Viel Spaß beim basteln.

Jürgen

zurück zum Inhaltsverzeichnis


  www.kellerjuergen.de