<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Lumenlog &#187; Beleuchtung</title>
	<atom:link href="http://lumenlog.com/tag/beleuchtung/feed" rel="self" type="application/rss+xml" />
	<link>http://lumenlog.com</link>
	<description>Das Lumenlog: Ein Blog für Modder, Internetbürger und alle anderen.</description>
	<lastBuildDate>Wed, 08 Sep 2010 16:48:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Sichtbare Wasserfälle im Interior</title>
		<link>http://lumenlog.com/links/sichtbare-wasserfalle-im-interior</link>
		<comments>http://lumenlog.com/links/sichtbare-wasserfalle-im-interior#comments</comments>
		<pubDate>Tue, 12 Jan 2010 18:48:06 +0000</pubDate>
		<dc:creator>Marcel</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[Beleuchtung]]></category>
		<category><![CDATA[Interior]]></category>
		<category><![CDATA[Leveldesign]]></category>
		<category><![CDATA[Trebron]]></category>

		<guid isPermaLink="false">http://lumenlog.com/?p=1319</guid>
		<description><![CDATA[Sichtbare Wasserfälle im Interior Trebrons Lösung für eines der nervigsten Probleme von Oblivion. Ich habe bisher immer die Ambient-Beleuchtung der Zelle geändert, aber so ist es natürlich viel eleganter.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.multimediaxis.de/showthread.php?p=2497191#post2497191">Sichtbare Wasserfälle im Interior</a></p>
<p>Trebrons Lösung für eines der nervigsten Probleme von Oblivion. Ich habe bisher immer die Ambient-Beleuchtung der Zelle geändert, aber so ist es natürlich viel eleganter. </p>
]]></content:encoded>
			<wfw:commentRss>http://lumenlog.com/links/sichtbare-wasserfalle-im-interior/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wasserfälle im Interior</title>
		<link>http://lumenlog.com/links/wasserfalle-im-interior</link>
		<comments>http://lumenlog.com/links/wasserfalle-im-interior#comments</comments>
		<pubDate>Thu, 17 Sep 2009 15:17:51 +0000</pubDate>
		<dc:creator>Marcel</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[Beleuchtung]]></category>
		<category><![CDATA[Modding]]></category>
		<category><![CDATA[Oblivion]]></category>

		<guid isPermaLink="false">http://lumenlog.com/?p=1099</guid>
		<description><![CDATA[Wasserfälle im Interior Ist mir gerade aufgefallen: Wasserfälle werden in Interiors angezeigt, wenn man das Ambient-Lighting einschaltet. Der Wert muss nicht sehr groß sein, so ungefähr 50 reicht schon. Für die meisten von euch mag das nichts Neues sein, mir hat diese Entdeckung aber gerade den Tag gerettet.]]></description>
			<content:encoded><![CDATA[<p><a href="http://lumenlog.com/images/2009/09/WaterfallInterior.PNG">Wasserfälle im Interior</a></p>
<p>Ist mir gerade aufgefallen: Wasserfälle werden in Interiors angezeigt, wenn man das Ambient-Lighting einschaltet. Der Wert muss nicht sehr groß sein, so ungefähr 50 reicht schon. Für die meisten von euch mag das nichts Neues sein, mir hat diese Entdeckung aber gerade den Tag gerettet.</p>
]]></content:encoded>
			<wfw:commentRss>http://lumenlog.com/links/wasserfalle-im-interior/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tageszeitabhängige Beleuchtung</title>
		<link>http://lumenlog.com/modding/tageszeitabhangige-beleuchtung-tutorial</link>
		<comments>http://lumenlog.com/modding/tageszeitabhangige-beleuchtung-tutorial#comments</comments>
		<pubDate>Sun, 18 Jan 2009 11:05:32 +0000</pubDate>
		<dc:creator>Marcel</dc:creator>
				<category><![CDATA[Modding]]></category>
		<category><![CDATA[Beleuchtung]]></category>
		<category><![CDATA[NifSkope]]></category>
		<category><![CDATA[Oblivion]]></category>
		<category><![CDATA[Scripting]]></category>
		<category><![CDATA[Texturieren]]></category>

		<guid isPermaLink="false">http://lumenpage.com/blog/?p=331</guid>
		<description><![CDATA[Nachdem wir ja schon zu dem Schluss gekommen sind, das tageszeitabhängige Beleuchtung nicht nur ein langes Wort, sondern auch eine gute Sache ist, beenden wir dieses Thema mit einem Tutorial. Das hier ist die Methode, die ich für Eleyon verwende. Viel Spaß beim Einbauen! Bevor wir im CS anfangen können, brauchen wir zuerst die passenden [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://lumenpage.com/blog/wp-content/uploads/2009/01/eleyon08.jpg"><img src="http://lumenpage.com/blog/wp-content/uploads/2009/01/eleyon08-400x320.jpg" alt="eleyon08" title="eleyon08" width="400" height="320" class="alignright size-thumbnail wp-image-445" /></a>Nachdem wir ja schon zu dem Schluss gekommen sind, das tageszeitabhängige Beleuchtung nicht nur ein langes Wort, sondern auch eine gute Sache ist, beenden wir dieses Thema mit einem Tutorial. Das hier ist die Methode, die ich für Eleyon verwende. Viel Spaß beim Einbauen!</p>
<p>Bevor wir im CS anfangen können, brauchen wir zuerst die passenden Modelle. Für die Kerzen liefert uns Oblivion schon ausgeschaltete Versionen mit, bei den Fenstern ist die nicht so einfach. Hier muss man seine Photoshop oder Gimp-Kenntnisse herausholen. Darauf gehe ich hier nicht näher ein, das würde wohl den Rahmen dieses Tutorials sprengen. Ein orangenes Einfärben der nächtlichen Version und ein wenig mehr Sättigung sind in den meisten Fällen auch schon ausreichend. Das Internet ist für Tutorials zu diesem Thema ein sehr gute Quelle.</p>
<p>Gut, die in Eleyon benutzten Fenstertexturen stammen aus den Fenstern der Dementia-Hütten von Shivering Isles und sehen so aus:<br />
<span id="more-331"></span><br />
<div id="attachment_310" class="wp-caption aligncenter" style="width: 510px"><a href="http://lumenpage.com/blog/wp-content/uploads/2008/12/fenster.png"><img class="size-medium wp-image-310" title="fenster" src="http://lumenpage.com/blog/wp-content/uploads/2008/12/fenster-500x312.png" alt="Die Fenster von Eleyon. Links die Version für den Tag, rechts die beleuchtete für die Nacht." width="500" height="312" /></a><p class="wp-caption-text">Die Fenster von Eleyon. Links die Version für den Tag, rechts die beleuchtete für die Nacht.</p></div></p>
<p>Nun kommen wir zu den benötigten Meshes &#8211; man muss die Fenster ja unabhängig von dem Rest des Hauses enablen und disablen können. Der Dank für diese Methode geht an Haldor und Trebron vom Orden-Team.<br />
Also, zuerst suchen wir uns das NiTriStrip, in dem die Fenster liegen. Dieses NiTriStrip klicken wir nun rechts an und wählen &#8220;Copy Branch&#8221;.</p>
<div id="attachment_312" class="wp-caption alignnone" style="width: 410px"><a href="http://lumenpage.com/blog/wp-content/uploads/2008/12/copybranch.png"><img class="size-thumbnail wp-image-312" title="copybranch" src="http://lumenpage.com/blog/wp-content/uploads/2008/12/copybranch-400x250.png" alt="Und &quot;Copy Branch&quot;..." width="400" height="250" /></a><p class="wp-caption-text">Und &quot;Copy Branch&quot;...</p></div>
<p>Dann löschen wir es und speichern das Mesh als Grundmesh des Hauses ab.</p>
<div id="attachment_319" class="wp-caption alignnone" style="width: 410px"><a href="http://lumenpage.com/blog/wp-content/uploads/2008/12/rembranch.png"><img class="size-thumbnail wp-image-319" title="rembranch" src="http://lumenpage.com/blog/wp-content/uploads/2008/12/rembranch-400x250.png" alt="Und weg mit den Fenstern!" width="400" height="250" /></a><p class="wp-caption-text">Und weg mit den Fenstern!</p></div>
<div id="attachment_313" class="wp-caption alignnone" style="width: 410px"><a href="http://lumenpage.com/blog/wp-content/uploads/2008/12/saveasnowindow.png"><img class="size-thumbnail wp-image-313" title="saveasnowindow" src="http://lumenpage.com/blog/wp-content/uploads/2008/12/saveasnowindow-400x250.png" alt="Speichern als Variante ohne Fenster..." width="400" height="250" /></a><p class="wp-caption-text">Speichern als Variante ohne Fenster...</p></div>
<p>Danach einen Rechtsklick auf das mit einer Null markierten NiNode und &#8220;Paste Branch&#8221;.</p>
<div id="attachment_318" class="wp-caption alignnone" style="width: 410px"><a href="http://lumenpage.com/blog/wp-content/uploads/2008/12/paste.png"><img class="size-thumbnail wp-image-318" title="paste" src="http://lumenpage.com/blog/wp-content/uploads/2008/12/paste-400x250.png" alt="Paste Branch..." width="400" height="250" /></a><p class="wp-caption-text">Paste Branch...</p></div>
<p>Damit fügen wir die Fenster wieder ein. Nun löschen wir alle anderen NiTriStrips außer dem Fenster. Und dazu noch das bhkCollisionObject.</p>
<div id="attachment_321" class="wp-caption alignnone" style="width: 410px"><a href="http://lumenpage.com/blog/wp-content/uploads/2008/12/nocobject.png"><img class="size-thumbnail wp-image-321" title="nocobject" src="http://lumenpage.com/blog/wp-content/uploads/2008/12/nocobject-400x250.png" alt="Und auch kein Colission Object mehr..." width="400" height="250" /></a><p class="wp-caption-text">Und auch kein Collision Object mehr...</p></div>
<p>Damit sind wir beinahe fertig &#8211; wir müssen nur noch die Kollisionsberechnung ausschalten, was wir tun, indem wir erst unter &#8220;View&#8221; die Block Details sichtbar machen, die BSXFlags anklicken und auf das kleine Fähnchen nach uint klicken. Dann schalten wir &#8220;Enable Collision&#8221; aus und fertig.</p>
<div id="attachment_316" class="wp-caption alignnone" style="width: 410px"><a href="http://lumenpage.com/blog/wp-content/uploads/2008/12/enablecol.png"><img class="size-thumbnail wp-image-316" title="enablecol" src="http://lumenpage.com/blog/wp-content/uploads/2008/12/enablecol-400x250.png" alt="Enable Colission muss aus..." width="400" height="250" /></a><p class="wp-caption-text">Enable Collision wird ausgeschaltet.</p></div>
<p>Nun können wir endlich die passenden Texturen zuweisen. Die Tagesvariante kann entweder ihre vorhandenen Texturen behalten oder eigene bekommen. Normalerweise ist die Standard-Textur aber vollkommen geeignet, nur für die Nacht muss sie einen orangenen Farbton und eine höhere Sättigung erreichen.<br />
Was nun noch fehlt ist die Emissive Color, die für die Tagesfenster auf Schwarz belassen werden kann.<br />
Damit haben wir die Fenster für den Tag fertig, jetzt weisen wir ihnen noch die nächtlichen Texturen zu und speichern sie separat ab. Um die Fenster auch aus der Ferne leuchtend erscheinen zu lassen, setzen wir die Emissive Color auf Weiß (#ffffff).</p>
<div id="attachment_315" class="wp-caption alignnone" style="width: 410px"><a href="http://lumenpage.com/blog/wp-content/uploads/2008/12/emissivecolorday.png"><img class="size-thumbnail wp-image-315" title="emissivecolorday" src="http://lumenpage.com/blog/wp-content/uploads/2008/12/emissivecolorday-400x250.png" alt="Die Emissive Color für den Tag..." width="400" height="250" /></a><p class="wp-caption-text">Die Emissive Color für den Tag...</p></div>
<p>Jetzt sollten wir drei verschiedene Meshes erzeugt haben: eines ohne Fenster, eines nur mit den unbeleuchteten und eines mit den beleuchteten Fenstern. Bevor wir nun ins Construction Set springen und dort weitermachen, gönnen wir uns eine kleine Pause. Trinken einen Schluck, holen einmal tief Luft.</p>
<p>Okay, zuerst binden wir die Meshes ein. Das sollte ja nicht allzu schwierig sein. Der Typ ist mehr oder weniger egal, das Haus auf jeden Fall als Static, die Fenster kann man auch als Activator einbinden. Macht aber für unsere Methode keinen Unterschied.<br />
<div id="attachment_429" class="wp-caption alignnone" style="width: 410px"><a href="http://lumenpage.com/blog/wp-content/uploads/2009/01/eingebunden.png"><img src="http://lumenpage.com/blog/wp-content/uploads/2009/01/eingebunden-400x250.png" alt="Alle drei Meshes sind eingebunden" title="eingebunden" width="400" height="250" class="size-thumbnail wp-image-429" /></a><p class="wp-caption-text">Alle drei Meshes sind eingebunden</p></div><br />
Nun brauchen wir noch die &#8220;Meister-Referenzen&#8221;, die als Parent für die Fenster fungieren. Dazu suchen wir uns irgendein Objekt, ich habe mal einen Activator genommen und machen eine neue Version von ihm, die wir passend bennen. Nun erstellen wir uns eine neue Interior-Zelle, in der wir später schnell die Referenzen wiederfinden können. Am Besten ist es, wenn diese Zelle einen Namen bekommt, der sie ganz an den Anfang des Alphabets befördert. So wie &#8220;000LightingCell&#8221; oder ähnliches. Nun ziehen wir unseren Activator zweimal in diese Zelle. Und klicken beide Referenzen an und geben ihnen einzigartige, leicht erkennbare IDs, zum Beispiel &#8220;XRefDay&#8221; und &#8220;XRefNight&#8221;. Diese müssen allerdings, soweit ich weiß, mit einem Buchstaben beginnen. Auf keinen Fall dürfen wir vergessen, das Kreuz bei &#8220;Persistent Reference&#8221; zu machen.<br />
<a href="http://lumenpage.com/blog/wp-content/uploads/2009/01/referenzen.png"><img src="http://lumenpage.com/blog/wp-content/uploads/2009/01/referenzen-400x250.png" alt="Wir haben eine neue Zelle und eine neue Version des Straßenschildes von Anvil erstellt. In die Zelle haben wir zweimal das Schild gezogen und den beiden Referenzen jeweils eindeutige IDs gegeben. Auf keinen Fall &quot;Persistens References&quot; vergessen!" title="referenzen" width="400" height="250" class="size-thumbnail wp-image-430" /></a><br />
In dem Bild habe ich eine neue Zelle und eine neue Version des Straßenschildes von Anvil erstellt. In die Zelle wurde zweimal das Schild gezogen und den beiden Referenzen jeweils eindeutige IDs verpasst.</p>
<p>Bevor wir nun die Fenster und Häuser platzieren, müssen wir uns noch um das Scripting kümmern. Zuerst das Script, das ja recht simpel aufgebaut ist:</p>
<p>scn 0LightingScript</p>
<p>float fQuestDelayTime</p>
<p>begin gamemode</p>
<p>set fQuestDelayTime to 60</p>
<p>; Tag aber neblig -> Lichter an<br />
if ( gamehour >= 6 || gamehour < 21 ) &#038;&#038; ( GetIsCurrentWeather Fog == 1 )<br />
    XRefDay.disable<br />
    XRefNight.enable<br />
;    Message "On."<br />
endif</p>
<p>; Tag -> aus<br />
if ( gamehour >= 6 || gamehour < 21 ) &#038;&#038; ( GetIsCurrentWeather Fog != 1 )<br />
    XRefDay.enable<br />
    XRefNight.disable<br />
;    Message "Off."<br />
endif</p>
<p>; Nacht -> an<br />
if gamehour >= 21 || gamehour < 6<br />
    XRefDay.disable<br />
    XRefNight.enable<br />
;    Message "On."<br />
endif</p>
<p>end</p>
<p><strong>Die Wetterabfrage hat anscheinend, wie Trebron in einem Kommentar zum letzten Post mitteilte, im Zusammenspiel mit Wettermods Abstürze zur Folge. Kann das jemand bestätigen?</strong></p>
<p>Dieses Script speichern wir nun als QuestScript und bauen uns einen passenden Quest dazu, den wir beliebig nennen und ihm das Script verpassen. Wollen wir die tageszeitabhängige Beleuchtung nun anschalten, müssen wir nur in der Konsole &#8220;StartQuest MeinQuestName&#8221; eingeben.<br />
<div id="attachment_431" class="wp-caption alignnone" style="width: 410px"><a href="http://lumenpage.com/blog/wp-content/uploads/2009/01/questscript.png"><img src="http://lumenpage.com/blog/wp-content/uploads/2009/01/questscript-400x250.png" alt="Das Questscript wird eingebunden" title="questscript" width="400" height="250" class="size-thumbnail wp-image-431" /></a><p class="wp-caption-text">Das Questscript wird eingebunden</p></div><br />
Gut, jetzt binden wir unsere Beleuchtung endlich ein. Zuerst stellen wir ein Haus in die Landschaft, das noch keine Fenster hat. Dann klicken wir es doppelt an und schieben das aufgehende Fenster nach oben, so dass es über das Renderfenster herausragt.<br />
<div id="attachment_432" class="wp-caption alignnone" style="width: 410px"><a href="http://lumenpage.com/blog/wp-content/uploads/2009/01/hauseingebaut.png"><img src="http://lumenpage.com/blog/wp-content/uploads/2009/01/hauseingebaut-400x250.png" alt="Das Haus steht!" title="hauseingebaut" width="400" height="250" class="size-thumbnail wp-image-432" /></a><p class="wp-caption-text">Das Haus steht!</p></div><br />
Nun ziehen wir unsere beiden Fenster in das Renderfenster und klicken das erste doppelt an und bewegen das Fenster nach oben. Das gleiche tun wir auch mit dem zweiten Fenster. Jetzt kann man auch den Grund sehen, warum wir die Fenster nach oben geschoben haben: wären sie weiter unten, würden sie vom wieder vom in den Vordergrund springenden Renderfenster verdeckt werden.<br />
<div id="attachment_433" class="wp-caption alignnone" style="width: 410px"><a href="http://lumenpage.com/blog/wp-content/uploads/2009/01/fensteranordnung.png"><img src="http://lumenpage.com/blog/wp-content/uploads/2009/01/fensteranordnung-400x250.png" alt="So sind unsere Fenster dann angeordnet" title="fensteranordnung" width="400" height="250" class="size-thumbnail wp-image-433" /></a><p class="wp-caption-text">So sind unsere Fenster dann angeordnet</p></div><br />
Gut, nun haben wir unsere drei Fenster nebeneinander offen. Als erstes geben wir den Fenstern ihre passenden Parents, indem wir auf &#8220;Enable Parent&#8221; gehen, unsere Zelle auswählen und die passende Referenz auswählen. Nun fehlt nur noch die Positionierung. Dazu übertragen wir die Positionsdaten des Hausmeshes auf die jeweiligen Fenstermeshes. Dazu haben wir die Fenster alle nebeneinander geöffnet, das erspart viel Klickerei. Ein Hinweis noch an dieser Stelle: nach dem Einfügen (mit Strg + V) der letzten Zahl muss man noch einmal in ein anderes Feld klicken, damit auch dieser Wert übernommen wird. Danach schließen wir die drei Fenster und haben unser Haus erfolgreich mit nachts leuchtenden Fenstern ausgestattet!<br />
<div id="attachment_440" class="wp-caption alignnone" style="width: 410px"><a href="http://lumenpage.com/blog/wp-content/uploads/2009/01/parents1.png"><img src="http://lumenpage.com/blog/wp-content/uploads/2009/01/parents1-400x250.png" alt="Die Parents werden gesetzt. Die leuchtenden Fenster müssen nachts angehen..." title="parents1" width="400" height="250" class="size-thumbnail wp-image-440" /></a><p class="wp-caption-text">Die Parents werden gesetzt. Die leuchtenden Fenster müssen nachts angehen...</p></div><br />
<div id="attachment_435" class="wp-caption alignnone" style="width: 410px"><a href="http://lumenpage.com/blog/wp-content/uploads/2009/01/allegleich.png"><img src="http://lumenpage.com/blog/wp-content/uploads/2009/01/allegleich-400x250.png" alt="Alle haben die gleichen Positionsdaten..." title="allegleich" width="400" height="250" class="size-thumbnail wp-image-435" /></a><p class="wp-caption-text">Alle haben die gleichen Positionsdaten...</p></div><br />
<div id="attachment_436" class="wp-caption alignnone" style="width: 410px"><a href="http://lumenpage.com/blog/wp-content/uploads/2009/01/hausmitfenstern.png"><img src="http://lumenpage.com/blog/wp-content/uploads/2009/01/hausmitfenstern-400x250.png" alt="Unser Haus hat Fenster!" title="hausmitfenstern" width="400" height="250" class="size-thumbnail wp-image-436" /></a><p class="wp-caption-text">Unser Haus hat Fenster!</p></div><br />
Bravo. Geschafft. Jetzt fehlt nur noch, dass unsere Fenster auch nachts Licht ausstrahlen, das die Umgebung beleuchtet. Dazu machen wir uns einfach eine neue Lichtquelle unter &#8220;Lights&#8221;, die aussieht wie eine große Glühbirne und orange leuchtet. Von diesen Glühbirnen positionieren wir jeweils eine vor jedem Fenster und geben allen die Nacht-Referenz als Parent.<br />
<div id="attachment_437" class="wp-caption alignnone" style="width: 410px"><a href="http://lumenpage.com/blog/wp-content/uploads/2009/01/lichtvorfenstern.png"><img src="http://lumenpage.com/blog/wp-content/uploads/2009/01/lichtvorfenstern-400x250.png" alt="In der Nacht gibt es auch Licht!" title="lichtvorfenstern" width="400" height="250" class="size-thumbnail wp-image-437" /></a><p class="wp-caption-text">In der Nacht gibt es auch Licht!</p></div><br />
Alle anderen Objekte, die von der Tageszeit abhängig sein müssen, können wir auch mit den Referenzen disablen und enablen. Nachts Schmetterlinge durch Glühwürmchen ersetzen, Kerzen ausgehen lassen&#8230; alles ganz einfach! Bei den Kerzen muss man einfach eine angeschaltete Version (unter Lights) und eine ausgeschaltete Version (unter Static/Lights) mit der oben erklärten Methode ineinander stellen und die passenden Referenzen verpassen. Schon haben wir ein bisschen mehr Realismus.<br />
<a href="http://lumenpage.com/blog/wp-content/uploads/2009/01/tag.png"><img src="http://lumenpage.com/blog/wp-content/uploads/2009/01/tag-400x250.png" alt="tag" title="tag" width="400" height="250" class="alignnone size-thumbnail wp-image-442" /></a><br />
<a href="http://lumenpage.com/blog/wp-content/uploads/2009/01/nacht.png"><img src="http://lumenpage.com/blog/wp-content/uploads/2009/01/nacht-400x250.png" alt="nacht" title="nacht" width="400" height="250" class="alignnone size-thumbnail wp-image-443" /></a><br />
Jetzt sind wir aber wirklich fertig. Juhu!</p>
<p><strong>Und, baut ihr das jetzt ein? Habt ihr eine bessere Methode? Habe ich gar einen Fehler gemacht? Kommentarfunktion nutzen, danke. ;-)</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://lumenlog.com/modding/tageszeitabhangige-beleuchtung-tutorial/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Tageszeitabhängige Beleuchtung</title>
		<link>http://lumenlog.com/modding/tageszeitabhaengige-beleuchtung</link>
		<comments>http://lumenlog.com/modding/tageszeitabhaengige-beleuchtung#comments</comments>
		<pubDate>Sun, 21 Dec 2008 17:37:25 +0000</pubDate>
		<dc:creator>Marcel</dc:creator>
				<category><![CDATA[Modding]]></category>
		<category><![CDATA[Beleuchtung]]></category>
		<category><![CDATA[Essay]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[NifSkope]]></category>
		<category><![CDATA[Oblivion]]></category>
		<category><![CDATA[Scripting]]></category>
		<category><![CDATA[Texturieren]]></category>

		<guid isPermaLink="false">http://lumenpage.com/blog/?p=296</guid>
		<description><![CDATA[ Sowohl Oblivion als auch Morrowind ignorieren die Veränderung der Tageszeit, es gehen keine Lichter an oder aus wenn es Nacht wird. Dabei ist das doch recht einfach umzusetzen und bringt einen großen Zuwachs an Lebenendigkeit, an Atmosphäre mit sich. Außerdem ermöglicht ein Tag-Nacht-Wechsel viel abwechslungsreichere Interiors. Diese können nämlich je nach Tageszeit von bläulichem Tageslicht oder von orangenem Feuerschein beleuchtet sein. Ein nächtliche Siedlung mit orangenen Fenstern ist gleich viel lebendiger als eine scheinbare Totenstadt mit nachts unbeleuchteten Fenstern. Eine Variable Beleuchtung beschränkt sich allerdings nicht auf einen Wechsel von Tag und Nacht - nein, auch das Wetter kann berücksichtigt werden. Auch bei Nebel oder Sturm wirken beleuchtete Fenster sehr dramatisch.
<br />
Und wie baut man einen solchen Wechsel nun in seine Mod ein? Mir sind dazu drei Möglichkeiten bekannt, die ich hier vorstellen werde. Ein Tutorial, das genauer die Methode zwei vorstellt, ist auch in Arbeit.
<br />
<br />
Und nun schnell <a href="http://lumenpage.com/blog/modding/tageszeitabhangige-beleuchtung">weiterlesen.</a> ;)]]></description>
			<content:encoded><![CDATA[<p><a href="http://lumenpage.com/blog/wp-content/uploads/2008/12/eleyon08.jpg"><img class="size-thumbnail wp-image-300 alignright" title="Eleyon Tag- und Nacht" src="http://lumenpage.com/blog/wp-content/uploads/2008/12/eleyon08-400x320.jpg" alt="Eleyon bei Nacht. Mit leuchtenden Fenstern." width="400" height="320" /></a> Sowohl Oblivion als auch Morrowind ignorieren die Veränderung der Tageszeit, es gehen keine Lichter an oder aus wenn es Nacht wird. Dabei ist das doch recht einfach umzusetzen und bringt einen großen Zuwachs an Lebenendigkeit, an Atmosphäre mit sich. Außerdem ermöglicht ein Tag-Nacht-Wechsel viel abwechslungsreichere Interiors. Diese können nämlich je nach Tageszeit von bläulichem Tageslicht oder von orangenem Feuerschein beleuchtet sein. Ein nächtliche Siedlung mit orangenen Fenstern ist gleich viel lebendiger als eine scheinbare Totenstadt mit nachts unbeleuchteten Fenstern. Eine Variable Beleuchtung beschränkt sich allerdings nicht auf einen Wechsel von Tag und Nacht &#8211; nein, auch das Wetter kann berücksichtigt werden. Auch bei Nebel oder Sturm wirken beleuchtete Fenster sehr dramatisch.</p>
<p>Und wie baut man einen solchen Wechsel nun in seine Mod ein? Mir sind dazu drei Möglichkeiten bekannt, die ich hier vorstellen werde. Ein Tutorial, das genauer die Methode zwei vorstellt, ist auch in Arbeit.<br />
<span id="more-296"></span></p>
<h4>Methode 1: Lokales Script</h4>
<p>Dies ist die offensichtlichste und einfachste Methode, einen Wechsel von Tag und Nacht umzusetzen. Man lässt auf jedem Objekt, das von der Tageszeit beeinflusst werden soll, ein entsprechendes Script laufen. Dieses muss nur die Tageszeit festellen und je nachdem den &#8220;enable&#8221; oder &#8220;disable&#8221;-Befehl auslösen. Dieses könnte dann ungefähr so aussehen:</p>
<p><code>scn LightingScript<br />
begin gamemode<br />
; Tag und nebelig -&gt; ein<br />
if ( gamehour &gt;= 6 || gamehour &lt; 21 ) &amp;&amp; ( GetIsCurrentWeather Fog == 1 )<br />
enable<br />
endif</code></p>
<p><code>; Tag und schön -&gt; aus<br />
if ( gamehour &gt;= 6 || gamehour &lt; 21 ) &amp;&amp; ( GetIsCurrentWeather Fog != 1 )<br />
disable<br />
endif</code></p>
<p><code> </code></p>
<p> </p>
<p><code>; Nacht -&gt; ein<br />
if gamehour &gt;= 21 || gamehour &lt; 6<br />
enable<br />
endif<br />
end</code></p>
<p>Natürlich muss man gegebenenfalls &#8220;disable&#8221; und &#8220;enable&#8221; vertauschen, je nach Anwendung. Eine unbeleuchtetes Fenster zum Beispiel muss ja tagsüber enabled sein.<br />
Der große Nachteil dieser Methode ist jedoch offensichtlich: sie frisst Performance. Denn auf jedem Objekt läuft ein Script, das in jedem einzelnen Frame berechnet werden muss. Und eigentlich nur zweimal am Tag etwas tun soll&#8230;<br />
Dazu kommt ein zweites Problem. Man muss für jedes Objekt eine jeweilige Tag- und Nacht-Version erstellen. Das ist zum Beispiel bei den Kerzen recht nervig. Oblivion liefert ja schon ausgeschaltete Versionen mit &#8211; man muss jedoch trotzdem nochmals eigene Varianten herstellen, was doch ein wenig unelegant ist.</p>
<h4>Methode 2: Globales Script und Parents</h4>
<div id="attachment_335" class="wp-caption alignleft" style="width: 410px"><a href="http://lumenpage.com/blog/wp-content/uploads/2008/12/eleyon20jpg.jpeg"><img src="http://lumenpage.com/blog/wp-content/uploads/2008/12/eleyon20jpg-400x250.jpg" alt="Diese Methode wird bei Eleyon eingesetzt." title="eleyon20jpg" width="400" height="250" class="size-thumbnail wp-image-335" /></a><p class="wp-caption-text">Diese Methode wird bei Eleyon eingesetzt.</p></div>Jedes Objekt in Oblivion kann eine Parent-Referenz haben, dessen Enable- und Disable-Status es teilt. Auf diesem Verhalten basiert die zweite Methode. Es wird nur jeweils ein &#8220;Meister-Objekt&#8221; für Tag und Nacht definiert.<br />
Noch eleganter ist natürlich die Variante mit nur einer Referenz: wenn man bei den Children den Haken bei &#8220;Set Enable State to Opposite of Parent&#8221; setzt, wird der Status umgedreht.<br />
Hat man sich nun seine Meister-Referenz(en) gebaut (die unbedingt auf &#8220;Persistent Reference&#8221; gestellt werden müssen), muss man nur noch ein simples QuestScript schreiben, das sie jeweils enabled und disabled. Das Schöne dabei ist die Variable <a href="http://cs.elderscrolls.com/constwiki/index.php/FQuestDelayTime">fQuestDelayTime</a>, die festlegt, wie oft ein QuestScript durchläuft. So wird es nicht ständig ausgeführt, sondern kann sich alle paar Minuten einschalten und die Tageszeit prüfen.<br />
Somit ist der große Vorteil dieser Methode der Performancegewinn durch das einzelne, nicht in jedem Frame laufende Quest-Script.<br />
Praktischerweise kann man mit dieser Methode jedes beliebige Objekt einfach tageszeitabhängig machen. Man muss keine neuen Objekte erstellen, eine kleine Einstellung bei &#8220;Enable Parent&#8221; genügt. So kann man auch schnell mal einen Schmetterling nur tagsüber fliegen lassen und ihn nachts durch Glühwürmchen ersetzen.<br />
Der Nachteil ist jedoch eine gewisse Mehrarbeit beim Platzieren von Objekten, da jeder einzelnen Referenz der passende Parent zugewiesen werden muss. Die Abhängigkeit von Parents macht diese Methode auch unflexibler &#8211; alles wird zur gleichen Zeit verändert. Das möchte man allerdings meistens auch genau so haben. Eine Pause zwischen dem Disablen der Tagesfenster und dem Enablen der nächtlichen Fenster wäre recht unschön.</p>
<h4>Methode 3: Emissive Color</h4>
<p><div id="attachment_309" class="wp-caption alignleft" style="width: 410px"><a href="http://lumenpage.com/blog/wp-content/uploads/2008/12/texians.png"><img class="size-thumbnail wp-image-309" title="texians" src="http://lumenpage.com/blog/wp-content/uploads/2008/12/texians-400x250.png" alt="Die Fenster in Chorrol, mit Texians Methode beleuchtet." width="400" height="250" /></a><p class="wp-caption-text">Die Fenster in Chorrol, mit Texians Methode beleuchtet.</p></div>
<p>Diese interessante, in <a href="http://www.oblivionmodwiki.com/index.php?title=Texian's_Window_Lighting_System">Texian&#8217;s Window Lighting System</a> eingesetzte Methode kommt ganz ohne Scripts aus. Sie basiert auf dem Zusammenspiel der Emissive Color einer NiTriStrip und der Glowmap. Die <a href="http://cs.elderscrolls.com/constwiki/index.php/Working_With_Nifs_301_:_Properties_Breakdown">Emissive Color</a> bestimmt das Schimmern, das zunimmt, je weniger Licht auf ein Objekt fällt. Bei dieser Methode wird diese nun auf Orange gesetzt, so dass die Fenster im Dunkeln orange schimmern. Eine Glow-Map legt nun fest, welche Teile des Fensters von diesem Effekt betroffen sind &#8211; leuchtende Fensterrahmen sind nicht unbedingt erwünscht.</p>
<p>Auf diese Weise kann man Fenster nachts leuchten kann, ohne zu scripten, ohne neue Nifs zu bauen, die nur aus den Fenstern bestehen, ohne auf die Veränderung des Wetters zu achten und so weiter. Offensichtlich ist diese Methode nur für Fenster anwendbar, Lichtquellen müssen immernoch von Hand platziert und geskriptet werden.<br />
Worin ein großer Nachteil dieses Vorgehens liegt. Denn wenn die Fenster mit ihrer Emissive Color leuchten, strahlen sie kein Licht an ihre Umgebung ab. So bleiben nahe Hauswände im Dunkeln, man sieht keinen Lichtschein aus Fenstern kommen. Daher finde ich die Beleuchtung dieser Methode, so genial sie auch ist, doch ein wenig unrealistisch und schwach. Ich bevorzuge das Zusammenspiel von veränderten Fenstertexturen und Lichtquellen. Das wirkt viel leuchtender und lebendiger.</p>
<p><strong>Und ihr? Welche Methode verwendet ihr? Oder haltet ihr eine tageszeitabhängige Beleuchtung für sinnfreie Spielerei?</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://lumenlog.com/modding/tageszeitabhaengige-beleuchtung/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
