|
|
Modele etc Weg clippen, wenn Wand dazwischen...
#155680
09/20/07 16:09
09/20/07 16:09
|
Joined: Apr 2005
Posts: 3,076 Germany, NRW
rvL_eXile
OP

3D Artist
|
OP

3D Artist
Joined: Apr 2005
Posts: 3,076
Germany, NRW
|
EDIT: Hab die Bilder geändert bitte mit F5 Cache leeren ! Danke  Hi, wolte mal fragen ob es möglich wäre einzelne Abschnitte eines Levels weg zu clippen. Beispielsweise habe ich ein Haus mit einem Terrain drum und 400 Pflanzen Entitys. So wenn ich jetzt nen starken Fog einstelle, kann man eh net mehr soweit schauen, also alles was hinter dem Blickfeld des Spieler ist, soll dann weg geclipped werden. Dazu nehmen wir jetzt einfach einen clipfar Wert von 500... Der Spieler bekommt nicht mit, das die Modele weg geclipped werden. So Wenn ich jetzt vor der Hauswand stehe, ist es ja eigentlich so, das ich die Modele rein Theoretisch sehen kann d.h. die Modele werden gerendert obwohl ich die eigentlich nicht sehe. ich möchte jetzt einfach, das die Modele die hinter einer Wand sind, nicht mehr gerendert werden. Ist sowas überhaupt möglich? Hier nochmal 2 Screens zur Verdeutlichung: Hier steht der Spieler vor der Wand. (OK nicht ganz  )  So siehts hinter der Wand aus, da möchte ich ,das die nicht gerendert werden...  cYa Sebastian
Last edited by rvL_eXile; 09/20/07 18:40.
Tutorials: [Blender]Terrain creation ENG/GER [Blender]Low Poly Tree Modeling [GIMP]Create a Texture for Terrains CLICK HERE
|
|
|
Re: Modele etc Weg clippen, wenn Wand dazwischen..
[Re: rvL_eXile]
#155681
09/20/07 21:00
09/20/07 21:00
|
Joined: Jul 2002
Posts: 4,436 Germany, Luebeck
Xarthor
Expert
|
Expert
Joined: Jul 2002
Posts: 4,436
Germany, Luebeck
|
Du könntest es mit vec_to_screen(vector,view);probieren. Diese function gibt 0 zurück wenn der vector sich ausserhalb der view befindet. Wie gesagt: Ich bin nicht sicher ob es damit klappt, aber versuchen könntest du es ja 
|
|
|
Re: Modele etc Weg clippen, wenn Wand dazwischen..
[Re: Xarthor]
#155682
09/21/07 13:30
09/21/07 13:30
|
Joined: Apr 2005
Posts: 3,076 Germany, NRW
rvL_eXile
OP

3D Artist
|
OP

3D Artist
Joined: Apr 2005
Posts: 3,076
Germany, NRW
|
Habs ausporbiert, aber leider ohne Erfolg... Findet das denn keiner "wichtig" das eigentliche Modele die man net sieht invisible gemacht werden sollen?
cYa Sebastian
Tutorials: [Blender]Terrain creation ENG/GER [Blender]Low Poly Tree Modeling [GIMP]Create a Texture for Terrains CLICK HERE
|
|
|
Re: Modele etc Weg clippen, wenn Wand dazwischen..
[Re: rvL_eXile]
#155683
09/21/07 14:33
09/21/07 14:33
|
Joined: Jan 2007
Posts: 221
Fenriswolf
Member
|
Member
Joined: Jan 2007
Posts: 221
|
Dafür ist doch BSP/PVC gedacht? Im Handbuch heißt es zumindest: Quote:
When rendering a frame, the engine loops through the BSP regions to find out which region the camera is currently in. Once it's found it, it uses the PVS to find out what regions might be seen from there, and tosses out the regions that can't be seen under any circumstance - including all objects in those regions.
|
|
|
Re: Modele etc Weg clippen, wenn Wand dazwischen..
[Re: rvL_eXile]
#155684
09/21/07 14:36
09/21/07 14:36
|
Joined: Mar 2005
Posts: 564 /www/europe/ germany/index.php
TSG_Torsten

User
|

User
Joined: Mar 2005
Posts: 564
/www/europe/ germany/index.php
|
mach einfach wieder ein c_trace bei jedem modell Code:
action check_me() { while(1) { if(c_trace(my.x,camera.x,ignore_me+ignore_models)==0) { my.invisible=off; } else { my.invisible=on; } wait(15); // To prevent lagging, just check every 15 frames } }
Gruß TSGames P.S.: Wenn's nicht klappt, icq 
|
|
|
Re: Modele etc Weg clippen, wenn Wand dazwischen..
[Re: TSG_Torsten]
#155685
09/21/07 15:39
09/21/07 15:39
|
Joined: May 2005
Posts: 2,713 Lübeck
Slin
Expert
|
Expert
Joined: May 2005
Posts: 2,713
Lübeck
|
Toll das mit dem tracen  das wollte ich gestern auch erst vorschlagen, allerdings um die Nachteile wissend  Wenn jetzt z.B. ein "Zombie" mit dem Mittelpunkt hinter einem anderen steht, oder zur hälfte hinter einer Wand oder was auch immer, dann wird es nicht mehr dargestellt, obwohl es zum Teil eigentlich noch sichtbar ist. c_trace ist außerdem recht langsam. Bei zehn 10000poly Modellen würde es sich wohl lohnen, aber bei tausend 100-1000 poly Modellen, ist es viel zu langsam. Auch wenn nur jeden 15. frame "getraced" wird, geschieht es immer gleichzeitig und wird jeden 15. frame heftig stocken. Auch dies könnte man ändern, indem von den 1000 Modellen jeweils 66 überprüfen, ob etwas im weg ist. Auch dies ist nicht gerade schnell aber vielleicht noch zumutbar. Es bleibt aber das erste Problem. Es müssten also verschiedene Teile eines Modelles überprüft werden. Mit vec_for_vertex ist dies zwar kein problem, aber es bedeutet auch mindestenz 8 zusätzliche aufrufe von c_trace pro Modell. 8*66 = 528, 528 mal c_trace ist aber nicht mehr besonders zumutbar, und wäre ein erheblicher Implementierungsaufwand, da die 8 vertices für jedes modell per Hand gesetzt werden müssten. Selbst bei überprüfen aller Vertices könnte im schlechtesten fall noch das zuerst genannte Problem zutreffen. Tatsächlich dachte ich, dass BSP dieses normalerweise durch das Zerlegen des Levels in Regionen und zusätzlichem zuordnen von Modellen zu den entsprechenden Regionen, selbst handhabt... Für vec_for_screen ist es egal, ob etwas im weg ist oder nicht und selbst wenn, würde das erste Problem zutreffen  Ich habe keine Idee, die dieses Problem lösen könnte, außer eben gutes Scene Management durch die Engine.
|
|
|
Re: Modele etc Weg clippen, wenn Wand dazwischen..
[Re: Slin]
#155686
09/21/07 15:45
09/21/07 15:45
|
Joined: Apr 2005
Posts: 3,076 Germany, NRW
rvL_eXile
OP

3D Artist
|
OP

3D Artist
Joined: Apr 2005
Posts: 3,076
Germany, NRW
|
Ich werde einfach mal im Future Tread einen neuen Topic machen, der sich damit beschäftigen soll, vielleicht implentiert Contitec das ja bald ... Das würde einiges an FPS zurück geben ! BTW das wird auch bei der Crytek Engine eingesetzt.
cYa Sebastian
Tutorials: [Blender]Terrain creation ENG/GER [Blender]Low Poly Tree Modeling [GIMP]Create a Texture for Terrains CLICK HERE
|
|
|
|