Rather strange trouble occurs every time I export my geometry from SI 2011 to Max 2009. The issue can be described by the following pictures.
1) Say, I create a half of a sphere and unwrap it.
![42691744.jpg](http://img3.imageshack.us/img3/6696/42691744.jpg)
2) Create a COPY (not CLONE!) of it and mirror the geometry via negitive scale along X axis.
![99543858.jpg](http://img822.imageshack.us/img822/5682/99543858.jpg)
3) Fix the right half's UVs by mirroring them along U axis.
![35227510.jpg](http://img696.imageshack.us/img696/5708/35227510.jpg)
4) Merge both parts and weld border points.
![61773463.jpg](http://img199.imageshack.us/img199/3519/61773463.jpg)
5) Export geometry to FBX via Crosswalk.
![86648518.jpg](http://img263.imageshack.us/img263/1931/86648518.jpg)
6) Import FBX to Max (FBX ver. 2011.1)
![31315069.jpg](http://img96.imageshack.us/img96/264/31315069.jpg)
7) When I put a checker on my geo the squashed unwrap on the mirrired part of the mesh becomes visible.
![77252368.jpg](http://img5.imageshack.us/img5/2972/77252368.jpg)
This is very strange issue because ONLY mirrored polygons! Is there any way to force XSI somehow reset mirrored state of geometry??
BTW there's no such problem with OBJ but it doesn't export smooth groups from XSI.
8) Anyway the squashed UVs can be fixed up using Unwarp Tools Max Script.
![62627505.jpg](http://img269.imageshack.us/img269/5187/62627505.jpg)
9) I press index rotate button several times until get an adequate result.
![39623179.jpg](http://img851.imageshack.us/img851/782/39623179.jpg)
Anyway - it's just a palliative not a cure. Anybody know how to solve this problem?
Replies
oh well should have read better, why doesn't the obj exporter export the normals right? some settings you could try out to transfer them correctly?
While Max's obj import dialog offers importing smoothing groups!
But no smoothing groups appear to be in the result.
1) Don't scale -1 to flip the object. This looks ok by default viewport settings, but if you enable backface culling you'll see how it really tends to mess with the object's normals. Instead go to edit>duplicate/instantiate>duplicate symmetry.
2) When you merge the objects, be sure to freeze the result and delete the input meshes.
I don't think XSI is at issue here. The 'usernormals' flag is checked and would handle his hard edges the way it is supposed to. Instead I think it is that he is using Max 2009, and from what I can tell support for vertex normals wasn't added to obj import until Max 2010 (http://forums.cgsociety.org/showthread.php?t=816006)
I'm doing a typical game model with some symmetrical elements and smooth groups. Nothing special
"Duplicate symmetry" = "Duplicate" + "Negative Scale" + "Freeze Scaling" so it doesn't help. I know that when we negative scale a model its normals are getting inverted - it can be solved by "Freeze scaling". But it's still not an aid.
Done!
I've tried to prove your statement but it seems to be faulty - in Max's 2011 OBJ import dialog we can see that OBJ exported from XSI doesn't contain any Smoothing Group information.
SEE ATTACHMENT!
I've updated crosswalk and gathered have some interesting facts:
1. dotXSI 6.0 format transfers UVs correctly but either without normals at all or with frozen/baked/implicit normals.
2. Collada 1.4.1 (DAE) - the same as 1.
3. OBJ transfers UVs correctly but as one smoothing group, i.e. no smg info included in OBJ.
4. FBX transfers smoothing groups fine but UVs are corrupted/"index-rotated".
5. If I mirror the half of the model and export two halves without merging everything seems to be imported fine! Also mirrired geometry transfers correctly. The trouble appears only when I merge two parts together.
6. The only working solution I found in this situation is to press "Polygon Cycle CW" 3 times (the same number as it is in Max if I need to fix UVs). Although the mirrored part of the mesh becomes visually messed up in SI's vieport - it moves absolutely fine to Max via FBX (2011.1-2011.5).
So the questions are still not answered -
what happens to mesh when mirroring?
why should I change UV enumeration via Index rotation to get correct result?
You don't want to import the smoothing groups (which I think is a Max-only thing?), you want to import the user/vertex normals (the option above it).
Just tested:
Vice versa
FBX converts hard edges to smoothing groups rather correctly (sometimes it gets stuck on "mixed"/complex smoothing groups - see attach) - without fixed normals.
So we can correctly move mesh from XSI to MAX without loosing smoothing groups and getting UV errors on the mirrored part of the mesh!
Now in details.
Original mesh in XSI. Symmetrical - right half is a mirrored left one. There are many hard edges.
Mesh with second UV set via Unfold: UV islands' borders = hard edges.
Mesh imported to Max. All hard edges are preserved and UVs are correct!
Now about scripts. I called them for myself XSI2MAX_TRANS.
The first part is an exporter script for XSI - XSI2MAX_TRANS.js
Copy it to where you want (usually - <you user SI dir>\Data\Scripts) and drag it to any toolbar. Click OK. Now you have a new button.
The second part is a script for Max. Copy Get_mesh_from_XSI.mcr to your user macros dir, usually C:\Users\<your_account>\AppData\Local\Autodesk\3dsMax\20xx - xxbit\enu\UI\usermacros (this is Win7 path, XP may have another). IMPORTANT: If you're using Max 2009 or earlier version - also copy gw_objimp_xsi2max.cfg to C:\Users\<your_account>\AppData\Local\Autodesk\3dsMax\2009 - xxbit\enu\plugcfg! Now run Max and go to Customize menu. Here drag and drop new "Get mesh from XSI" button to any toolbar.
Now select your mesh in XSI and click XSI2MAX_TRANS button. Switch to Max and click "From XSI". You should get your model with correct smoothing groups and UVs. That's it!
Some info about exporter.
1. Max's importer uses a part or TexTools script to make smoothing groups from UVs. Creditns to it's respected authors.
2. The communication between apps is done via two files:
c:\XSI2MAX_MESH_SG.obj and c:\XSI2MAX_MESH_UV.obj
3. The problem of "mixed" smoothed groups is still actual - but FBX also can't process them correctly.
Hope it will help someone facing the same problem as I did
XSI2MAX_TRANS DOWNLOAD LINK