Error, no plane possible
by Calibre · in Torque Game Engine · 08/25/2005 (6:17 am) · 8 replies
Hi...
Someone know what is this error:
"Error, no plane possible!" - file: sdk/engine/math/mplane.h @ 233
Thanks!
Someone know what is this error:
"Error, no plane possible!" - file: sdk/engine/math/mplane.h @ 233
Thanks!
About the author
#2
You need to figure out what's going on and fix the problem. Otherwise, stuff just won't work.
- Brett
08/25/2005 (9:08 am)
No, the problem is that it's trying to create a PlaneF and it cannot. Check into the math/mplane.h file. When you try to create a plane, you need three points. If two (or all three) of the points are the same, it cannot reliably create a plane and will throw that exception. Asserts, by default, are empty functions in a release build -- that is why it looks like it's fixed, but it isn't.You need to figure out what's going on and fix the problem. Otherwise, stuff just won't work.
- Brett
#3
Thanks for the feedback! I wonder what could cause a DIF to get messed up and cause this error? Maybe a really small face that somehow is being treated like one point? Just guessing here. I remember reading something about sometimes map files getting changed slightly during export or from precision errors, I can't totally remember.
Anway, if I find out anything more I'll post it here.
08/25/2005 (10:20 am)
Hey Brett,Thanks for the feedback! I wonder what could cause a DIF to get messed up and cause this error? Maybe a really small face that somehow is being treated like one point? Just guessing here. I remember reading something about sometimes map files getting changed slightly during export or from precision errors, I can't totally remember.
Anway, if I find out anything more I'll post it here.
#4
08/25/2005 (11:21 am)
I'm not a modeller nor an expert with the map2dif process (Matt Fairfax would be the one to confirm), but I would make an educated guess that rounding/truncation errors could cause 2 very very close points to wind up co-located. If 2 (or more) of these points were the only ones that could define the plane, this could be your issue.
#5
08/25/2005 (11:34 am)
Thanks for the info, Stephen. It sounds like it would be worth a good look then, to see if that is the issue. As mentioned above, the problem usually happens when we walk up a staircase. I just talked to our modeller and it sounds like she was using the auto-staircase feature in Quark on the stairs we have. Not sure what that tells us, but perhaps something we are doing with them is wrong, or two points somehow got very close together.
#6
- Brett
08/25/2005 (12:16 pm)
You might try running in the debugger with a map that always causes the problem and then when it asserts, step back into the offending code. Post what you find here and we'll see if we can't all determine how to fix it.- Brett
#7
08/25/2005 (3:33 pm)
FYI: Ben reworked the Interior collision in 1.4 RC2 to pretty much get rid of this error (it uses the surface's plane equation directly instead of generating it from points on the surface).
#8
@Matt - That's good to know, thanks. We are working off of 1.3 currently. Any idea if that code is easy to be merged to 1.3, or would it take basically moving everything over to 1.4?
@Calibre - What was the original problem that caused your error?
08/26/2005 (8:53 am)
@Brett - Thanks a lot, the offer for help is very much appreciated. I'm a bit worried about wasting your time though, since we will probably be ditching this building soon for a new, more improved one that may not have the problem. If the new building has the same problem, I can definitely post the problems here. :) If, however, you still want to investigate further the original problem, I can post what I find here on the old building. @Matt - That's good to know, thanks. We are working off of 1.3 currently. Any idea if that code is easy to be merged to 1.3, or would it take basically moving everything over to 1.4?
@Calibre - What was the original problem that caused your error?
Torque 3D Owner Drew Parker
From what I can tell in the code, I *think* the release build already checks for this, and just corrects it anyway, so since I wanted to run debug builds without it asserting all the time, I just commented that out... :( So hopefully it won't mess things up terribly. I'd also be interested to know what causes this.