3ds max import problems

So l've recently started importing models from 3ds max into Unity and have two problems.

  1. Models are not importing with a mesh collider so not 'solid'. They all have uvunwrap and converted from poly to mesh objects before export.

  2. All models have x 270 rotation. I'm guessing this is related to the xyz coordinate systems being different. Is there a way to compensate for this without changing Max system preferences.

Assuming you are using the 'View' AS the Reference Coordinate System in 3ds Max, Then in the front view port, Rotate the objects' Pivot along the X axis 90 degrees. Try using the latest Fbx plug-in, export the mesh with the Up-axis set to Y-up in the Exporter Dialog settings. "So just as long as you in Max have X 90,Y 0,Z 0 in rotation and export with Y as up in FBX, you should be fine." -holmeren Once the mesh is imported into Unity Select it & in the inspector Check "Generate Collider" the box.

I'm not sure what do you mean by first one, but the second one I just fix the orientation of a pivot in 3dsMax - you have to make usre Y axis is going up.

I found a piece of script to handle this on my batch export from Max. I use the "Batch It Max" script (find it on scriptspot.com) to run this on all of my MAX files to convert them to FBX and auto-rotate them. At one point, it was working...now it's not. The FBX file comes into Unity at 0 X rotation, but it is facing sideways. Any ideas on how to accomplish this pivot rotation in MaxScript? Thanks!

    fn SetObjectRotation obj rx ry rz =
(
    -- Reset the object's transformation matrix so that 
    -- it only includes position and scale information. 
    -- Doing this clears out any previous object rotation.
    local translateMat = transMatrix obj.transform.pos
    local scaleMat = scaleMatrix obj.transform.scale
    obj.transform = scaleMat * translateMat

    -- Perform each axis rotation individually
    rotate obj (angleaxis rx [1,0,0])
    rotate obj (angleaxis ry [0,1,0])
    rotate obj (angleaxis rz [0,0,1])
)

-- #noPrompt will use the last settings used for the exporter (good); Standard settings should be OK
max select all
SetObjectRotation $ 90 0 0
ExportFile (getFileNamePath (maxFilePath)  + getFilenameFile (MaxFileName) + ".fbx") #noPrompt;