Game Development Community

Light leaks and missing/flipped faces

by Andrew Brady · in Constructor · 08/26/2007 (12:21 pm) · 21 replies

Hello Guys,

I know these things have been asked before, though for the life of me I couldnt locate an answer. In my level, it seam's that .. at random, a brush face is cut up and a section of that face is either flipped so you cant see it, or it is missing entirely. (picture below)


www.fragstudios.com/devuploads/flip1.jpg


At first I thought it might be portals but I have triple checked all my portals and they appear to be all working perfectly.


Now light leaks.. It doesnt seam to matter if a but-up brushes perfectly, or bury them into the ends of each other so they overlap.. I still at times get light leaks, even when there are no "lights" in the level at all.. almost randomly.

I used contructor 1.0.2 with TGEA 1.0.2 (contructor 1.0.3 still screwes up levels with portals so I do not use it yet)


Any help would be appreciated.
Page «Previous 1 2
#1
08/27/2007 (5:40 am)
Anyone?
#2
08/27/2007 (6:49 am)
The light "leaks" are probably not leaks so much as lightmaps that are being created at a higher setting. Try making them smaller.
#3
08/27/2007 (8:47 am)
Thanks David, I'll definitely try that. The flipped/missing parts of faces is throwing me for loops though. Hopefully, someone more knowledgeable than me on this issue will see this **crosses fingers**.
#4
08/27/2007 (9:27 am)
Save the map then exit Constructor. Now relaunch Constructor and reload your map. Export the map this should fix the missing faces and flip faces at least it did for me.
#5
08/28/2007 (10:42 pm)
Thanks for the advise. I have another question along these lines...

Under preferences, are two specific settings, The first is split epsilon, and the second is tiny split epsilon. their explanations are as follows:

Split epsilon: the epsilon used for splitting brushes, poly's and vislinks.

Tiny split epsilon: The epsilon used to decide when a split is to small.

default seams to be 0.01 and 0.02 as listed above.

Could someone please give a more in-depth explanation of these two items, and if this could assist in my issues etc..

Thanks,

LK
#6
08/28/2007 (11:11 pm)
After some further google searching I found this information:

Quote:Split Epsilon - Introduced with 1.0.1. This is the "magic number" that is used when creating the collision bsp tree and when pushing the polys into that tree in order to sort them into zones. Floating point innaccuracy means that we can never exactly compare two values so we have to use an "epsilon" to decide if they are close enough together to be "equal". This pref controls how far away from a plane a point has to be in order for the brush or polygon to be considered split by that plane.

All math/programming jargon aside, the lower this value is the more likely a brush will get split up by another brush's surfaces and the more likely you will lose surfaces during the hidden surface removal pass. However, if you push this pref too high then you can lose all of the benefits of the hidden surface removal (less overdraw and no z-fighting). Changing this value can go a long way to combatting bad exports but it also can be highly dependent on the size and complexity of the map so I left it controllable by the artists so that they can find their own sweet spots.

Tiny Split Epsilon - Introduced with 1.0.1. This is tightly related to the pref above. The Split Epsilon is used to control whether or not a brush or polygon is considered "split" while the Tiny Split Epsilon is used to control whehter or not that split is too small to be considered. Some things in the bsp create process and the hidden surface removal operation only use the Split Epsilon while other portions use both so I felt it was important to expose this one as well.

Practically, this number always needs to be higher than the Split Epsilon...generally only slightly higher. Again, this is a "magic" number that each artist can play with to get the best results for each scene.


still looking into this.
#7
08/29/2007 (6:09 am)
Did some testing..

test1:

split epsilon: .11
tiny " : .12
= interior level invisible/ cant enter it

test2:
.05
.06
= interior level invisible/ cant enter it

test3:
-.09
-.08
= interior level invisible/ cant enter it

test4:
changed th HSR setting to the alternative HSR
= Some mising faces reappeared.. others went missing


Still waiting to see if anyone can shed some more light on the missing faces issue.
#8
08/29/2007 (2:17 pm)
Always seems to occur for me with I use subtraction...even on the simplest brushes (cube)...wish we had the ability to reset a flipped face....
#9
08/29/2007 (3:18 pm)
Have you guys tried turning off hidden surface removal, that stopped the holes for me, just need to work out the collision issues that have started, are these problems new to constructor?

Neil
#10
08/29/2007 (9:28 pm)
Yes I have Deepeyed, but thank you. I think I will resort to manually cutting the faces in question to alter how the face is being.. adjusted. I'll tell what I find out.
#11
08/31/2007 (10:47 am)
Still testing....

I can take the same .map, directly export it from a .map to dif and get one result.. and take that ,map, change it to a .csx then export it to dif.. and get totally different results. I guess my most basic question would be wtf?

Portals in that level will be 100 percent fine.. as long as I leave it in a .map format, but once that exact level is converted to a csx then converted.. several portals are bugged. If I take a .map, change the lightmap settings to ANYTHING other than the default 256, I either get graphical errors, False light burns, or entire sections of the level will disappear once you enter them. And No matter what I do (and that includes the save/open/shut/open/ etc..) I still get at least one r two faces cut poorly, than flipped/removed.

note, all of this is still using constructor 1.0.2. Using 1.0.3 with portals in them does not work.. ever.

What am I doing wrong/missing?
#12
08/31/2007 (4:08 pm)
Alright,

Matt asked me to make an example map of some of the issues in another thread previously so I did.

The zip contains 6 items: a .map file, a .csx file which is the exact same thing as the .map, a dif created from the .map, and a dif created from the csx. Two jpg's are also included showing one of the major bugs I'm getting.. the disappearing sections. In both difs, the same thing happens. The missing faces seams to require alittle more detail than this very basic level has (nothing but afew hallways boz shaped). Also, I used the floor2.jpg from the starter textures that come with constructor for ease.

The link for the zip is : www.revictum.com/example/examplebug.zip

Here are some pics of other errors I've received in the last 20 atempts.

www.fragstudios.com/devuploads/doms.JPG
www.fragstudios.com/devuploads/128b.JPG
www.fragstudios.com/devuploads/ll2.JPG

I have many years of experience working with 4 other engines and I have never run into such issues. I need to know if it is something I am doing inappropriately, or is it the exporter (using legacy TGEA since it is the only one I am aware of that will handle portals, with constructor 1.0.2 and TGEA 1.0.2), or is it something in constructor itself.

I hope this clarifies things Matt, but if not, let me know and I will get you whatever you require.

Thanks

LK
#13
08/31/2007 (4:43 pm)
I have something to add to Andrew's post:

is there any way to manually alter the lightmap information ?
#14
09/01/2007 (8:52 pm)
I'm going to take it that other members do not have answers on how to fix these things(i know many people are having similar problems). Matt, I know your very busy, but I can not move forward with these issues popping up everytime to varying degrees. I have yet to export a single dif that didn't either have a flipped face, missing cut face, graphical errors, or entire sections invisible/glitching in and out of view depending on your position (when using portals.. which I need). I'll buy you two twinkies and pack of chicklets! :P
#15
09/03/2007 (9:28 pm)
Hey Matt,

Just wanted to confirm you got the info needed.
#16
09/04/2007 (12:15 pm)
I have received a few examples but haven't had time to look at them yet. I have a few higher priority tasks to complete before I can swing back to Constructor.
#17
09/04/2007 (8:32 pm)
Not a problem; I can relate. It's enough right now that it's in your list. :P
#18
09/21/2007 (11:11 pm)
It seams.. I can take a .map, export it and have some portaled areas work well.. and others disappear once you walk into them. Then, I can take the same .map, export it the exact same way I did previously, and get completely different results.
#19
09/22/2007 (5:28 pm)
Here's another question.. maybe an easy out of sorts. For those of you familiar with Q3, in radiant you could alter the "distancecull" setting. What this did was tell the engine at what distance to stop drawing from the camera/player. Since this setting could be manipulated, you could set the furthest distance slightly further than your largest area in your level, keeping everything further from being drawn.

Is there a similar setting in TGEA to achieve the same thing?
#20
09/22/2007 (10:25 pm)
I made a quick pic to show what I'm after:

www.revictum.com/dc.jpg
Page «Previous 1 2