Hintergrundbild in der InGame Galaxy Karte

Hier ist der ideale Ort um über Scripts und Mods für X³: Terran Conflict und X³: Albion Prelude zu diskutieren.

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

User avatar
Pion
Posts: 37
Joined: Thu, 8. Dec 05, 19:42
x3tc

Hintergrundbild in der InGame Galaxy Karte

Post by Pion »

Hallo zusammen
In dem mapping-Thread "Suche Sektorkarte-neue Sektoren stellte enenra die Frage ob es möglich sei ein Hintergrundbild in die InGame Galaxy Karte einzufügen.

In einem Thread bei x3dmod.com hat jemand mit Namen Observe eine Lösung für die Einbringung eines Hintergrundbildes in die Galaxy Overview angegeben (mit Bildern dazu) - also geht es.


Als Lösung wurde angegeben:

If you edit the file: objects/effects/menugfx/galaxy_map.bod and give it a background image

Just as a side note for those adding image to galaxy_map.bod. If you want your image to be semi-transparent, you'll need to do two things:

1. Create an alpha channel for your image
2. Add shader parameter: t_AlphaTexture;SPTYPE_STRING;yourimage.dds; to your material definition for the .bod (don't forget to increment the line count). This can be done by manually editing the .bod text file


Im Mappingbereich scheint niemand eine (deutsche) Lösung für dieses Thema zu kennen. Wie ich inzwischen aber bemerkt habe, existieren die Lösungen oft in den anderen Moddingbereichen.

Die angegebe Prozedur sagt mir selber gar nichts (Bild in galaxy_map.bod einfügen ??? Create an alpha channel????)

Vielleicht ist hier ja jemand der eine ausführliche deutsche Anleitung zur Behebung dieses Problems liefern kann ?
User avatar
enenra
Posts: 7150
Joined: Fri, 8. Apr 05, 19:09
x4

Post by enenra »

Joa, ich habe ihm da einige Fragen darüber gestellt, mir war aber am Schluss immer noch nicht klar, wie dies nun vom Spiel gehandhabt wird. Ich hege nämlich die Befürchtung, dass die Galaxiekarte dann nicht, wie sie sollte, statisch ist, sondern auf den Cursor zentriert ist und sich somit mit dem Cursor weiterbewegt.
User avatar
Pion
Posts: 37
Joined: Thu, 8. Dec 05, 19:42
x3tc

Post by Pion »

Hallo zusammen
nach einigem Suchen und Experimentieren habe ich zwar die volle Lösung noch nicht gefunden, bin dieser aber einen Schritt näher gekommen.

Als Lösung gab observe folgendes an:

1. Create an alpha channel for your image
2. Add shader parameter: t_AlphaTexture;SPTYPE_STRING;yourimage.dds; to your material definition for the .bod (don't forget to increment the line count). This can be done by manually editing the .bod text file


Zu Punkt 2:

Am Anfang der galaxy_map.bod existiert eine Liste. In dieser müssen zwei Änderungen vorgenommen werden (in Fettschrift):


MATERIAL6:
0;0x2000000;1;gui2d.fx;22;
g_ColorWriteEnable;SPTYPE_LONG;15;
g_Wrap;SPTYPE_LONG;0;
g_CullMode;SPTYPE_LONG;2;
g_AlphaBlendEnable;SPTYPE_LONG;1;
g_BlendOp;SPTYPE_LONG;1;
g_SrcBlend;SPTYPE_LONG;5;
g_DestBlend;SPTYPE_LONG;6;
g_ZEnable;SPTYPE_LONG;0;
g_ZWriteEnable;SPTYPE_LONG;0;
g_ALPHATESTENABLE;SPTYPE_LONG;0;
g_AlphaValue;SPTYPE_FLOAT;1.000000;
t_FilterTypeDiffuse;SPTYPE_LONG;1;
t_SamplerAddressMode;SPTYPE_LONG;3;
t_SamplerMaxAnisotropy;SPTYPE_LONG;8;
t_MipMapLODBias;SPTYPE_FLOAT;0.000000;
t_DiffuseTexture;SPTYPE_STRING;19.jpg;
t_MinFilterTypeDiffuse;SPTYPE_LONG;1;
effectfile;SPTYPE_STRING;gui2d.fx;
renderEnabled;SPTYPE_BOOL;0;
renderMaterial;SPTYPE_LONG;0;
technique;SPTYPE_LONG;0;
t_AlphaTexture;SPTYPE_STRING;yourimage.dds;
/ uses t_DiffuseTexture 19 (512x512)


Die ertse Änderung ist die Incrementierung des Zeilenzählers auf 22

Die zweite Änderung ist die Einfügung der shader Parameter.


Zu Punkt 1:

1. Create an alpha channel for your image

So wie es mir erscheint hat das mit X2/X3 gar nichts zu tun, sondern ist eine Eigenschaft desw Bildes, die in einem Bildeditor vorgenommen werden muss.
Eine Lösung habe ich da noch nicht gefunden. Kann vielleicht jemand anderes etwas dazu sagen?



@enenra
Beim Experimentieren hat sich heraus gestellt, das die InGame Galaxiekarte weiterhin so gehandhabt wird wie bisher. Also keine Zentrierung auf den Cursor und somit keine Weiterbewegung mit dem Cursor, wie du es vermutet hast.

Es tritt aber ein anderer Effekt auf: Die Sektornamen verschwinden!!!

Wenn man sich die Beispielbilder von observe hier anschaut:
http://www.x3dmod.com/forum/viewtopic.php?f=11&p=1983
dann stellt man (beim genauen Hinsehen) fest, dass hir auch die Sektornamen fehlen.
Und das ist eine äußerst unbefriedigende Lösung
User avatar
Generalwest
Posts: 2764
Joined: Thu, 31. May 07, 18:07
x4

Post by Generalwest »

Aphakanal ist recht "simpel" mit einem Bildbearbeitungsprogramm wie Gimp.
Damit aber Gimp DDS lesen / bearbeiten kann braucht man die DDS plugins (zufinden in Uni´s Totu & Tool Sammlung im X³R S&M)

Ich geh jetzt nicht näher drauf ein, den Photoshop solle das auch können weis ich aber nicht da ich Gimp benutze.

Optionspfad in Gimp = :Ebene / Transparez / Alphakanal hinzufügen.

Ein solcher Kanal ist im Grunde ein durchsichtiges Bild.

(Allgemein gesprochen die mit Alphakanal nix anfangen können)

Beim geneaueren überlegen ist es "logisch" das man keine Sktornamen angezeigt werden da man ein nicht Transparentes Bild drüber legt. Um das zu testen kannst du ja mal einige bereiche mit dem Radierer auslöschen und testen ob man dann Sektornamen angezeigt bekommt.
UniTrader
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 14571
Joined: Sun, 20. Nov 05, 22:45
x4

Post by UniTrader »

andere idee: früher wurden in der 00749.bod Positionsangaben für die Sektornamen benötigt, irgendwann in Reunion war dies nicht mehr nötig und diese wurden dann vielleicht weg gelassen.. und durch hinzufügen des Bildes wird es vielleicht seltsamerweise wieder notwending, eine Angabe zur Position zu machen.. (nur so ne idee, falls obiger Hinweis nicht klappt..)
if not stated otherwise everything i post is licensed under WTFPL

Ich mache keine S&M-Auftragsarbeiten, aber wenn es fragen gibt wie man etwas umsetzen kann helfe ich gerne weiter ;)

I wont do Script&Mod Request work, but if there are questions how to do something i will GLaDly help ;)
User avatar
laux
Posts: 2609
Joined: Sun, 7. Mar 04, 11:39
x3tc

Post by laux »

Also soweit wie ich das in Erinnerung habe, bestehen ja alle Maps und Monitore, die man im HUD angezeigt bekommt, nur aus einfachen 2d-Flächen (also planes), auf die per Hadcode die entsprechenden Inhalte projeziert werden.
Das Problem ist, wenn man die Materialien dieser Flächen editiert, kann es zu unerwünschten Nebeneffekten führen (in diesem Fall eben das verschwinden der Sektornamen)

Meine Idee wäre eher, dass man diesen "Body" (galaxy_map.bod) mit einem 3D-Programm (3dsmax/gmax) öffnet und die Originale Plane dupliziert und versetzt hinter die originale Fläche setzt.
Dieser neunen Fläche weist man jetzt eine neuen Material-ID zu und kreiert ein neues Sub-Material, dass nur das gewünschte Hintergrundbild enthält.
Wenn man dann alles zu einem Objekt zusammenfügt, dann kann man mit etwas Glück wieder die Sektornamen sehen und sieht halt zusätzlich dahinter das neue Bild.

Return to “X³: Terran Conflict / Albion Prelude - Scripts und Modding”