cleggy 297 Posted November 19, 2011 I'm trying to track down this error in my addon log file: Warning: p:\blx_ridgeback\blx_ridgeback_d.p3d:1.88669e-038 Face 1014, point 901, face points 901,900,888 - very small normal 0,0,0 For the life of me I can't find a way of identifying the face in O2. If I go into face properties the far right hand column seems to list face numbers. If I delete the whole object the face is part of I get the same error with exactly the same face number when I re-pbo.:confused: To add to my confusion face point 888 (see above error) is on a different part of the model to points 901,900 and is in no way connected. Am I just being an arse? Share this post Link to post Share on other sites
soul_assassin 1750 Posted November 19, 2011 from my experience this perticular error will not cause any problems, I would ignore it. Share this post Link to post Share on other sites
[aps]gnat 28 Posted November 20, 2011 Agree ... ignore it. Share this post Link to post Share on other sites
cleggy 297 Posted November 20, 2011 Thanks for the replies. If the great and the good say 'ignore' then that should be good enough for me.:) I have managed to eliminate these errors in the past (more by luck than judgement) - usually amounts to multiple points sharing the same space. Still like to know if there's a way to pinpoint them with some degree of control though. This is the sort of thing that bugs the hell out of me... Share this post Link to post Share on other sites
Sealife 22 Posted November 20, 2011 Still like to know if there's a way to pinpoint them with some degree of control though. This is the sort of thing that bugs the hell out of me not sure if i am reading this right , if you mean pinpoint the face , theres an 02 script that will select the face by number , its in the doc folder on your pdrive or /*Description: This script select face by its index Licensing Info: Copyright © 2007 Bohemia Interactive. This script is free software for any non commercial use; you can redistribute it and/or modify as long as you include this licensing notice. This script is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchanitility or fintess for a particular purpose. */ if (this in ["options"]) exitWith {messageBox ["No options",0];}; facenum=o2InputBox ["",false,"Enter face index",""]; if (facenum=="") exitWith {-1;}; faceid=val(facenum); if (isnil("faceid")) exitWith {-1;}; obj=getActiveObject this; sel=newSelection obj; sel selectFace faceid; selectPointsFromFaces sel; obj save (sel as "_current"); apologies if you mean pinpoint the error and fix , like others have said i dont think the error carries on into the game engine and is spammed like in the bin log Share this post Link to post Share on other sites
cleggy 297 Posted November 20, 2011 not sure if i am reading this right , if you mean pinpoint the face , theres an 02 script that will select the face by number , its in the doc folder on your pdrive Thanks Thromp, yes I just wanted a way to pinpoint the face in question. Didn't know those scripts existed! Nice one. Still gonna try and cure the errors tho'!.. Share this post Link to post Share on other sites
Synide 0 Posted November 21, 2011 (edited) As well as the scripting method you can also select individual faces based on their index via the 'Faces>Face Properties' dialog as well. If you scroll across to the right in the dialog popup the last column is the face's zero based index. Btw, the 'very small normal' is a warning, not an error as far as binarize is concerned. Although it doesn't 'hurt' the model i'd imagine reducing model anomolies to zero is good for any rendering pipeline. The 'very small normal' warning stems from (mainly) where you have a polygon face in your LoD that has for one reason or another been 'squashed' into a straight line or the polygon is so small the verts may as well be situated all in the same spot. Mainly you only get poly's like this when you bring geometry into O2 (or mlod.p3d format) from an external 3D app through importing. Usually you can highlight them by using 'Faces>Degenerated Faces>Check' and 'Faces>Degenerated Faces>Repair'. Then you can use either 'Points>Merge Near' to remove them or 'Points>Select Isolated' and then delete them. 'Select Isolated' & then 'Delete' is usually preferable because after you've run 'Faces>Degenerated Faces>Repair' they usually no longer belong to any polygons. Cheers, Sy. Edited November 21, 2011 by Synide Share this post Link to post Share on other sites
cleggy 297 Posted November 21, 2011 Very useful info there Sy, thank you. Mainly you only get poly's like this when you bring geometry into O2 Actually on this model I have imported geometry from Anim8tor because it has a 'lathe' feature. Will have to examine those bits more closely! At the risk of being a pain and going on about something of little importance: Is the 'warning' I posted telling me of one problem or three? The reason I ask is that face 1014 has nothing to do with the 'face points' mentioned. Share this post Link to post Share on other sites
max power 21 Posted November 21, 2011 If you select each component of the model and choose points\'merge near', I think you will be able to get rid of very small faces. However, it may also merge components you want to remain separate, (like doors, for instance), so you must be careful. Share this post Link to post Share on other sites
cleggy 297 Posted November 21, 2011 Thanks for the suggestion Max. Degenerated faces doesn't highlight anything I can see. I think I'm making a 'mountain out of a molehill' really. Even those ruddy ST errors wind me up because I don't know what they mean. I've learned to live with those tho'.:) Share this post Link to post Share on other sites
max power 21 Posted November 22, 2011 (edited) --Cannot generate ST coordinates means that O2 is worried about generating a surface tangent coordinates for a face because the face has 0 area on the UV plane. I guess, as a result, the dx renderer will have difficulty resolving tangent space for the display of a normal map for that face. You can find those faces in the faces tool, selecting them, then opening the UV editor and transferring the selection from the 3d editor to the UV editor. Once you have located them you can just expand them on the axis they are squished a little and the errors should stop. Edited November 22, 2011 by Max Power Share this post Link to post Share on other sites
cleggy 297 Posted November 22, 2011 Max, your trying to drown me in terminology! :) so would I be right in thinking: a) any unwrapped face will generate an ST error? - that's OK I haven't unrapped the whole model yet. b) a face created by a placed proxy will generate an ST error? c) my UV map is probably a bit crap? - that's also OK because I'm only just learning how to unwrap curved surfaces Thanks for attempting to educate me anyway! Share this post Link to post Share on other sites
soul_assassin 1750 Posted November 22, 2011 it is the result of faces on the UV having 0 area which usually occurs when faces get smuged in projection. For example, take a cube and project a texture from the top. All the side faces will have 0 area on the uv and will throw this error. Share this post Link to post Share on other sites
max power 21 Posted November 22, 2011 Max, your trying to drown me in terminology! :)so would I be right in thinking: a) any unwrapped face will generate an ST error? - that's OK I haven't unrapped the whole model yet. Like Soul Assassin said, any face with 0 area in the UV projection plane will generate the ST error. b) a face created by a placed proxy will generate an ST error? I think that a proxy should not have UV coordinates in the first place. If it has them I think you can delete them. c) my UV map is probably a bit crap? - that's also OK because I'm only just learning how to unwrap curved surfaces Sometimes it's not necessary for a face to have any area in the UV plane in order to look good. For instance, if this face has only one solid colour and no detail or variation, you can make the uv projection very small. O2 just doesn't like it because it messes with the way the machine calculates how to display a normal map. Thanks for attempting to educate me anyway! It's what we're in a community for :) Share this post Link to post Share on other sites