I always have trouble with 3D Max’s units setup screen. I’m looking for a good setup that will allow direct export to Unity without scaling and still be able to move around in my Max views with ease. Anybody care to share their settings in the units setup screen?
It might be nice to put together a little unit conversion chart for various 3D apps so one can get scale right from the getgo.
As far as I can tell, C4D is 1 meter = 1 meter in Unity, but since mesh scale to defaults to .01 in the import settings, 100 meters in C4D = 1 meter in Unity. Is this standard?
Not sure about Max.
Let me ask the other monkey, classically trainined animator and Studio Max guru Ron L when I get into work this AM for you. We’ll do an experiment and let you know.
EDIT – At work now, answer shortly.
OK, here’s your answer …
Ron created a 1m and a 10m cube, saved it out as a .3ds file and I imported it into a new Unity project. I then created a standard Cube object in Unity. I had to scale Unity’s standard Cube object up to 100/100/100 for it to match the size of the imported smaller 1m .3ds cube.
This is with the import setting on the .3ds cubes set in the Project Pane to 0.1.
So it appears to me that if you simply do a straight drag a .3ds object into a Unity project it’s been scaled up 100 times in size.
Hope that helps.
In 3DS Max the default scale for modelling is in cm. In Unity it is in Meters. Thus we set the import scale to 0.01 by default for fbx files. (Fbx is the recommended format when exporting from max)
So if you follow the conventions of both applications, it will import just fine.
Thanks guys. I did testing as well when I was doing my one-day basketball/dodgeball game. I found that scaling on import caused weird things to happen though http://forum.unity3d.com/viewtopic.php?t=4388
So assuming one is trying to bring a Max scene into Unity at a 1-to-1 scale I came up with these settings:
These settings seem to work… except when you’re working in Max it’s really hard to move around, zoom, rotate, pull points, etc! I’m thinking it has something to do with the nebulous Origin fields. Any ideas?
In C4D 100m are 1 Unity Meter by default. Setting the Cinema 4D Interface to cm will help without messing with the export-settings. Import works well, exactly to scale and without problems. And the best: C4D will automatically scale your older models, done with the meter settings… So dont worry to change. (Tested with R9.1 and R10.0.1)
Maybe I am missing some thing but, why not just change the mesh scale factor in unity’s import settings to 0.01 on the 3DS models?
Bill
[Edit]
Is this done behind the scenes or is the default mesh scale suppose to be set at 0.01 for fbx?
I think the hope is to get things all set so no micromanagement is needed.
Thats the exact point marble.
Unity is the central assembly point in the development flow. So the (or better my ) concern is, to get all content out of the other apps without messing with unitys settings.
So first i know where to search for the issue, when things dont import correctly, and second i dont get different results, when working with 2 or more different apps of the same kind. This is extremly time and nerve saving…
Also if you have to scale things in unity, doesn’t that potentially mess with the physics?
No the only thing that counts is the size of object you use in the end. Also the global scale in the import is applied before Unity Runtime ever gets to see the mesh.
Well if you saw thread of my lady in the gym falling flat on her face, we’d see that something was wrong, and once I set Max to a 1-to-1 scale everything was happy. Very possible it was something else causing it I guess, but it certainly fixed it once I made all the relative scales happy. But even if it’s just for a convenience factor and not technically needed I’d still like to unlock how to set the right units in Max. In my pic above I believe I found a pretty good ratio where you can still have some meaningful units in Max BUT all the nav tools get really hard to work with in Max at this point. I’m still guessing this can be fixed somewhere in that Units dialog though.
So there is one issue which you had with scale that made you go through all of this. There is one reason why an animated character might look wrong because of scale and that is when you use multiple fbx files for defining different animations and the scale of the models does not match.
Eg. guy@walk was huge but guy@idle was tiny.
So i suggest, don’t change the max scale settings. Just leave it like it is, it will import just fine. You simply have to make sure that everything is imported at the same scale. That leads to something else. The method of creating character animation in multiple fbx files shouldn’t be used any longer, since there is a better solution. It is far easier to put all animations in one file and let unity split up the clips using the import settings. This avoids the potential case where they don’t sync up because the scale is different in one file than the other. Or where some one modified the rig in one file but not the other.
Animations will be easier to maintaintain since you only have a single file and can edit all animations in there.
In short: Dont use multiple fbx files for characters with multiple animations. Use the Split animations dialog in the import settings.
For more info on how to split up animations see this:
http://unity3d.com/Documentation/Manual/Character-Animation.html
Just wanted to point out that putting all animations in one file is not gospel truth. Once you reach triple-digit animations (GC:Pal has approx 130) then you’ll regret putting it all in one place.
I’d recommend you put like-wise animations in the same files. Say all walk/runcycles in one, idlecycles in another, etc. More than 5-10 anims per file tends to get unwieldy.
I agree wholeheartedly. Joachim, that’s why I’ve suggested the ability to import the animation splits from an external text file or worksheet. It would make it easier to proofread, rename the anim sets or tweak the frame ranges.
Hm, here I was discussing oranges and now we’re talking about apples.
You say pota-toe I say puh-tah-toe, I would just like my potatoes to be in the right scale regardless of how you pronounce them. :lol:
I don’t really see what splitting it into separate files gets you. That’s just duplicating info and moving it from a well-defined table (where you can’t make syntax errors) into a scripting file (where you CAN make syntax errors).
If you want to tweak the frame ranges, that’s exactly what the import settings are for. What does moving them to an external text file get you?
My preference would be to be able to import an Excel worksheet, but barring that, a delimited text file (which I would export from Excel).
If we’re talking about a few entries, there would be zero advantage, but if you’re talking about inputing and correcting or revising a table containing dozens of animations, it would clearly be advantageous to have all the capabilities of a spreadsheet at your disposal.
Sorry to hijack your thread, dcorwin! The very first thing I did when I purchased Unity was to create a 3D meter stick in every program I own and I played with both the export and import settings until I got it to work consistently.
Unless there is something new to this topic since 2.0, I like to add that putting all in one max file would be nice if the FBX pipeline would automatically read animation-clip lengths and names out of the max files (i.e. via tags on the a note track).
The thing is, that each time something changes one has to open the import dialog and tweak clip ranges or add new clips etc.
For this reason, multiple files is nice though the major backdraws are: bigger file sizes, 0.01 scaling as default forces again to manually tweak import settings.
This thus could be improved if I could change the default scaling factor value in some preferences or per folder or whatever.
Or if the FBX SDK allows reading note track data, define some specs for note track and read them on import.
I also checked if I could do some assets importer script that would read a custom XML file before importing and modify the clip import settings accordingly, but doesn’t look like this is currently possible.
edit: other people having similar ideas:
http://forum.unity3d.com/viewtopic.php?t=7790&start=0&postdays=0&postorder=asc&highlight=mesh+scale+factor
My max units are 1 to 1 in meters and with 1,0, not default 0.1 in unity, its all good: 1 to 1 in max and Unity
I use fbx with 1m as units
Side note: remmenber to scale objects in subdiv. mode in max or you have to use reset xform (collaps your stack) before exporting to get a clean 0.0.0 scaling in your geometry.