![]() |
Sichtbarkeit von Effekten
Ich habe folgendes Problem:
Habe in Gmax ein Turm erstellt, der mit Antikollisionslichtern funktionieren soll. Soweit so gut. Als Effekte habe ich die fx_navredh verwendet, die ja auch an den Flächen der Flugzeuge dran sind. Das Problem ist aber, während man die Lichter der Flugzeuge einige Meilen weit erkennen kann, ist bei meinem Turm schon nach wenigen Metern Schluß mit der Sichtbarkeit. Mir ist auch aufgefallen, daß die "Größe des Lichtkegels" bei den Maschinen um einiges größer ist, als der von mir eingebundene Effekt. Gibt es da noch Parameter, die zugeordnet werden können (Intensität, Leuchtkraft, Größe, ect.)? In der Beschreibung habe ich nichts finden können, oder vielleicht überlesen? Als Anhang mal das, was ich meine |
Hallo Volker,
ich melde mal berechtigte Zweifel an. Meines Wissens wird die Intensität von Lichteffekten (ich meine jetzt nicht Lichter, die in gmax über Materialien erzeugt werden) nur in der fx-file geregelt. Der Helligkeitsunterschied dürfte ein Wahrnehmungsproblem sein. Ich habe mal mit fx-en rumexperimentiert, weil ich einen rotierenden 3D-Lichtstrahl haben wollte, der schräg nach oben geht. Leider sind die Informationen über fx-design recht dünn, deshalb auch mein Vorschlag, in einer fxp das Thema zu behandeln. Ein fx-file besteht aus dem Kopf: [Library Effect] Lifetime=5 Version=2.00 Display Name=Obstruction Light Radius=10000 Priority=0 Bis auf den Namen sollte man ihn tunlichst unverändert lassen. Der Radius soll angeblich angeben, bei welcher entfernung zum Betrachter der Effekt eintritt- allerdings habe ich bislang zumindest bei Lichteffekten keine Auswirkungen feststellen können. Die Sektion properties regelt, wo der effekt sichtbar ist: [Properties] Cockpit=1 VirtualCockpit=1 Spot=1 Tower=1 Map=1 Am besten alles so lassen, hier ist er überall zu sehen (außer Map, Lichteffekte werden da wohl generell nicht angezeigt. Dann kommen drei Sektionen: [Emitter.0] [Particle.0] [ParticleAttributes.0] |
Der Emitter ist die berühmte "Konfettikanone". Sowohl rauch als auch Lichter sind Konfettischnipsel, die vom Emmitter ausgestoßen werden.
Für ein Blitzlich sieht der Emitter so aus: [Emitter.0] Lifetime=0.00, 0.00 Delay=0.00, 0.00 Bounce=0.00 No Interpolate=1 Rate=1.50, 1.50 X Emitter Velocity=0.00, 0.00 Y Emitter Velocity=0.00, 0.00 Z Emitter Velocity=0.00, 0.00 Drag=0.00, 0.00 X Particle Velocity=0.00, 0.00 Y Particle Velocity=0.00, 0.00 Z Particle Velocity=0.00, 0.00 X Rotation=0.00, 0.00 Y Rotation=0.00, 0.00 Z Rotation=0.00, 0.00 X Offset=0.00, 0.00 Y Offset=0.00, 0.00 Z Offset=0.00, 0.00 Pitch=0.00, 0.00 Bank=0.00, 0.00 Heading=0.00, 0.00 Für den Startup-Rauch so: [Emitter.0] Lifetime=0.50, 0.55 Delay=0.00, 0.00 Bounce=0.00 Rate=20.00, 20.00 X Emitter Velocity=0.00, 0.00 Y Emitter Velocity=0.00, 0.00 Z Emitter Velocity=0.00, 0.00 Drag=0.00, 0.00 X Particle Velocity=-0.50, 0.00 Y Particle Velocity=-1.00, -1.00 Z Particle Velocity=-1.00, -1.00 X Rotation=0.00, 0.00 Y Rotation=0.00, 0.00 Z Rotation=0.00, 0.00 X Offset=0.00, 0.00 Y Offset=-0.50, -0.50 Z Offset=0.00, 0.00 Pitch=0.00, 0.00 Bank=0.00, 0.00 Heading=0.00, 0.00 |
Bevor wir auf die einzelnen Punkte zu sprechen kommen: es gibt offensichtlich zwei Arten von Effekten: statisch und nicht statisch:
statische Effekte werden wiederholt ausgeführt, solange sich das Objekt in Reichweite des Betrachters befindet, nichtstatische werden nur einmal ausgeführt (kann man aber über Controller triggern). Deshalb habe statische Emitter keine Lifetime (siehe erstes Beispiel), nicht-statische schon (2. Beispiel). Nach 0,5 sec stellt also der Emitter das emittieren ein (es qualmt länger, weil der effekt mehrere Emitter hat. Wichtig ist, das ein Emitter nur eine ganz bestimmte Art von Teilchen ausstoßen kann -also dicke dunkle oder dünne helle). Da unser Blinki ständig blinken soll, wählen wir also einen statischen Effekt. Eingestellt wird das sinnigerweise nicht in der Emitter-Sektion, sondern in der Particle Sektion mit dem Parameter Static=1 In der Emitter-Sektion lassen wir also die Einträge Lifetime=0.00, 0.00 Delay=0.00, 0.00 Bounce=0.00 unberührt, sie haben eh keinen Einfluss. X Rotation=0.00, 0.00 Y Rotation=0.00, 0.00 Z Rotation=0.00, 0.00 funktionieren mit statischen Effekten nicht, ansonsten würden sie angeben, wie weit sich der Emitter um die Achse dreht (mein Lichtstrahl, aber das der ständig lichtern soll, ist der effekt statisch, funktioniert also so nicht). X Offset=0.00, 0.00 Y Offset=-0.50, -0.50 Z Offset=0.00, 0.00 Pitch=0.00, 0.00 Bank=0.00, 0.00 Heading=0.00, 0.00 sind jetzt wichtig. |
Die Offset-Werte geben an, wie weit die Konfettikanone von den Koordinaten in der aircraft.cfg bzw. in gmax vom attachpoint entfernt ist. Da der flusi bei smoke-Effekten die z-Koodinate in der aircraft.cfg beharrlich ignoriert, kann man hier den rauch richtig positionieren, muss dann aber für jeden Flieg eine eigene fx-Datei schreiben.
Die Winkelwerte sagen, in welche Richtung die Kanone schießt. Da mein Blinki von überall gleichmäßig zu sehen sein soll, sind die Werte 0, bei meinem Lichtstrahl habe ich ein Heading angegeben, damit er sich in den Himmel bohrt. Bei den Parametern stehen immer zwei Werte. Wenn ich das richtig kapiert habe, hat der Flusi so eine Art Zufallsgenerator und schwankt bei jedem Ausstoß zwischen den Werten. Ist wichtig, sonst würde man immer nur streng geometrische Rauchwolken erzeugen können. Wenn Schwankungen unerwünscht, beide Werte gleichsetzen. Die Emitter-velocties geben wohl an, ob und wieweit sich die Schneekanone in welcher Richtung bewegt, aber sicher bin ich mir hier nicht. Die particle-velocities geben an, wie weit sich die PArtikel in welche Richtung bewegen, Angabe wohl in Metern. MAcht bei Rauch Sinn, bei Licht weniger, es sei denn, wir simulieren eine explodierende Petroleumlampe. Jetzt zur Partikel-Sektion: [Particle.0] Lifetime=0.10, 0.10 Type=19 X Scale=5.20, 5.20 Y Scale=5.20, 5.20 Z Scale=0.00, 0.00 X Scale Rate=0.00, 0.00 Y Scale Rate=0.00, 0.00 Z Scale Rate=0.00, 0.00 Drag=0.00, 0.00 Color Rate=0.00, 0.00 X Offset=0.00, 0.00 Y Offset=0.00, 0.00 Z Offset=0.00, 0.00 Fade In=0.00, 0.00 Fade Out=0.00, 0.00 Rotation=0.00, 0.00 Static=1 Face=1, 1, 1 |
Liftime ist die Lebensdauer in Sekunden. Im Beispiel lebt das Partikel also 0,1 Sekunden, ist also genauso lange zu sehen. Die Rate war 1,5, also alle 0,66 Sekunden wird für 0,1 Sek geblitzt, dazwischen ist es dunkel. Damit steuere ich also die Blinkfrequenz. Wenn ich die Rate auf 2 setze und die Liftime mit 0,5 angebe, habe ich unter Umständen konstantes Licht, über die Farben und die Werte für fade kann ich aber ein weiches Auf-und Ausglimmern erzeugen.
Wichtig für die Größe des Effektes sind hier die Werte für scale und scale-Rate. Je größer scale, umso größer wird das Teilchen "aufgepumpt", die scale-rate regelt wohl wie schnell. Hier müsstest Du also ansetzen, wenn Du das Licht "fetter" machen willst. Meine Werte sind schon sehr fett, damit man das Licht schon aus großer Entfernung sieht. Allerdings schränken dunkle Farben die Erkennbarkeit auf große Entfernungen doch deutlich ein. Wichtig sind hier: Rotation=0.00, 0.00 Static=1 Face=1, 1, 1 Der Rotationswert gibt an, um wieviel Grad pro Sekunde sich das Teilchen dreht, bei statischen Effekten kann man hier den ganzen effekt rotieren lassen. Allerdings lassen sich hier die Achsen nicht einzeln einstellen, deshalb taumelt mein Lichtstrahl, wenn ich ihm einen heading-Wert gebe. Im Smoke-Beispiel steht hier: Rotation=-10.00, 10.00 Die große Streuung von -10 bis +10 ergibt hier eine Art Verwirbelung. Static habe ich oben schon angesprochen. Face gibt an, ob das Teilchen in den drei Achsen immer zum Betrachter gerichtet (also sichtbar) ist oder nicht. In der Partikel-Sektion sind übrigens die Offset-Werte bei statischen Effekten wirkungslos. (ich habe übrigens kein Beispiel gefunden, wo hier was anderes als 0 steht.) |
In der Sektion
[ParticleAttributes.0] Blend Mode=2 Texture=fx_0obs.bmp Bounce=0.00 Color Start=5, 255, 0, 180 |
sind die Color-Werte interessant. Das sind RGB+Alpha werte, damit wird die Farbe gesteuert, die ein Teilchen am Anfang und am Ende seiner Lebensdauer hat. Die Textur ist farblich meiner Meinung nach vollkommen egal.
Beim Smoke-Beispiel gibt es zusätzlich noch Temperatur-Werte. Offensichtlich ist es nun so, dass die Leuchtkraft unmittelbar vom scale-Wert des Partikels und damit seiner Größe abhängt. Xenon-Licht (sehr klein und sehr hell) gibt es wohl also nicht. Allerdings kann man über die Farbe einiges machen. Das war's im Prinzip, was ich dazu weiß. Ich habe nichts gegen Ergänzungen und Berichtigungen (unfehlbar ist neben meinen Chef und dem Hergott nur noch der Interflieger ;) ), vielleicht könnten hier ja noch andere ein Scherflein beitragen und mein rudimetäres Wissen in einem Thread zu einer Art fx-Kompendium weiterentwickeln? Gruß Ralf |
Hier noch mal das Beispiel für meinen rotierenden Scheinwerfer, nicht wirklich gelungen:
[Library Effect] Lifetime=5 Version=2.00 Display Name=Rotating Lightbeam Radius=10000 Priority=0 [Properties] Cockpit=1 VirtualCockpit=1 Spot=1 Tower=1 Map=1 [Emitter.0] Lifetime=0.50, 0.50 Delay=0.00, 0.00 Bounce=10.00 Rate=1.00, 1.00 X Emitter Velocity=0.00, 0.00 Y Emitter Velocity=0.00, 0.00 Z Emitter Velocity=0.00, 0.00 Drag=0.00, 0.00 X Particle Velocity=0.00, 0.00 Y Particle Velocity=0.00, 0.00 Z Particle Velocity=0.00, 0.00 X Rotation=0.00, 0.00 Y Rotation=0.00, 0.00 Z Rotation=20.00, 20.00 X Offset=0.00, 0.00 Y Offset=0.00, 0.00 Z Offset=0.00, 0.00 Pitch=80.00, 90.00 Bank=0.00, 0.00 Heading=40.00, 60.00 [Particle.0] Lifetime=0.00, 0.00 Type=19 X Scale=40.00, 40.00 Y Scale=1500.00, 1500.00 Z Scale=40.00, 40.00 X Scale Rate=0.00, 0.00 Y Scale Rate=0.00, 0.00 Z Scale Rate=0.00, 0.00 Drag=0.00, 0.00 Color Rate=0.00, 0.00 X Offset=0.00, 0.00 Y Offset=1500.00, 1500.00 Z Offset=0.00, 0.00 Fade In=0.00, 0.00 Fade Out=0.00, 0.00 Rotation=20.00, 30.00 Static=1 Face=0, 0, 0 [ParticleAttributes.0] Blend Mode=1 Texture=fx_beam.bmp Bounce=0.00 Color Start=134, 158, 176, 155 Color End=255, 255, 255, 255 Jitter Distance=0.05 Jitter Time=1.00 uv1=0.00, 0.00 uv2=0.95, 0.95 X Scale Goal=0.00 Y Scale Goal=0.00 Z Scale Goal=0.00 Extrude Length=0.00 Extrude Pitch Max=0.00 Extrude Heading Max=0.00 [Emitter.1] Lifetime=0.50, 0.50 Delay=0.00, 0.00 Bounce=0.00 Rate=1.00, 1.00 X Emitter Velocity=0.00, 0.00 Y Emitter Velocity=0.00, 0.00 Z Emitter Velocity=0.00, 0.00 Drag=0.00, 0.00 X Particle Velocity=0.00, 0.00 Y Particle Velocity=0.00, 0.00 Z Particle Velocity=0.00, 0.00 X Rotation=0.00, 0.00 Y Rotation=0.00, 0.00 Z Rotation=0.00, 0.00 X Offset=0.00, 0.00 Y Offset=0.00, 0.00 Z Offset=0.00, 0.00 Pitch=0.00, 0.00 Bank=0.00, 0.00 Heading=0.00, 0.00 [Particle.1] Lifetime=0.00, 0.00 Type=19 X Scale=15.00, 15.00 Y Scale=15.00, 15.00 Z Scale=0.00, 0.00 X Scale Rate=0.00, 0.00 Y Scale Rate=0.00, 0.00 Z Scale Rate=0.00, 0.00 Drag=0.00, 0.00 Color Rate=0.00, 0.00 X Offset=0.00, 0.00 Y Offset=0.00, 0.00 Z Offset=0.00, 0.00 Fade In=0.00, 0.00 Fade Out=0.00, 0.00 Rotation=0.00, 0.00 Static=0 Face=1, 1, 1 [ParticleAttributes.1] Blend Mode=2 Texture=fx_fw2.bmp Bounce=0.00 Color Start=135, 162, 182, 222 Color End=0, 0, 0, 0 Jitter Distance=0.00 Jitter Time=0.00 uv1=0.75, 0.00 uv2=1.00, 0.25 X Scale Goal=0.00 Y Scale Goal=0.00 Z Scale Goal=0.00 Extrude Length=0.00 Extrude Pitch Max=0.00 Extrude Heading Max=0.00 Beachte die Werte bei particel.0. Ich schieße also nicht ständig neue Partikel in die Luft, die dann verglühen, sondern erzeuge ein einziges großes Partikel, das meinen Lichtstrahl darstellt- vielleicht wird jetzt klar, was ich mit statisch gemeint habe. Mit dem Wert für Rotation lasse ich dann diesen Strahl rotieren (was wohl sonst?). Da in der emitter.0 Sektion 40/60 Grad steht, taumelt der Strahl. Das aber weil "Rotation" auf alle Achsen gleichmäßig wirkt. Die 40/60 sorgen nur dafür, das jeder der mit diesem effekt erzeugten Scheinwerfer ein klein wenig anders "schielt". Der Wert wird beim Start eingenommen und bleibt dann so. Prüfen kann man das, wenn man den Rotationswert auf "0" setzt, dann steht der Strahl stramm wie eine Eins. Wenn ich einen Rotationswert ungleich 0 eingebe und den Wert für Heading auf 90 setze, rotiert er shön waagerecht ein einer Ebene. |
Hallo Ralf,
erstmal vielen Dank für Deine ausführliche Antwort. Habe ja jetzt ausgiebig Zeit mich damit zu beschäftigen. |
Alle Zeitangaben in WEZ +2. Es ist jetzt 04:20 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag