Construction Set NIFSkope, Teile eines Nifs ändern?

Mig369

Abenteurer
Hi!

(das orangene ist die eigentliche Frage, für lesefaule ;) )

Ich bin des Blaus müde, das selbst bei Nacht in den Fenstern meines "aufgemotzten" Haus Benirus leuchten. Besonders bei Nacht stört das extrem, da dann das ganze Haus dunkler und nur durch Kerzenschein erleuchtet wird, da passt das blaue nicht rein.
Ich bin so weit gekommen, dass ich die Textur der Fenster ändern kann und sie dunkler erscheinen.
Jetzt ist aber meine Idee, jedem Fenster eine extra Textur zu verpassen, sodass man quasi rausschauen kann. Und genau das klappt nicht!
Im NIF ist leider nur ein Fenster verbaut, wenn ich also was ändere dann immer für alle Fenster, daher kann ich auch nur einen Ausblick einbauen.

Zur Verdeutlichung hier mal ein Bild der Fenster (Hier die "Tagesfenster" im "Nachthaus", ist noch verdreht, vom rumprobieren und lernen^^) Für die nächtlichen Fenster würde ich einfaches schwarz nehmen, nur bei den vorderen Fenstern den Blick über die Stadt, da da ein paar Straßenlampen stehen.

KLICK
Wie man darauf sehr gut nicht sehen kann sieht man in allen Fenstern das gleiche, zwar auch schon ganz nett, jedoch einfach ein Designmangel den ich nicht stehen lassen will.
Vor allem in den querliegenden Doppelfenstern ists blöd weil da die Textur um 90° gedreht ist.

Verwendet habe ich die Originalfenster in die ich Screenshots aus der Entsprechenden Perspektive editiert habe und dann eine passende Effektmischung drübergezogen habe.
So sieht die Textur aus: KLICK

Also, wie kann ich die Fenster des Interiors vom Haus Benirus im NIF trennen, dass nicht für alle die gleiche Textur verwendet wird?
 
Hallo Mig,

setz auf die Fensterscheibentextur einen Alphakanal und in das Fenster-NiTriStripe eine NiAlphaProperty, dann sind die Scheiben schon mal durchsichtig. Deine Screenshot-Landschaft stellst Du dann ausserhalb des Hauses vor die Fenster.

Gruß, Gert
 
  • Like
Reaktionen: Mig369
Hallo Mig,

setz auf die Fensterscheibentextur einen Alphakanal und in das Fenster-NiTriStripe eine NiAlphaProperty, dann sind die Scheiben schon mal durchsichtig. Deine Screenshot-Landschaft stellst Du dann ausserhalb des Hauses vor die Fenster.

Gruß, Gert

Hmm, gute Idee,dann muss ich nur noch schauen, dass ich das richtig einbaue, sodass man nicht zum Screenshot drüber rausschauen kann.
Danke für den (schnellen) Tipp! :)
Dann mal an die Arbeit!

@Growlf
Jo, das wollte ich ursprünglich. Scheint aber zu komplex für mich zu sein, habe bisher noch nie was an den NIFs geändert... Zudem habe ich kein 3D-Programm (soll kein Hinweis darauf sein, ich würde eines wollen/suchen!)^^


edit
Wenn ich in NIFSkope die Fenster transparent mache sind leider auch die Holzbalken transparent... Und wenn ich die der Textur nen Alphachannel geb kann die auch nur ganz oder ganr nicht transparent sein...
 
Zuletzt bearbeitet:
Wenn ich in NIFSkope die Fenster transparent mache sind leider auch die Holzbalken transparent...

Du darfst nicht den Alpharegler in Nifskope verändern, der wirkt auf die komplette Textur (NiTriStripe). Gestalte den Alphakanal der Fenstertextur so, daß der Fensterrahmen 100% Weiss ist, für die Scheiben kannst Du einen Grauwert von schätzungsweise 70 -80% nehmen. Da musst Du halt ein bischen experimentieren, welcher Grauwert den besten Effekt ergibt. Reines Schwarz würde unnatürlich aussehen, da es dann keine Fensterscheibe mehr geben würde. Du kannst auch einen leichten Milchglas-Effekt auf die Scheibentextur anwenden und diese in den Alpha übernehmen, dann brauchst Du die Screenshot-Textur nicht zu verzerren.

Deine Idee mit den Screenshot-Texturen finde ich recht interessant. Der Clou wäre, gleich noch das Regionsklima des Exteriors ins Interior zu übernehmen. Dann hättest Du gleich noch Tag-Nacht Wechsel. Könnte natürlich passieren, daß es Dir dann ins Haus regnet, es sei denn man erstellt sich eine Kopie des Klimas und deaktiviert die Niederschläge.

Ob das mit dem Wetter wirklich brauchbare Effekte gibt kann ich nicht sagen, da ich zumindest in dieser Konstellation noch nicht damit experimentiert habe. Wäre ich nicht gerade mit anderen Baustellen beschäftigt, würde ich das selbst gern mal ausprobieren.
 
Du darfst nicht den Alpharegler in Nifskope verändern, der wirkt auf die komplette Textur (NiTriStripe). Gestalte den Alphakanal der Fenstertextur so, daß der Fensterrahmen 100% Weiss ist, für die Scheiben kannst Du einen Grauwert von schätzungsweise 70 -80% nehmen. Da musst Du halt ein bischen experimentieren, welcher Grauwert den besten Effekt ergibt. Reines Schwarz würde unnatürlich aussehen, da es dann keine Fensterscheibe mehr geben würde. Du kannst auch einen leichten Milchglas-Effekt auf die Scheibentextur anwenden und diese in den Alpha übernehmen, dann brauchst Du die Screenshot-Textur nicht zu verzerren.

Deine Idee mit den Screenshot-Texturen finde ich recht interessant. Der Clou wäre, gleich noch das Regionsklima des Exteriors ins Interior zu übernehmen. Dann hättest Du gleich noch Tag-Nacht Wechsel. Könnte natürlich passieren, daß es Dir dann ins Haus regnet, es sei denn man erstellt sich eine Kopie des Klimas und deaktiviert die Niederschläge.

Ob das mit dem Wetter wirklich brauchbare Effekte gibt kann ich nicht sagen, da ich zumindest in dieser Konstellation noch nicht damit experimentiert habe. Wäre ich nicht gerade mit anderen Baustellen beschäftigt, würde ich das selbst gern mal ausprobieren.
Ah, okay, ich versuchs nochmal^^

Ich habe das bis jetzt so geregelt, dass ich einfach mehrere Beleuchtungen gesetzt habe, also wenn man alle zusätzlichen Lichtquellen deaktiviert (also die, die kein eigenes Mesh zugeordnet haben) ist es im Haus nächtlich dunkel, nur Kerzenlicht.
Per Skript werden diese zusätzlichen "Tageslichter" je nach Uhrzeit aktiviert bzw deaktiviert.
Das gleiche will ich mit den Fenstern machen, also für Tag und Nacht je eine eigene Textur.
Leider wechselt das dann sprunghaft, es gibt keine Abstufungen zwischen Tag und Nacht, außerdem muss man schlafen/warten damit die Texturen und Lichter geändert werden. Wenn man einfach so wartet ändert sich leider nix.

Das Wetter müsste man ja ebenso integrieren können, man muss nur für jedes Wetter extra Lichtquellen und Fenstertexturen einbauen und per Skript immer die gerade benötigten aktivieren. Weiß nur nicht, ob man die aktuelle Wetterlage in Interiors einfach so auslesen kann... aber bei der Mod für die Wettereffekte in Häusern hats irgendwie geklappt. Kann ich da abguggen, falls ichs mal machen will.

edit
Ah, ne, du meinst sicher mit der "Behave like Exterior- Funktion"... Das könnte klappen, wenn ich meine Texturen integiert habe werd ichs mal testen!
Wär schon cool^^

edit2
Hmm, ich kriege den Alpha nicht ins dds konvertiert. Da ich keinen Editor habe, in dem ich den Alphachannel direkt im .dds bearbeiten kann habe ich die Originaltextur ins .bmp konveriert, dann den Alphachannel geändert (alles mit DTXBMP) und dann wieder in .dds zurückkonvertiert. Aber da wird nix transparent, stattdessen wird die Textur falsch angezeigt, der Fensterrahmen ist normal, das Glas einfach nur schwarz...
 
Zuletzt bearbeitet:
Hmm, ich kriege den Alpha nicht ins dds konvertiert.

Mit DXTbmp müsste das schon funktionieren, falls Du aber gar nicht damit klarkommst, kann ich Dir den Alpha schon schnell einbinden. Schicke mir halt eine PM mit deiner Mailadresse.

außerdem muss man schlafen/warten damit die Texturen und Lichter geändert werden

Da hast Du bestimmt einen Fehler mit eingebaut. Wir verwenden eine ähnliche Lichtsteuerung in unserem Modul. Bis auf den kleinen Schönheitsfehler mit dem sprunghaften Tag/Nachtwechsel funktioniert das tadellos.
Mit der Verwendung eines Wetters kann dieses Manko eventuell behoben werden. Zu beachten ist, daß sobald "Behave like Exterior" angehackt und ein Klima ausgewählt wurde, die Farben der im Klima definierten Wettertypen wirksam werden und nicht mehr die eingestellten Grundfarben des Interiors. Manche "Wetterfarben" beeinflussen auch die Farben der Objekte die in der Zelle platziert wurden.
 
Hmm, da ich schon alles versucht habe was mir einfiel, ich schick dir mal ne PN.

Das Skript für den Tag-/Nachtwechsel sieht so aus:
Code:
scn BenirusLight

short light

begin Gamemode
	set light to getCurrentTime
	If (light >= 7.00) && (light <= 20.00)
		Daylight01.enable
		Daylight03.enable
		Daylight04.enable
		Daylight05.enable
		Daylight06.enable
		Daylight07.enable
		Daylight08.enable
		Daylight09.enable
		Daylight10.enable
		Daylight11.enable
		Daylight12.enable
	else
		Daylight01.disable
		Daylight03.disable
		Daylight04.disable
		Daylight05.disable
		Daylight06.disable
		Daylight07.disable
		Daylight08.disable
		Daylight09.disable
		Daylight10.disable
		Daylight11.disable
		Daylight12.disable
	endif
end


Mit den Farben beim Wetter fürs Interior muss man denke ich halt experimentieren, es gibt ja einige Effekte, die in dem Haus nicht auftrete sollen, man muss also ohnehin ein neues Klima erstellen.
Ich gaube aber daran, dass da was sehr schönes draus werden kann, wenn man es richtig anstellt^^
 
  • Like
Reaktionen: Londarus Trentos
getCurrentTime liefert einen Float, den Du dann aber einer Integer-Variablen zuweist. Ich bin mir im Moment nicht sicher, ob das gerundet oder der Ganzzahl-Anteil abgeschnitten wird. Auf jeden Fall ist es flasch. :)

Versuche es mal mit:

float light
 
  • Like
Reaktionen: Mig369
getCurrentTime liefert einen Float, den Du dann aber einer Integer-Variablen zuweist. Ich bin mir im Moment nicht sicher, ob das gerundet oder der Ganzzahl-Anteil abgeschnitten wird. Auf jeden Fall ist es flasch. :)

Versuche es mal mit:

float light

also statt "short light" "float light" meinst du? Ich habe bisher eigentlich nie was anderes außer short verwendet, habs nie gebraucht^^ Ich probiers mal, danke für den Tipp^^
 
also statt "short light" "float light" meinst du?

Ja, genau. Oder Du könntest geschickter noch die If-Abfrage mittels GameHour machen:

If (GameHour >= 7.00) && (GameHour <= 20.00)

Damit könntest Du ganz auf die Variable light verzichten. GameHour ist eine vordefinierte Globale Variable und enthält die aktuelle Ingame-Uhrzeit im Dezimalformat (20:30 Uhr entspricht 20.5). Im Grunde das gleiche, wie getCurrentTime.
 
Jo, ich werd nochmal nachschauen wie ichs mache sobald ich meine Fenster fertig habe^^

Ganz kurz, wenn ich mit NIFSkope eine Textur im Texturordner auswähle und die dann nur in NIFSkope aber nicht im CS angezeigt wird, woran liegt das?

Ich habe btw jetzt raus, wie ich meine Bilder von bmp zu dds bekomme, ich muss einen Zwischenschritt über tga machen...
Da kann ich mal schauen, ob das auch mit den Alphas klappt. Vielleicht bekomm ich dann doch noch eigene Fenster hin^^

edit
kleine Korrektur, jetzt werden die Texturen in NIFSkope auch nicht mehr angezeigt, das Objekt bleibt weiß.
 
Zuletzt bearbeitet: