Animierte Texturen -> es geht doch

Hier ist der ideale Ort um über Scripts und Mods für X³: Reunion zu diskutieren.

Moderators: Moderatoren für Deutsches X-Forum, Scripting / Modding Moderators

User avatar
jensemann
Posts: 541
Joined: Mon, 6. Mar 06, 11:17
x4

Animierte Texturen -> es geht doch

Post by jensemann »

Hab mich die letzten Tage mit Modding beschäftigt. Ich wollte herausfinden wie das mit den Texturen am besten funktioniert und ob ich die auch animiert bekomme (ego kanns ja auch). Nach einiger Zeit war ich fast am Verzweifeln, weil nix geklappt hat. Warum meine selbsterstellten bodies nicht im Spiel zu sehen sind, weis ich bis heute nicht. Also hab ich mich mit vorhandenen begnügt. Die main_hull.bod von deadlys YT-1300 musste dafür herhalten.

Ich hab im dds Ordner gesehen, dass es schon einige sequenzen für texturen gibt und mir gefiel die Idee, den Wassereffekt auf ein Schiff zu legen so dass es aussieht, als würde die Hülle leben. Scripte dafür gibt es ja schon.

Zum Ausprobieren der Texturen im Spiel reicht es, wenn mann im Texteditor die Materialeinträge in der bod zu ändern und neu zu laden (gott sei dank, kann man jetzt Alt-Tab benutzen).
Anweisungen für Animationen stehen in "types\animations.txt". Dort steht auch oben die Anzahl der Einträge, die bei neuen erhöht werden muss (wie in der tships).
Dort habe ich Sektion 84 kopiert und ans Ende gestellt. Das ist dann Eintrag 86.
Als Materialeintrag in die bod hat doubleshadow mir einige Versionen angeboten aber nur diese hat funktioniert:

Code: Select all

MATERIAL5: 0; -86; 150;150;150; 150;150;150; 229;229;229; 0; 0; 10; 0; 0;0;0; 100; 0;100; 0;30; 0;100;
Mit Materilal6 hat es nicht funktioniert. Ich weis zu dem Material auch nur, dass "-86" auf die ID in der animations.txt verweist und die folgenden Einträge sich auf RGB-Werte beziehen.

Code: Select all

TAT_TAGLOOP; NULL; 0; 0; 32; 
	TATF_COORDS;effects\engines\fx_warp_tunnel01;100;0.00;0.00;
	TATF_COORDS;effects\engines\fx_warp_tunnel02;100;0.00;0.00;
	TATF_COORDS;effects\engines\fx_warp_tunnel03;100;0.00;0.00;
	TATF_COORDS;effects\engines\fx_warp_tunnel04;100;0.00;0.00;
	TATF_COORDS;effects\engines\fx_warp_tunnel05;100;0.00;0.00;
	TATF_COORDS;effects\engines\fx_warp_tunnel06;100;0.00;0.00;
	TATF_COORDS;effects\engines\fx_warp_tunnel07;100;0.00;0.00;
	TATF_COORDS;effects\engines\fx_warp_tunnel08;100;0.00;0.00;
	TATF_COORDS;effects\engines\fx_warp_tunnel09;100;0.00;0.00;
	TATF_COORDS;effects\engines\fx_warp_tunnel10;100;0.00;0.00;
	TATF_COORDS;effects\engines\fx_warp_tunnel11;100;0.00;0.00;
	TATF_COORDS;effects\engines\fx_warp_tunnel12;100;0.00;0.00;
	TATF_COORDS;effects\engines\fx_warp_tunnel13;100;0.00;0.00;
	TATF_COORDS;effects\engines\fx_warp_tunnel14;100;0.00;0.00;
	TATF_COORDS;effects\engines\fx_warp_tunnel15;100;0.00;0.00;
	TATF_COORDS;effects\engines\fx_warp_tunnel16;100;0.00;0.00;
	TATF_COORDS;effects\engines\fx_warp_tunnel17;100;0.00;0.00;
	TATF_COORDS;effects\engines\fx_warp_tunnel18;100;0.00;0.00;
	TATF_COORDS;effects\engines\fx_warp_tunnel19;100;0.00;0.00;
	TATF_COORDS;effects\engines\fx_warp_tunnel20;100;0.00;0.00;
	TATF_COORDS;effects\engines\fx_warp_tunnel21;100;0.00;0.00;
	TATF_COORDS;effects\engines\fx_warp_tunnel22;100;0.00;0.00;
	TATF_COORDS;effects\engines\fx_warp_tunnel23;100;0.00;0.00;
	TATF_COORDS;effects\engines\fx_warp_tunnel24;100;0.00;0.00;
	TATF_COORDS;effects\engines\fx_warp_tunnel25;100;0.00;0.00;
	TATF_COORDS;effects\engines\fx_warp_tunnel26;100;0.00;0.00;
	TATF_COORDS;effects\engines\fx_warp_tunnel27;100;0.00;0.00;
	TATF_COORDS;effects\engines\fx_warp_tunnel28;100;0.00;0.00;
	TATF_COORDS;effects\engines\fx_warp_tunnel29;100;0.00;0.00;
	TATF_COORDS;effects\engines\fx_warp_tunnel30;100;0.00;0.00;
	TATF_COORDS;effects\engines\fx_warp_tunnel31;100;0.00;0.00;
	TATF_COORDS;effects\engines\fx_warp_tunnel32;100;0.00;0.00;550;//86 texture anim

Der Eintrag in der animations beginnt mit

TAT_TAGLOOP; NULL; 0; 0; 32;

TAT_TAGLOOP ist die Anweisung, wie die Anim gehandhabt werden soll, wo der Unterschied zu TAT_LOOP ist, weis ich noch nicht.
Die 32 ist die Anzahl der Frames

TATF_COORDS;effects\engines\fx_warp_tunnel01;100;0.00;0.00;
bis
TATF_COORDS;effects\engines\fx_warp_tunnel32;100;0.00;0.00;
kommen danach und geben die Koordinaten an.
der Pfad stimmt nicht mit dem tatsächlichen Pfad überein. fx_warp_tunnelxx befinden sich im dds Ordner
100: Framelänge in ms
Die nächsten zwei werte sind die Positionen in der Bitmap in Prozent.
Also 0.00 bedeutet alles, 0.50;0.50 ist die Hälfte der Bitmap.
Die letzte Zeile sieht wieder etwas anders aus:
TATF_COORDS;effects\engines\fx_warp_tunnel32;100;0.00;0.00;550;//86 texture anim
die Bedeutung der 550 hab ich noch nicht herausgefunden, auf jeden Fall ist es nicht die Pause zwischen den LOOPs. Hinter den "//" ist nur ein Kommentar zur Orientierung.


Für eine neue Animation MUSS ein neuer Eintrag in die animations.txt. Ich wollte auch die vorhandene ID 84 nutzen, das hat nicht funktioniert, weil bereits eine -84.dds existiert und eine andere Textur beinhaltet.
Wenn jemand genauere Angaben zum Aufbau der Materialeinträge hat, immer her damit :D

jensemann
Last edited by jensemann on Sun, 14. May 06, 19:01, edited 1 time in total.
ob ***modified*** oder nicht - Hauptsache: Spaß!!!

Carrier Fighter Supplies V1.2a deutsch
Carrier Fighter Supplies V1.2a english
-Scimitar-
Posts: 1494
Joined: Mon, 14. Nov 05, 17:53
x3tc

Post by -Scimitar- »

danke jensemann! das wird dem babylon 5 mod zu gute kommen :D
User avatar
SimonRight
Posts: 1158
Joined: Sat, 25. Sep 04, 16:35
x3tc

Post by SimonRight »

-Scimitar- wrote:danke jensemann! das wird dem babylon 5 mod zu gute kommen :D
Vorlonen, WhiteStar und Schattenschiffe mit schicken Effekten, doch sollte man dann auch überlegen, ob man dies auf Basen überträgt.
-Scimitar-
Posts: 1494
Joined: Mon, 14. Nov 05, 17:53
x3tc

Post by -Scimitar- »

wir sind uns noch gar nicht sicher ob wir überhaupt ne staion machen. aller höchstens noch die babylon station. aber mehr nicht. also wenn ihr modelle habt dann immer her damit.
User avatar
laux
Posts: 2609
Joined: Sun, 7. Mar 04, 11:39
x3tc

Post by laux »

Ich schieb das Thema mal hoch, da das Thema Videos auch hier hinein passt.
Ich hab mich jetzt ne ganze Zeit mit dem Einbinden von Movies in X3 beschäftigt. Leider bin ich nicht wirklich zufrieden, denn was mir noch fehlt ist eine Wiederholfunktion. Bis jetzt wird ein beliebiges Movie jedenfalls nur einmal abgespielt, das kann aber noch nicht alles sein, denn wer sich den Startbildschirm (Main Menü) angeschaut hat, der stellt fest, dass das Movie 00800.dat (Das Sprungloch) immer wieder von vorn abgespielt wird.
Dieses Video ist aber auch nicht in der Animations.txt zufinden und auch der Body, der die Textur trägt ist nicht aufzuspüren, obwohl ich mir sicher bin, dass alles im Ordner Objects\cuts (nicht "Cut") zu finden ist.

Hier mal ein Auszug aus der animations.txt, dieser Eintrag ist zwar scheinbar funktionsfähig (Werbetrailer 000002.dat) aber die Wiedergabe wird wohl durch ein Script oder per Hardcode gesteuert.:

Code: Select all

TAT_MOVIE; TADF_COORDS; test\StaticAdverts; 90; 0.25; 0.25; 0.00; 0.00; 2; 0; 0; 0; 0; 1; 640; // 81 video texure
Wie gesagt, das funktioniert nur eingeschränkt.

Hier jetzt der Neue Eintrag, der das Video abspielt:

Code: Select all

TAT_MOVIE; NULL; 90; 90; 2; 0; 50; 0; 0; 1500; 2400;// 86 video texure
TAT_MOVIE = devinition
NULL; 90; 90 = keine Ahnung, aber das muss sein
2 = Name des Films (also 000002.dat)
0 = weiss ich auch nicht, aber diese Werte kann man auch nicht verändern
50 = Startpunkt in Sekunden (also das Video startet hier in der 50ten sec.)
0;0 = keihne Ahnug
1500 = Endpunkt in Sekunden
2400 = keine Ahnung, da kann man quasi jede Zahl reinschreiben


Ich habe das Video auch in dieser Weise zum Laufen gebracht. Der Eintrag ähnelt zwar dem einer animierten Textur, aber die Funktionsweise ist auch hier scheinbar ganz anders:

Code: Select all

TAT_MOVIE;NULL;90;90;2;
_____TATF_COORDS;0;50;0.00;0.00;
_____TATF_COORDS;0;50;0.00;0.066;
_____TATF_COORDS;0;50;0.00;0.132;
_____TATF_COORDS;0;50;0.00;0.66;550;// 86 video
TAT_MOVIE;NULL;90;90 = das muss sein, sonst gehts nicht
2 = Name der abzuspielenden Datei
der Rest = ist völlig egal, es ergeben sich keine Änderungen
Die Wiedergabe wird mit einem Standbild gestoppt, sofern das Ende errecht wurde.


Ich hab das ganze mit eineigen mpg´s getestet, sie waren alle abspielbar (Mit Sound!) Andere Videoformate sind sicherlich auch möglich.
Jedoch ist der Name der Datei auch entscheident. Dateinamen mit Buchstaben gehen nicht, 0800 geht auch nicht, aber 08031 oder 08042 würde gehen. Ist schon recht merkwürdig.

Was mich jedenfalls an der Sache interessiert, wäre die Möglichkeit das ganze wiederholt abzuspielen. Es ergeben sich ganz neu Möglichkeiten, da ein Video einfacher einzububinden wäre, als eine Animierte Textur, die in 30 oder 40 DDS-Files aufgeteilt werden müsste. Auch die Framerate der Animaion wär sicherlich höher.
Es wäre auch einfacher soetwas zu erstellen, da ich mit Macromedia oder Corel R.A.V.E das ganze einfach als Avi exportier und nicht jedes einzelne Bild.
Last edited by laux on Sat, 25. Nov 06, 11:37, edited 2 times in total.
User avatar
Orka
Posts: 817
Joined: Wed, 7. Apr 04, 15:19
x4

Post by Orka »

Was passiert mit negativer oder 0 Abspieldauer?
User avatar
laux
Posts: 2609
Joined: Sun, 7. Mar 04, 11:39
x3tc

Post by laux »

Orka wrote:Was passiert mit negativer oder 0 Abspieldauer?
Ne das haut auch nicht hin.
kein Wert; 0; oder NULL spielen das Movie bis zum Ende ab.
Negative werte werden positiv. Also -10 = +10.

Aber ich hab eben noch etwas rumprobiert und noch einen funktionsfähigen Eintrag gefunden:

Code: Select all

TAT_MOVIE; TADF_COORDS; 90; 90; 0.25; 0.25; 0.00; 0.00; 2; 0; 0; 0; 0; 50; 640;// 86 video texure
Diese Animations.txt verwirt mich immer mehr. Naja egal, ich hab X3 heut bestimmt schon 50mal gestartet und wieder beendet. Das bringt alles nichts. Vlt. fällt ja noch jemandem was ein.
User avatar
Moonraven
Posts: 968
Joined: Wed, 27. Aug 03, 11:13
x3

Post by Moonraven »

Ja, das sind doch gute Nachrichten :)

Einige Vermutungen noch (bezogen auf org. Eintrag):

test\StaticAdverts dürfte vermutlich der name der Texture sein die ersetzt werden soll

90 sieht nach einer Startcoordinate aus

0.25;0.25 1/4 Bildausschnit des Videos (hab mir die 00002.dat angeuggt, da laufen quasi 4 Videos paralell



Wie gesagt, sind nur Vermutungen auf die Schnelle. Werd mich da aber mal schlau machen, da das doch sehr viele Möglichkeiten bietet. :)


[Edit] Achja..das 0800 nicht geht ist klar, die gibts schon im MOV ordner (entpacktes Spiel).[/edit]
Gruß Moonraven
Wer lesen kann, ist ganz klar im Vorteil.
[ external image ]
User avatar
Moonraven
Posts: 968
Joined: Wed, 27. Aug 03, 11:13
x3

Post by Moonraven »

Ich hab mal ein bischen rumprobiert, aber ich komme auf keinen grünen Zweig.

Hab eine Videosequenz erstellt (gleiches Format wie 00002.dat), hab sie unter 08031.dat gespeichert, Animation.txt angepasst....und nix ist.

@laux

Bist du dir sicher das die 2 der Name der Filmdatei ist ?
Gruß Moonraven
Wer lesen kann, ist ganz klar im Vorteil.
[ external image ]
User avatar
laux
Posts: 2609
Joined: Sun, 7. Mar 04, 11:39
x3tc

Post by laux »

Moonraven wrote:[Edit] Achja..das 0800 nicht geht ist klar, die gibts schon im MOV ordner (entpacktes Spiel).[/edit]
Das ist mir klar, denn ich spiel nur mit entpacktem Game. Aber man kann die 0800.dat nicht absielen! genauso wie diverse andere Files. Ich denke es liegt am Dateinamen. Denn wenn ich sie umbenenne in 08032 z.b. dann läufts.
Ich hab aber zu wenig mit den Namen rumprobiert, als dass ich jetzt feststellen konnte welche Files gehen.
Hab eine Videosequenz erstellt (gleiches Format wie 00002.dat), hab sie unter 08031.dat gespeichert, Animation.txt angepasst....und nix ist.
Hm, komisch bei mir läufts. Ich hab das aber jetz nur mit diesen beiden Varianten getestet:

Code: Select all

TAT_MOVIE; NULL; 90; 90; 2; 0; 0; 50; 0; 1500; 2400;// 86 video texure

Code: Select all

TAT_MOVIE;NULL;90;90;2;
_____TATF_COORDS;0;50;0.00;0.00;
_____TATF_COORDS;0;50;0.00;0.066;
_____TATF_COORDS;0;50;0.00;0.132;
_____TATF_COORDS;0;50;0.00;0.66;550;// 86 video
Und ja, bei diesen beiden ist die 2 = Name der Datei.

Bei dem Eintrag, den ich gestern zu letzt gepostet habe, hab ich das nicht weiter getestet. War mir zu spät dafür.
90 sieht nach einer Startcoordinate aus
Was meinst du mit Startkoordinate? Ich hab verschiedene Werte getestet, aber nur bei 90 läuft der Trailer.
0.25;0.25 1/4 Bildausschnit des Videos (hab mir die 00002.dat angeuggt, da laufen quasi 4 Videos paralell
Also ich glaube das gilt nur für dds-Texturen. Denn bei mir wird das Video auch bei dieser Einstellung Volbild abgespielt.

Auch komisch ist, wenn ich ein Video einfühge, das eine kleinere Auflösung hat, dann wird das Bild nicht voll ausgefüllt. Das Video läuft dann oben-links ab.

Na egal, ich werd mal heute Abend noch ein wenig weitertesten. Mir fallen da ne Menge Sachen ein, die man damit machen könnte.
Z.B. ein Auto- ähm Raum-Kino (also open Space sozusagen); mit Burger und Wiskey Verkauf und fritierten Chelts. hm lecker :roll:
robberer death
Posts: 360
Joined: Tue, 29. Nov 05, 11:43
x3ap

Post by robberer death »

Mir ist auch noch aufgefallen das nur gewisse Offsets in den Dat dateien Abgespielt werden. Bei der Werbetafel in Elysium des Lichts ist der Bildschirm z.B. immer ganz mit einem Video ausgefüllt. Es gibt aber in der selben Film Datei Bereiche wo 2 und 4 Video pro Bildschirm gezeigt werden.
User avatar
laux
Posts: 2609
Joined: Sun, 7. Mar 04, 11:39
x3tc

Post by laux »

achso... dann hab ich den einen Versuch zu früh abgebrochen.

bedeutet also
0.25;0.25 = 1/4, wie Moonraven es schrieb. Dann muss man nur rausbekommen, wie man die anderen 3x 1/4 abspielt. Das werden zwei der anderen Werte sein; X-Position und Y-Position (hoffentlich)
User avatar
Moonraven
Posts: 968
Joined: Wed, 27. Aug 03, 11:13
x3

Post by Moonraven »

laux wrote:
Hm, komisch bei mir läufts. Ich hab das aber jetz nur mit diesen beiden Varianten getestet:

Code: Select all

TAT_MOVIE; NULL; 90; 90; 2; 0; 0; 50; 0; 1500; 2400;// 86 video texure

Also ich hab diese Variante wie folgt ausprobiert:

Code: Select all

TAT_MOVIE; NULL; 90; 90;8031; 0; 0; 50; 0; 1500; 2400;// 86 video texure
Da tut sich nix. Ich seh nur das letzte Bild des Videos, aber sonst nix.

Interressant:

Wenn ich das Teil via GE einfüge und zusätzlich als Video Sequenz-Parameter -1 angebe laufen die normalen Werbevideos aus 00002.dat.
Gruß Moonraven
Wer lesen kann, ist ganz klar im Vorteil.
[ external image ]
User avatar
laux
Posts: 2609
Joined: Sun, 7. Mar 04, 11:39
x3tc

Post by laux »

Bist du dir 1. sicher, dass das Movie 8031 auch länger als 50 Sekunden ist?
Und zweitens kann es sein, dass du per GE die "alte" Werbetafel geladen hast?

Oder was hast du überhaupt gemacht? Ich meine damit, worauf du die Videos abspielst.
User avatar
Moonraven
Posts: 968
Joined: Wed, 27. Aug 03, 11:13
x3

Post by Moonraven »

grml...ich sollte schon alle parameter richtig machen.

Also nochmal:

Code: Select all

TAT_MOVIE; NULL; 90; 90;8031; 0; 0;0; 0; 1500; 2400;// 86 video texure 
Ich benutze dazu die einteilige Videowand (Special 77).

Den Material6-Eintrag hab ich natürlich entsprechend angepasst.
Gruß Moonraven
Wer lesen kann, ist ganz klar im Vorteil.
[ external image ]
User avatar
laux
Posts: 2609
Joined: Sun, 7. Mar 04, 11:39
x3tc

Post by laux »

Also ich hoffe, du hast dem Body den Textureintrag -87 gegeben, denn das was ich da gepostet habe, das ist aus einer Animations.txt, die nicht auf Stand 2.0 ist. Wenn du aber mit 2.0 rumspielst, dann ist die -86 bereits belegt. (sorry, aber darauf habe ich vorher nicht hingewiesen)

Ich kann dich nur auf diese Beta verweisen. Hier ist zumindestens die Animations.txt und auch die vier Bodys voll funktionsfähig + -87.dds.
Vlt. hilft das weiter.
User avatar
Moonraven
Posts: 968
Joined: Wed, 27. Aug 03, 11:13
x3

Post by Moonraven »

So...nachdem ich noch etwas rumprobiert hab, funktioniert es jetzt. Ich hab einfach das AVI-File nochmal neu encoded (MPEG1, CBR !) und jetzt gehts :)


Danke für deine Hilfe :)
Gruß Moonraven
Wer lesen kann, ist ganz klar im Vorteil.
[ external image ]
User avatar
laux
Posts: 2609
Joined: Sun, 7. Mar 04, 11:39
x3tc

Post by laux »

Code: Select all

TAT_MOVIE; NULL; 90; 90; 2; 0; 50; 0; 0; 1500; 2400;// 86 video texure
Ich hab eben noch ein wenig rumprobiert und musste fesstellen, dass ich da was falsches geschrieben habe.

- die 50 muss an eine andere Position
- die 50 ist der Startpunkt in Sekunden (also in der 50ten Sekunde startet die Wiedergabe)
- die 1500 ist der Endpunkt in Sekunden und nicht die Spieldauer
(d.h. der Trailer wird genau 1450 sec. abgespielt)

Jetzt müsste man es nur noch schaffen, die größe des abgespielten Films zu vrändern. Das Movie 02.dat beginnt bsp. nach ca. 9min 50sec. mit dem viergeteilten Videos. Wenn man jetzt jedem der Werbetafeln eine eigenen Eintrag verpasst, dann könnte man verschiedene Sequenzen auf den Tafeln wiedergeben. Das ganze könnte ich auch mit 3dsmax machen, aber dann müsste ich die Bildschirme neu mappen, aber es wäre per Animations.txt natürlich viel einfacher.
User avatar
Moonraven
Posts: 968
Joined: Wed, 27. Aug 03, 11:13
x3

Post by Moonraven »

Das Mappen (also welche Videosequenze nach welcher kommt) erledigt glaub ich die Video.txt bzw. Videolist.txt im Types-Ordner.

Wie das ganze aber zusammenhängt ist mir noch nicht klar geworden.
Gruß Moonraven
Wer lesen kann, ist ganz klar im Vorteil.
[ external image ]
User avatar
laux
Posts: 2609
Joined: Sun, 7. Mar 04, 11:39
x3tc

Post by laux »

Ah, da hab ich ja noch garnicht reingeschaut. Da muss man aber erstmal durchsteigen, wofür das überhaupt verwendet wird. Die Einträge in der Video.txt ähneln aber stark denen aus der Animations.txt, da kann man sicher was abgucken.

Aber ich ab mir mal die Mühe gemacht, und mal die Werbetafel mit drei Bildschirmen in 3Dsmax neu gemappt. Damit klappt das auf jedenfall auch.
Jetzt kann man z.b. auf den 3 Bildschirmen 3 verschiedene 1/4 Videos (16 Minuten) laufen lassen.

Return to “X³: Reunion - Scripts und Modding”