Einschusslöcher / "Decals" like in FEAR?
Übersicht

GrasmannBetreff: Einschusslöcher / "Decals" like in FEAR? |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Guten Tag,
ich bin was 3D-Game Programmierung angeht noch relativ frisch, wenn ihr versteht. Ich programmiere momentan nen kleinen Shooter. Soll ne Art FEAR Clon werden. Das hört sich jetzt wahrscheinlich recht naiv an wenn man bedenkt wieviele Leute an FEAR gearbeitet haben XD, wahrscheins wirds grafisch auch ned ansatzweise rankommen. Ist zwar bisher nur eine kleine viereckige Map, die in alle Himmelsrichtungen mit Wänden begrenzt ist, und es gibt auch noch keine Gegner, allerdings hab ich doch schon was zusammenbekommen. Bisschen Bumpmapping, ne Zeitlupenfunktion, Physikengine, Partikelengine, Playermodel mit Animationen, man kann Granaten werfen die auch mit Physik engine fliegen, hier und da paar andere kleine Sachen. Hab zu dem ganzen Kram gute Informationen im Net gefunden, weshelb das alles auch ned so schwer war, wenngleich doch recht zeitaufwendig XD. Allerdings steh ich jetzt grad vor meinem ersten richtigen Problem. Wer schon mal FEAR gezockt hat wird vielleicht wie ich sagen dass die Schusslöcher in den Wänden so schon richtig geil aussehen. Die gaukeln ja teilweise eine ziemliche Tiefe vor. Mich würde interessieren wie man so was in Blitz3D realisieren kann. Es ist nicht prinzipiell das Problem ein Decal, wenn ichs mal so nennen darf, auf der Wand zu platzieren, das klappt schon. Ich hab auch schon mit Normalmaps rumhantiert und versucht selbst was in Photoshop zu basteln. Allerdings nich mit viel erfolg, es funktioniert zwar, sieht aber insgesamt doch immer recht plattgedrückt aus. Vielleicht hat jemand von euch sowas ja mal gemacht? Oder hängts hier an der Dx7 Standart Engine von Blitz3D? |
||
![]() |
Mr.Keks |
![]() Antworten mit Zitat ![]() |
---|---|---|
Heyho,
ich habe FEAR zwar nie live gesehen, aber trotzdem zu deiner Frage: In DX7 ist es nicht so ohne weiteres möglich, eine platte Fläche (wie ein Decal eben) plastisch erscheinen zu lassen. Dazu verwenden die vermutlich (habe es wie gesagt nie gesehen ^^) Parallaxmapping. Und dafür brauchst du wohl oder übel Shader. Mehr als Bumpmapping ist mit B3d nicht drin. Allerdings: Ich glaube nicht, dass das bisschen Eyecandy am Ende den Unterschied macht. Versuch lieber mal, nen paar schöne Maps zu machen und ansprechende Gegner einzubauen! |
||
MrKeks.net |
![]() |
Willi die Rübe |
![]() Antworten mit Zitat ![]() |
---|---|---|
"Ansprechende Gegner" - Ein kleiner Widerspruch ![]() Wie würde es denn aussehen, wenn man an die Stelle des Schusslochs einfach ein Lowpoly Loch(vllt. 8-12 Polys) hinsetzt für zusätzliche Tiefe und zusätzlich noch eine Bumpmap. Mithilfe von EntityOrder wird es dann vor die Wand gezeichnet, sodass es physikalisch korrekt aussieht. Mfg Willi |
||
Ich habe keine Lösung, aber ich bewundere das Problem.
Tehadon Q6600, MSI Neo2-FR, 4GB Ram, nVidia 7800 GTX At the Farewell Party visit: MySpace | Homepage |
Grasmann |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Dass das Parallaxmapping is kann gut sein. Schade, ich hab mittlerweile schon häufiger gemerkt dass B3D doch seine Grenzen hat.
Aber die Idee das Loch als Model zu erstellen und mit entityorder vorzuschrauben hört sich gut an! Da werd ich ma bisschen dran rumwerklen. |
||
![]() |
Megamag |
![]() Antworten mit Zitat ![]() |
---|---|---|
Aber wenn man das Loch mit EntityOrder nach vorne legt,
ein Loch in die eine Wand schießt und dahinter läuft, wird man das Loch auch sehen, egal wie viele Gegenstände dazwischen sind, da es mit EntityOrder ja immer vor allem gezeichnet wird... |
||
![]() |
Willi die Rübe |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das könnte manlösen, indem man das Schussloch mit Hideentity oder EntityAlpha unsichtbar macht, sobald das Schussloch nicht mehr im Blickfeld ist. | ||
Ich habe keine Lösung, aber ich bewundere das Problem.
Tehadon Q6600, MSI Neo2-FR, 4GB Ram, nVidia 7800 GTX At the Farewell Party visit: MySpace | Homepage |
Grasmann |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich hab das mal probiert aber bin genau auf das Problem gestoßen ... das Loch wird vor allem anderen angezeigt, naja gut ... ich hab schon mit entityorder rumgemacht, das war mir klar.
Aber das ist nicht das einzigste Problem ... wenn man sich an dem Loch nun vorbeibewegt dann sieht man natürlich nicht nur den Rand des Loches sondern kann durch die Rückseite der Polygone durchsehen. Sprich: Egal aus welchem Winkel .... man sieht immer die volle Tiefe des Loches. Was ich mir nun überlegt hab: Is das ganze mit Animationen zu lösen, dass quasi anhand des Winkels zum Spieler die Tiefen Punkte nach vorne bewegt werden. Das ganze ist noch nicht umgesetzt und ich weis nich ob das ganze überhaupt Früchte tragen wird ... aber ich stell mir das in etwa so vor: (Kann sein dass ich da noch einen Denkfehler drin hab XD) Das Loch hat eine Animation mit 90 Frames der erste und der letzte Frame sind keyframes mit einmal dem höchsten Tiefgang und einmal so eingerichtet dass es ein zweidimensionales "Bildchen" ist quasi. Man müsste nur den Blickwinkel vom Spieler auf besagtes Objekt errechnen und je nachdem den jeweiligen Frame der Animation auslesen und draufsetzen, wenn ihr wisst wie ich meine. Problem wäre dass ich immernoch entityorder -1 brauche. EDIT: Also zumindest in Milkshape wenn man bei der Animation im 3DView das Bild mitdreht hat das schon nen schönen effekt. EDIT2: Wäre nur noch die zusätzliche Frage wie man den Blickwinkel auf ein anderes Objekt errechnet XD. |
||
![]() |
FireballFlame |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich würd sagen: lass es.
Ob ein Spiel geil wird, hängt nicht davon ab, ob es Parallaxmapping hat, oder nicht ![]() Ich finde, das gehört so zu den Sachen, die man eher dann einbaut, wenn man schon ne Beta hat ... sowas mit animierten Meshes zu faken, wär mir aber ehrlich gesagt die Arbeit eh nicht wert. |
||
PC: Intel Core i7 @ 4x2.93GHz | 6 GB RAM | Nvidia GeForce GT 440 | Desktop 2x1280x1024px | Windows 7 Professional 64bit
Laptop: Intel Core i7 @ 4x2.00GHz | 8 GB RAM | Nvidia GeForce GT 540M | Desktop 1366x768px | Windows 7 Home Premium 64bit |
![]() |
DAK |
![]() Antworten mit Zitat ![]() |
---|---|---|
ma könnts so machen, dass das loch vor der mauer als so eine art ring dauf gepackt wird...
so auf die art: (links = wand, rechts = 'loch') Code: [AUSKLAPPEN] |\ |/ | |\ |/ |
||
Gewinner der 6. und der 68. BlitzCodeCompo |
![]() |
Jo0oker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn es dir weiterhilft,
schau mal in deinem b3d ordner unter samples nach diesem Mario BesipielDort findest du auch Einschusslöcher.... lg Jo0oker |
||
Tehadon, das kostenlose 3D RPG
www.tehadon.de http://www.blitzforum.de/worklogs/14/ Das Abenteuer wird beginnen! |
Grasmann |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Okay ich hab gemerkt, das so zu emulieren macht wirklich nicht viel sinn ... es würd quasi aus jedem Winkel mehr oder weniger gleich aussehen, da man ja bei einer Frontalansicht die Tiefe des Loches nicht wahrnimmt. Der Eindruck der Tiefe ensteht erst durch die Bewegung des Spielers ... und wenn die Tiefe abnimmt siehts im Endeffekt immer gleich aus.
Die Idee mit dem Ring ist auch nicht schlecht ... aber theoretisch Physikalisch unmöglich XD ... nichts gegen die Idee ... ich weis dass du mir helfen wolltest aber ... wenn ein Projektil mit hoher Geschwindigkeit in die Wand schlägt gewinnt diese nun mal nicht an zusätzlicher Materie ^^. Da werd ich auf solche sachen wohl erst mal verzichten müssen. Schade, da geht bisschen was an Atmosphäre ja schon verloren. Aber vielleicht fällt mir ja noch irgendwas ein XD. Es muss ja irgendwie möglich sein das performanceschonend zu faken ... die Frage ist nur: Wie? XD Dann werd ich mich erst ma dem viel wichtigeren Thema zuwenden, das das Spiel erst einmal spielenswert macht .... endlich ma paar Gegner XD. |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group