Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
29.12.2004, 17:38
ch1nook



Hi,

ich wäre euch dankbar, wenn ihr mir sagen könntet wie man Spiegel erstellet. Reflexionen sind ja bekanntlich machbar, aber gibts dafür auch ein Entity?

--

"lul dass inderessirt nimant lol dei endschieten dohcch n!chts"
Wer braucht schon eine deutsche Rechtschreibung?

zum Seitenanfang zum Seitenende Profil || Suche
001
29.12.2004, 17:55
tommydanger



Spiegel so wie in Doom3 sind in HL2 nicht möglich
Du könntest aber eventuel mit einer Camera trixen, aber du siehst dich dann nicht selber im Spiegel

--

IDF - a HL2 TC
Source Compile Analyzer v1.2b
too much is never enough -> happyhardcore.com

zum Seitenanfang zum Seitenende Profil || Suche
002
30.12.2004, 10:52
Andy83



Klar sind sie möglich, nur gibt es bis jetzt noch keinen entsprechenden Shader dazu. Ist ja im Grunde nichts anderes als Wasser mit "Reflect All" nur ohne den "Wellen". Und der Winkel müsste geändert werden, damit man die Spiegelungen auch sieht wenn man gerade darauf schaut, und nicht nur schräg.

Sie sind im Spiel nicht integriert, deshalb ist es auch etwas kompilzierter, aber dass sie technisch nicht möglich wären, stimmt nicht.

--

www.hlportal.de

zum Seitenanfang zum Seitenende Profil || Suche
003
30.12.2004, 11:14
Jack ONeill



es ist mit sicherheit äußerst schwer. wenn man mal überlegt:

In ganz City 17 gab es keinen spiegel. o.O

das mit wasser könnte gehn, aber im singelplayer sieht man sich auf jeden fall nich selbst, da es kein Gordon model gibt !

--

zum Seitenanfang zum Seitenende Profil || Suche
004
30.12.2004, 11:31
K-Putt



Tja, überleg mal warum es in City17 keinen Spiegel gab, sicher nicht deswegen, weils technisch nicht machbar war.
Valve wollte nur die Illusion rund um Gordon nicht zerstören, darum gibts weder ein Model von ihm, noch sagt er ein einziges Wort im Spiel.

--

Rambo Engineer @ Drippy's 2fort - finest TFC 1.5 || Bild Upload || The world's most advanced open source database

zum Seitenanfang zum Seitenende Profil || Suche
005
30.12.2004, 11:32
Andy83



Es gab aber aus Design-Gründen keinen Spiegel, nicht weil sie technisch nicht möglich wären. Valve vertritt die Philosophie dass man Gordon niemals sehen soll, deshalb wäre es wohl mehr als dumm wenn sie Spiegel einbauen würden.

--

www.hlportal.de

zum Seitenanfang zum Seitenende Profil || Suche
006
30.12.2004, 12:12
Damado



Zitat:
Jack ONeill postete
es ist mit sicherheit äußerst schwer. wenn man mal überlegt:

In ganz City 17 gab es keinen spiegel. o.O

das mit wasser könnte gehn, aber im singelplayer sieht man sich auf jeden fall nich selbst, da es kein Gordon model gibt !

Und es wäre mit Sicherheit DIE technische herrausforderung ein playermodel zuimplementieren ^^

@Andy 83 - die idee ist gut mit dem Wasser.
@tommydanger - dass mit der cam gefällt mir fast am besten, da es ja im moment auch ohne weiteres möglich wäre.

btw. dass mit dem playermodel - im grunde kann das ja nix schlimmes sein - denn im mp hat man sie ja auch.

Zitat:
K-Putt postete
Tja, überleg mal warum es in City17 keinen Spiegel gab, sicher nicht deswegen, weils technisch nicht machbar war.
Valve wollte nur die Illusion rund um Gordon nicht zerstören, darum gibts weder ein Model von ihm, noch sagt er ein einziges Wort im Spiel.
Da hat aich Valve aber neu orientiert .. denn im ersten Teil + allen offizl. addons HAT man ihn gesehen.

--

zum Seitenanfang zum Seitenende Profil || Suche
007
30.12.2004, 13:02
Rapsyx



Zitat:
maniacthemapper postete
Da hat aich Valve aber neu orientiert .. denn im ersten Teil + allen offizl. addons HAT man ihn gesehen.
Falsch. In Half-Life hat man nada von Gordon gesehen, mal abgesehen vom multiplayer model. Und die Addons sind mal was anderes, da die a) nicht von valve kommen, und b) man auch nicht gordon verkörpert.

--

zum Seitenanfang zum Seitenende Profil || Suche
008
01.01.2005, 15:16
KhanRKerensky



Das mit der einfachen Refektion wie im Wasser wird glaubich nicht gehen. Meine Ti4200 (und viele andere Karten auch) rendern nur die Cubemaps, welche keine echte Reflektion darstellt, sondern ein vorberechneter Trick ist. Selbst wenn du ein Model von Gordon hättest würde es sich nicht spiegeln. Und mit ner Camera wirst du zwar einen schönen Effekt haben, aber keinen Spiegel.

--

"[...] you're going to burn in a very special level of Hell. A level they reserve for child molesters and people who talk at the theater." - Book

zum Seitenanfang zum Seitenende Profil || Suche
009
01.01.2005, 16:54
Zinzi



die kamera idee find ich nicht schlecht
könnte es denn nicht so gehen:

Quellcode:Kamera        Brush              Spieler
  |            / \                   |
  |      noclip   "monitor"          |
  |           |   |                  |


  <           [   ]              <-- \o/
leider bin ich eher mapping anfänger, deshalb die frage :) sonst würd ichs gern mal ausprobieren

--

zum Seitenanfang zum Seitenende Profil || Suche
010
01.01.2005, 17:23
KhanRKerensky



Jetzt erinnern wir uns mal an den Physikunterricht.

Einfallswinkel = Ausfallswinkel

Im Falle einer 3D-Engine ist der Einfallswinkel der Blinkwinkel auf den Spiegel.
Da sich der Einfallswinkel ändert, wenn man sich bewegt, muss sich auch der Ausfallswinkel ändern.
Bei einer Kamera ist der Ausfallswinkel alles andere als Dynamisch.
Im Falle des direkten Draufschauens mag das ja noch passen, aber man kann dem Spieler ja schlecht verbieten sich vor dem Spiegel zu verbieten.

--

"[...] you're going to burn in a very special level of Hell. A level they reserve for child molesters and people who talk at the theater." - Book

zum Seitenanfang zum Seitenende Profil || Suche
011
01.01.2005, 19:38
ch1nook



Also meine Ti4200 rendert, wenn ich mich recht entsinne die umgebung und nicht nur die cubemap.
- - - -
ich dachte eigentlich, dass es mit der neuen source-engine leichter wäre, was spiegelungen angeht...
so kann man sich irren :(

--

"lul dass inderessirt nimant lol dei endschieten dohcch n!chts"
Wer braucht schon eine deutsche Rechtschreibung?

zum Seitenanfang zum Seitenende Profil || Suche
012
01.01.2005, 19:48
KhanRKerensky



Normalerweise hat man die Wahl zwischen "Simple Reflextions" was die Cubemap sein dürfte, "Reflect World" also eine richtige Reflexion für die Welt ohne Gegener/Gordon und "Reflect All". Mit dem letzten Punkt müsste es eigentlich machbar sein wenn Gordon nen Model hat. Da wird man ne Geforce 4 Ti auch hinprügeln können, aber ich bezweifle das das meine Karte noch vernünftig schafft und dann das Spiel noch Spielbar ist.

Ich glaube nicht das Valve keine Spiegel im Spiel hat, weils nicht geht, sondern weils in manchen Settings einfach bescheuert aussieht.

--

"[...] you're going to burn in a very special level of Hell. A level they reserve for child molesters and people who talk at the theater." - Book

zum Seitenanfang zum Seitenende Profil || Suche
013
01.01.2005, 20:06
Zinzi



Zitat:
KhanRKerensky postete
Im Falle des direkten Draufschauens mag das ja noch passen, aber man kann dem Spieler ja schlecht verbieten sich vor dem Spiegel zu verbieten.
das müsste doch gehen, indem man dem ganzen spiegel einen richtig schön dicken rahmen verpasst, so das nur wenig spielraum neben dem direkten senkrechten einfallswinkel bleibt, somit würde das dann auch nicht allzukomisch wirken, ausser das man wahrscheinlich den rahmen nicht im spiegel sieht ;)

insgesamt muss der abstand zwischen kamera und "spiegel" nur stimmen, damit das von der perspektive hinkommt

klar, einen einigermassen echt wirkenden spiegel wird man so nie hinbekommen, aber annäherungsweise dürfte das funktionieren, nur um sich selbst in etwas spiegelähnlichem betrachten zu können, und einen versuch isses doch sicher wert, oder nicht?

--

zum Seitenanfang zum Seitenende Profil || Suche
014
01.01.2005, 20:37
BadSoul



mhh im sp könnte es evtl noch gen wenn man die cam irgendwie auf den play fokusiert das sie also immer mit dem play mit schwenkt.
ka ob das geh hab noch nix mit kameras gemacht

--

zum Seitenanfang zum Seitenende Profil || Suche
015
01.01.2005, 21:43
KhanRKerensky



Dir ist aber schon klar, wie ein Spiegel "funktioniert", BadSoul?

--

"[...] you're going to burn in a very special level of Hell. A level they reserve for child molesters and people who talk at the theater." - Book

zum Seitenanfang zum Seitenende Profil || Suche
016
01.01.2005, 23:16
HammerBlade



Also ich glaube das ein richtiger Spiegel in HL2 rein durch Mapping nicht zu realisieren ist.

Man müsste eine ein neues Brushentity coden, das eine Kombination aus Monitor und Kamera ist: func_mirror. Von diesem Brush legt man dann ein Face als Spiegel fest, ähnlich wie bei einem funk_breakable_surf. In der Mitte dieses Spiegel-Face sitzt dann die Kamera und die Spiegel-Face selbst ist der Monitor. Die Kamera ändert ihre Blickrichtung von selbst so, das Einfallswinkel = Ausfallswinkel gilt. Der Einfallswinkel wird durch die Position des Spielers zu Spiegel definiert und in die Richtung des Ausfallswinkels blickt die Kamera.

Für SP ist das einfacher als für MP, denn in MP kann ja jeder Spieler etwas anders im Spiegel sehen, d.h. für jeden Spieler muss eine eigene Monitortextur generiert werden.

--

"Mit C++ (noch besser mit C) kann man sich _sehr_ leicht in den Fuss schiessen." - theDon
Auspack und freu! - Auszug aus einer, aus dem japanischen übersetzten, Bedienugsanleitung für ein Spielzeugaquarium.
--
Photon Audio Player | Majestic42.net | How To Ask Questions The Smart Way

zum Seitenanfang zum Seitenende Profil || Suche
017
01.01.2005, 23:30
Andy83



Das mit dem Monitor und Kamera als Spiegel ist ja auch eine dumme Idee, wenn, dann muss man sowas einfach durch einen Shader realisieren.

Zitat:
Das mit der einfachen Refektion wie im Wasser wird glaubich nicht gehen. Meine Ti4200 (und viele andere Karten auch) rendern nur die Cubemaps, welche keine echte Reflektion darstellt, sondern ein vorberechneter Trick ist.
Dann siehst du ganz einfach keinen Spiegel. Man kann doch nicht sagen "es geht nicht" nur weil manche mit einer Dx8 oder 7 Karte spielen. Man kann ja auch nicht erwarten dass dann jeder in den Genuss von so einer aufwendigen Sache kommt.

--

www.hlportal.de

zum Seitenanfang zum Seitenende Profil || Suche
018
01.01.2005, 23:31
KhanRKerensky



Ansatz in die richtige Richtung. Um einen Spiegel richtig zu simulieren müsste man die Kamera an der Spiegelebene des Spiegels spiegeln damit die Perspektive stimmt. Dabei müsste man allerdings beachten, das nicht nur der Blickwinkel sondern auch das Blickfeld stimmen muss. Die Kamera würde ja sonst bei gleichen Blickwinkel aber unterschiedlicher Entfernung das gleiche Bild produzieren, was nicht Sinn und Zweck der Sache sein kann.

Nee... also für nen richtigen Spiegel brauch man schon mehr als ne Kamera. Nen Pixelshader, der die Reflextion berechnet, wird schon nötig sein. Und genau das liefert HL ja wohl schon mit. Allerdings nur mit der Option "Reflect All" was nicht mit allen Karten machbar ist.
Ansonsten bleibt nur die Option des Fakens, was übrigens Duke Nukem 3D prima beherschte. Ne Cam dazu zu verwenden halte ich für äusserst schwer und auch nur für total glatte Flächen und mit Coding realisierbar.

--

"[...] you're going to burn in a very special level of Hell. A level they reserve for child molesters and people who talk at the theater." - Book

zum Seitenanfang zum Seitenende Profil || Suche
019
02.01.2005, 20:54
HammerBlade



Also einen Spiegel kann man mit einer Kamera und einem Monitor realisieren. Ich hab mir das gerade mal gecodet.

Aber das Problem ist, dass die Kamera das Bild punktbasiert abbildet, ein realer Spiegel aber flächig ist. Dieser Effekt gewinnt aber erst an Bedeutung, wenn man sehr nah am Spiegel ist, oder der Eintritswinkel sehr gross wird, nah an 90°. Wenn man nicht so nah vorm Spiegel steht, oder der Einfallswinkel nicht so extrem ist, liefert diese Lösung ein einigermaßen akzeptables Ergebnis.

Für einen richtigen Spiegel, ohne Einschränkung braucht man einen Shader, da dieser afaik flächig spiegeln kann.

--

"Mit C++ (noch besser mit C) kann man sich _sehr_ leicht in den Fuss schiessen." - theDon
Auspack und freu! - Auszug aus einer, aus dem japanischen übersetzten, Bedienugsanleitung für ein Spielzeugaquarium.
--
Photon Audio Player | Majestic42.net | How To Ask Questions The Smart Way


Dieser Beitrag wurde am 02.01.2005 um 20:56 von HammerBlade bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
020
04.01.2005, 00:28
Zinzi



Zitat:
HammerBlade postete
Also einen Spiegel kann man mit einer Kamera und einem Monitor realisieren. Ich hab mir das gerade mal gecodet.
kannst du irgendwie das resultat mal zeigen? :)
würd mich brennend interessieren wie das wohl ausschauen mag :D

--

zum Seitenanfang zum Seitenende Profil || Suche
021
04.01.2005, 04:26
HammerBlade



>Hier< gibts meinen Spiegel-Mod zum downloaden, denn das kommt auf Screenshots nicht rüber und eine Video ist mir zuviel Aufwand dafür.

Usage:
Das .rar muss in Steam\SteamApps\SourceMods entpackt und dann Steam neugestartet werden. Nun ist im Play Games-Menu unter Third Party Games ein neuer Eintrag: mirrorsp. Diesen starten und über die Console, mit map mirror_test, die Map mirror_test laden.

Anmerkung:
Das ist auf keinen Fall, in irgendeiner Weise fertig. Ich hab halt nur mal hackmäßig der Kamera ein bissl Logik hinzugefügt, so dass sie sich passend zu Spieler bewegt. Zur Zeit wird nur der Blickwinkel aber nicht das Blickfeld verändert. Außerdem muss die Kamera an der richtigen Stelle sitzen und in die richtige Richtung blicken. Das Ganze funktioniert zZt. Auch nur im SP. Wie gesagt, für MP müsste man das Spiegelbild für jeden Spieler separat berechnen.

--

"Mit C++ (noch besser mit C) kann man sich _sehr_ leicht in den Fuss schiessen." - theDon
Auspack und freu! - Auszug aus einer, aus dem japanischen übersetzten, Bedienugsanleitung für ein Spielzeugaquarium.
--
Photon Audio Player | Majestic42.net | How To Ask Questions The Smart Way

zum Seitenanfang zum Seitenende Profil || Suche
022
04.01.2005, 11:47
KhanRKerensky



Ich hab grad mal mit dem Materialsystem von HL2 rumgespielt.
Zuerst brauchen wir 2 Texturen. Eine komplett Weiße (mit dem klugen Namen: white) und eine komplett Schwarze (die nennen wir einfach mal black). Keine Ahnung ob HL2 da schon welche mitbringt. Ich hab mir einfach welche selber gemacht.
Dann erstellen wir eine mirror.vmt:
Quellcode:"LightmappedGeneric"
{
    "$basetexture" "black"
    "$envmap" "env_cubemap"
    "$envmapmask" "white"
}
Auf einen Brush packen, env_cubemap dazu, fertig.

Wies auf meiner TI4200 aussieht weiß ich: beschissen. Die typische Cubemap halt. Auf einer Karte die mehr kann (DX9 also) sollte man allerdings wirklich einen spiegel erhalten können.
Jemand mit einer passenden Graka kann das ja mal testen und schauen ob man mit "Reflect All" (meine 4200 macht trotzdem nur Cubemaps) eine Spiegelung hinbekommt.
Nachteil wie bei der Kameramethode ist natürlich weiterhin das man selbst nicht mitgespiegelt wird, lässt sich dafür aber auch auf Models anwenden.

Gibts eigentlich eine Methode um die generierten Cubemaps aus der Map rauszubekommen? Oder werden die gar irgentwo seperat gespeichert?
Weil die könnte man dann manipulieren und so ein falsches Spiegelbild in die Map schmuggeln ($envmap ändern). Wär für SP bestimmt lustig: Schalter, die man nur im Spiegel sieht und sowas.

--

"[...] you're going to burn in a very special level of Hell. A level they reserve for child molesters and people who talk at the theater." - Book


Dieser Beitrag wurde am 04.01.2005 um 11:48 von KhanRKerensky bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
023
04.01.2005, 15:47
HammerBlade



Ich muss dich entäuschen KhanRKerensky, aber ich hab das mal so gebaut, wie du das beschreibst, aber bei mir speigelt sich, trotz Radeon-9800-Pro (DX9) und "Reflect All", nur die Cubemap.

Edit:
Ich hab schon versucht an einem Wasser-Shader herumzubauen, aber da ist noch nichts brauchbares bei rausgekommen.

--

"Mit C++ (noch besser mit C) kann man sich _sehr_ leicht in den Fuss schiessen." - theDon
Auspack und freu! - Auszug aus einer, aus dem japanischen übersetzten, Bedienugsanleitung für ein Spielzeugaquarium.
--
Photon Audio Player | Majestic42.net | How To Ask Questions The Smart Way


Dieser Beitrag wurde am 04.01.2005 um 16:10 von HammerBlade bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
024
04.01.2005, 16:23
KhanRKerensky



Dann sag mir doch mal einer, wie man an dieses "Reflect all" rankommt... Irgentwo muss es einen Unterschied zwischen Simple, World und All geben.

--

"[...] you're going to burn in a very special level of Hell. A level they reserve for child molesters and people who talk at the theater." - Book

zum Seitenanfang zum Seitenende Profil || Suche