WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Designer Forum (http://www.wcm.at/forum/forumdisplay.php?f=61)
-   -   Drag shute in Gmax (http://www.wcm.at/forum/showthread.php?t=176806)

Sharkey 26.10.2005 00:55

Drag shute in Gmax
 
Hallo Ihr GMAX Gelehrten!!!

Kann mir bitte jemand verraten, ob es in GMAX möglich ist, einen Bremsschirm umzusetzen, so als Fake-reverser. Das Problem dabei ist, dass er nur zu sehen sein soll, wenn der Reverser aktiv ist, und er zu gross ist, um ihn die übrige Zeit, wo er nicht aktiv ist, im Flugzeug zu verstecken.

Bitte um Rat

Vielen Dank im Voraus!

derBruchpilot 27.10.2005 18:22

Ja.
Das Verpacken im nicht ausgefalteten Zustand ist entbehrlich, wenn man die Sichtbarkeit des Objektes in der makemdl.parts über den Eintrag
PHP-Code:

<visible_in_range

steuert.
Nachteil ist, dass das Entfalten nicht animiert dargestellt wird und der Schirm beim Ausrollen nicht zusammenfällt und auch nicht absinkt.
Beispiel:
Der Schirm ist in gmax modelliert und heißt "MIG25_Chute"
In die makemdl.parts folgenden Teil einfügen:
PHP-Code:

<part>
    <
name>MIG25_Chute</name>
    <
visible_in_range>
        <
parameter>
            <
code>
                (
A:FLAPS HANDLE PERCENT,percent50 &gt;
                (
A:SPOILERS HANDLE POSITION,percent50 &gt; &amp;&amp; if{ els}
            </
code>
        </
parameter>
        <
minvalue>1</minvalue>
    </
visible_in_range>
</
part

Der Schirm wird sichtbar, wenn Flaps UND Spoiler zu jeweils 50% ausgefahren werden. Die Steuerung über eine andere Variable (siehe parameters.doc) ist machbar. Grundsätzlich könnte auch eine L-Variable eingesetzt werden (manuelles Auslösen des Schirmes), über die dann auch der Reverser getriggert wird.


Gruß R.

derBruchpilot 27.10.2005 18:29

Wenn man zusätzlich noch das zusammenfallen des Schirmes darstellen will:

1. Einen dummy mit Namen "MIG..." erzeugen. Dieser steuert dann die Sichtbarkeit.
2. Den eigentlichen Schirm "MIG25_mov_chute" modellieren und an den dummy in der gmax-hierarchie anhängen.
3. Die Animation des Schirmes in gmax modellieren.
4. In der makemdl.parts folgenden Teil einfügen:
PHP-Code:

<part>
    <
name>MIG25_mov_chute</name>
    <
animation>
        <
parameter>
            <
code>
                (
A:AIRSPEED TRUEknots25 &gt;
                if{ 
                    (
A:AIRSPEED TRUEknots35 &gt;
                    if{ 
                        (
A:AIRSPEED TRUEknots45 &gt;
                        if{
                            (
A:AIRSPEED TRUEknots55 &gt;
                            if{ 
                                (
A:AIRSPEED TRUEknots650 &gt
                                if{ 
els20 }
                            }
                            
els40 }
                        }
                        
els60 }
                    }
                    
els80 }
                } 
                
els100 }
            </
code>
            <
lag>200</lag>
        </
parameter>
    </
animation>
</
part

Bei Erreichen der entsprechenden Geschwindigkeit springt der Schim dann zum entsprechenden animations-tag (0-20-40-60-80-100). Über den lag-Parameter die Geschwindigkeit des Springens so anpassen, dass beim Ausrollen eine flüssige Bewegung des Schirmes zustande kommt.


Gruß R.

derBruchpilot 27.10.2005 18:49

Das Ganze sieht (ohne Animation) wie im Anhang aus. Die animation lohnt sich nicht, das AI-Flieger (in ähnlicher Weise wird aber das Schwenken der Tragflächen geschwindigkeitsbahängig gesteuert). Die Steuerung der Sichtbarkeit über Flaps und Spoiler sollte eigentlich bewirken, dass der Schirm unmittelbar vor dem Aufsetzen geworfen wird, hat leider nicht funktioniert.


Gruß R.

Sharkey 28.10.2005 01:18

Vielen Dank, Bruchpilot !!!...
 
...für diese Tips:lol: Bin total happy. Stand das in einem der SDK´s, oder wo erfährt man das sonst? Hast Du vielleicht auch eine Idee, wie man den Schaltern von XML-Gauges, Klickgeräusche beibringen kann? In C++ bin ich leider eine totale Null.
Jedenfalls nochmals vielen Dank !!!:bier:

derBruchpilot 28.10.2005 02:56

Re: Vielen Dank, Bruchpilot !!!...
 
Zitat:

Original geschrieben von Sharkey
Hast Du vielleicht auch eine Idee, wie man den Schaltern von XML-Gauges, Klickgeräusche beibringen kann?
Es gibt ein gauge, über das man xml-gauges die unerschiedlichsten Töne beibringen kann. Das gauge nennt sich dsd_xml_sound2.zip, such mal bei avsim nach Doug Dawson.
Das gauge wird in das panel eingebunden:

gauge93=dsd_xml_sound3!dsd_xml_sound3, 2,2,5,5, .\Sound\IL62_panelsounds.cfg //sound control

Die Angabe "\Sound\IL62_panelsounds.cfg" besagt, dass die zugehörige Sound-Steuerdatei IL62_panelsounds.cfg im Sound-Ordner des Flusi (und nicht des Flugzeuges) liegt.

Diese selbst sind im konkreten Fall wie folgt aus:
[Config]
MaxSounds=10
LvarStop=dsd_stop_sounds

[LVars]
Lvar00=IL62_CLICK_1
Lvar01=IL62_WSU_1
Lvar02=IL62_WSU_2
Lvar03=IL62_WSU_3
Lvar04=IL62_zazlonki

[Sounds]
Sound00=./Sound/IL62_switch_large.wav
Sound01=./Sound/IL62_WSU_1.wav
Sound02=./Sound/IL62_WSU_2.wav
Sound03=./Sound/IL62_WSU_3.wav
Sound04=./Sound/IL62_zazlonki.wav

Der Sound 04 hat erzeugt das Geräusch "IL62_zazlonki.wav", welches ebenfalls im Sound-Ordner des Flusi abgelegt wird, der Sound 00 das Geräusch "IL62_switch_large.wav". Gesteuert wird das Geräusch über die jeweils zugehörige L-Variable, also 04 über L:IL62_zazlonki, Geräusch 00 über IL62_CLICK_1.

Im entsprechenden gauge muss dann der L-Variablen ein Wert zugewiesen werden, 1 - einmaliges Abspielen, 2- Abspielen als Endlosschleife, 0- Stop.

Im gauge selber sieht das wie folgt aus:
PHP-Code:

<Gauge Name="Generator_GA" Version="1.0">
 
   <
Element>
      <
Select>
         <
Value>
        (
G:Var1
    </
Value>
         <Case 
Value="0">
            <
Image Name="sw_d1.bmp" ImageSizes="40,80,40,80"/>
         </Case>
         <Case 
Value="1">
            <
Image Name="sw_u1.bmp" ImageSizes="40,80,40,80"/>
         </Case>
      </
Select>
   </
Element>  
 

 <
Element>
      <
Select>
         <
Value>
        (
L:U_WSUvolt==        
        if{ 
(&gt;G:Var2(&gt;G:Var1) }
        
        (
L:U_WSUvolt) (L:Schiena_51B_spannung,volt) &gt;        
        (
G:Var1) &amp;&amp
        if{ 
(&gt;G:Var2) }

        (
L:U_WSUvolt) (L:Schiena_51B_spannung,volt) &lt;        
        (
G:Var2) &amp;&amp;
        if{ 
(&gt;G:Var2(&gt;G:Var1(&gt;L:IL62_CLICK_1,enum) }

         (
G:Var2
        if{ (
L:U_WSUvolt) (&gt;L:U_GA_out,volt) }
        
els(&gt;L:U_GA_out,volt) }
    </
Value>
      </
Select>
   </
Element

   <
Element>
     <
Position X="10" Y="110"/>
            <
Text Bright="Yes" X="25" Y="12" Length="6" Fixed="Yes" Font="Quartz" Color="#FF00FF" Adjust="Center" VerticalAdjust="Center">
         <
String>%((L:U_WSUvolt) (L:Schiena_51B_spannung,volt) &gt; (G:Var1) &amp;&amp;)%!4.2f!</String>
      </
Text>
   </
Element>   
<
Mouse>
        
           <
Area Left="0" Top="0" Right="40" Bottom="40">
              <
Cursor Type="UpArrow"/>
                  <
Click
                
(&gt;G:Var1(&gt;L:IL62_CLICK_1,enum)
            </
Click>
            </
Area>
            <
Area Left="0" Top="40" Right="40" Bottom="80">
              <
Cursor Type="DownArrow"/>
                  <
Click
                
(&gt;G:Var1(&gt;L:IL62_CLICK_1,enum)
            </
Click>
           </
Area>
   </
Mouse>
</
Gauge

Interessant ist hier die der Eintrag
PHP-Code:

            <Area Left="0" Top="40" Right="40" Bottom="80">
              <
Cursor Type="DownArrow"/>
                  <
Click
                
(&gt;G:Var1(&gt;L:IL62_CLICK_1,enum)
            </
Click>
           </
Area

Beim Mausklick an der betreffenden Stelle wird nicht nur der Variablen G:Var1 der Wert 0 zugewiesen, sondern auch der L:IL62_CLICK_1 der Wert 1. Diese steuert dann über die _sound.cfg das Klicken.
Prinzipiell kann man das Geräusch an eine beliebige L-Variable hängen, wenn man den Wwertebereich für die Zuweisung einhält, aus Gründen der Übersichtlichkeit bevorzuge ich jedoch gesonderte "Klick"-Variablen. Die L:IL62_CLICK_1 wird dann in jedem gauge verwendet, welches "Klicken" soll.


Gruß R.

Sharkey 09.11.2005 20:21

Vorschaubild beeinträchtigt
 
Hi Bruchpilot!

Nochmal recht herzlichen Dank für die genialen Tipps. Ein Problem habe ich allerdings noch. Durch das Modellieren des Schirms ist die Gesamtlänge des Flugzeuges, wenn auch nicht immer sichtbar, sehr gestiegen. Deshalb wird im FS die default Entfernung automatisch sehr gross gewählt und somit auch das Vorschaubild bei der Flugzeugauswahl extrem klein. Gibt´s da eine Möglichkeit, manuell zu definieren, was in der Vorschau angezeigt wird, bzw. welche Entfernung (nicht zoom) bei der Aussenansicht automatisch eingestellt wird?

Vielen Dank nochmal!!!

derBruchpilot 09.11.2005 21:01

Das Problem kann ich momentan so nicht nachvollziehen, bei mir sieht's auch mit Schirm (siehe Anhang) recht normal aus.


Gruß R.

derBruchpilot 09.11.2005 21:12

Wenn Du mit LOD's und/oder exterior/interior arbeitest, könnte es sein, dass der in der Hierarchie am weitesten oben stehende Dummy zu groß ist. Im Bild ist das der blaue Quader, der auch im Auswahlfenster markiert ist. Meiner Meinung nach steuert er die Größe des Vorschaubildes. Je größer er im Vergleich zum eigentlichen Flugzeug ist, desto kleiner dann das Flugzeug im Vorschaubild.


Gruß R.

EduHir 09.11.2005 23:02

Rolf,
baust du eine MIG25??

Wird die der Öffentlichkeit zugänglich?

edi


Alle Zeitangaben in WEZ +2. Es ist jetzt 05:22 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag