View Full Version : Trouble with subdividing/smoothing imported .obj file
09-03-2004, 11:43 PM
Greetings to all. This is my first post in the Softimage forums. I primarily use Rhino3D for modeling but have decided to take the plunge into polygonal modeling and animation. Like a lot of people, I was shocked by the Softimage's price drop a few weeks ago. Since then, I've been trying the demo version of Softimage XSI Foundation to see if I like the workflow. Since I still haven't gotten the hang of polygonal modeling, I'm doing something of a compromise: doing low-res mesh modeling in Rhino3D (yep, Rhino3D has rudimentary polygon tools, nothing fancy), exporting it as an .OBJ file, then importing it in XSI. The problem is when I try to do a localized subdivision on the imported mesh, XSI just adds more polygons but doesn't smooth the results. So I still get an "unsmoothed" result when I render the object. Also, when I import files, the object's wireframe (everything) is rendered in cyan while an object created in XSI is either rendered in white or amber (if in component mode?).
Has anyone else encountered this problem? What am I doing wrong? I've checked normals and I welded the object before I exported it from Rhino3D. Any insight would be greatly appreciated.
09-04-2004, 12:01 AM
Try exporting from XSI (as an obj) then importing.
09-04-2004, 12:41 AM
Hello there AmbiDextrose, what do you mean by: an "unsmoothed" result when I render the object?? If you mean "faceted" shading, or in other words individual polys being significanttly sharp relative to neighbor polys ( like a diamond with "sharp/flat" shading in the cuts) then your problem might be with the angle of discontinuity (something similar to shading groups in 3dsmax). If so go to the geometry aproximation of your imported object and change the automatic discontinuity angle. Some applications export geometry with messed up discontinuity or smoothing info.
Hope this helps. But if you can post a pic to see exactly what you mean you might get more feedback. Cheers...
09-04-2004, 01:40 AM
Thanks for the repies.
I tried exporting from XSI and re-importing but I still got the same results.
I also tried changing the value of the discontinuity angle (Scene->Object_1->Geometry Approximation) to no avail.
I hope the following images can clear this up:
This is how the object should look like (head only):
.OBJ file as imported into XSI:
.OBJ polymesh rendered in XSI:
.OBJ polymesh with local subdivision applied (catmul rom@2):
.OBJ polymesh with local subdivision applied rendered in XSI:
Looks like Rhino exported Crease values to me... Either that or it exported each polygon "disconected from it's neighbor. To determine if it's the later... on the unsubDed mesh, select a poly and move it away from the model. If neighboring polys are affected, then that's not the case.
If this turns out not to be the case, you should be able to select all clusters under the mesh (in explorer) and delete them... see if that works.
09-04-2004, 02:00 AM
Yes, the polygons are joined (welded?) together both in Rhino and in XSI- you can select the entire object as a single entity. I've even tried to disconnect several polygons just to see if it's a respresentation problem in XSI.
Just to give you guys a brief overview of how I built the exported .OBJ file, I took the original construction curves and changed the degree to 1 (from 3 or 4). Thus, instead of smooth curves, I had segmented polylines. I then used the points in each polyline to snap a vertex of the poly faces that made up the exported object. Before exporting, I checked the direction of the normals and joined (welded) all the polygons together. Rhino itself does not insert any crease value. If I export the (original) NURBS construction curves as a Softimage IGES file, I can use those to rebuild the surfaces. However, that means I've completely fallen back on NURBS modelling.
09-04-2004, 02:02 AM
Did I get you wrong or you mean there is no available setting for the automatic discontinuity?? is the option "compute normals exactly as...." on?? ( donīt remember the name of that thingie right now) yeap that cluster thing Jdex advises can solve lots of trouble sometimes. if nothing works you could select all your polys and extract from polymesh (again donīt remember the name exactly donīt have a copy of xsi here) and freeze that new object created so you have a new clean poly mesh and try to change the discontinuity angle of this new one.
BTW pretty weird stuff hehe never imported from rhino so just guessing from other importing issues iīve faced... hope you get it to work, and ussually is not as tough to get stuff imported in xsi :D
09-04-2004, 03:27 AM
I figured it out. It's kinda tedious but by exploding (or disconnecting every poly of) the entire mesh, I manually welded the edges and now local subdivision is working properly. Thanks to all the people who gave suggestions.
09-04-2004, 04:17 AM
The blue edges in your wireframe indicate boundary edges in XSI. (White indicates edges connecting polygons.) This means that your polygons were not connected when they were exported from Rhino3D. Instead of having to manually weld each edge, you could select the entire object (in object selection mode by pressing spacebar) and run the command Modify->Poly. Mesh->Weld Boundary Edges and then adjust the tolerance. The command if each polygon was hypothetically a different object would require selecting all the offending objects and running Create->Poly. Mesh->Merge and then adjusting the tolerance to your liking.
09-04-2004, 06:15 AM
4.0 has Polymesh->Filter Points which can do the mass welding in one command, btw.
I wish I had that tool a year ago when I had to deal with some objs from lightwave that were broken up by cluster (or layer, or material group or whatever they're called... )
And you've propably figured this out by now, but the blue lines are disconnected boundary edges. So it looks like it came in with every face disconnected.
01-19-2006, 04:00 AM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.