We have large static rooms filled with several different objects in 3ds max. The picture below is one of our ‘rooms’ inside Unity it comes in with 198 parts.
Is it best to ‘attach’ these inside 3ds max, and export it?
I have been using the Standard ‘CombineChildren’ script on these files and it reduces draw calls and vertex count, but I just wonder if there is a better way.
Also this specific model says it is 17.6megs. That seems a bit high to me, I wonder if there is something I should be having our modeler do in 3ds max.
One more question. With another of our rooms, I am getting about 850-900fps with just the room in the scene. As soon as I add our main character to the scene, just the model, no script, it drops to about 350-400fps.
Is that normal? The character is animated and has about 15kpolys. I checked the boxes for both "reduce keyframes’ and ‘bake animations’ what more should I be doing?
Keep in mind I am a programmer, not a 3dx max expert, so I’ll just be passing whatever information on to the project manager.
Thanks guys!
Thought I might at least give some input. Be aware that I am no “pro user”. Here’s what I would do (rudimentary stuff): Start by attaching/joining stuff inside 3ds first. In my experience this will ruin all the work you have done with Unity’s texturing tools, since the UV mapping or something will be new. If all goes well, this might not even happen (as I said, read my disclaimer).
The character fps drop seems natural, as this happens to me too. This will probably not be any problem, as a drop from 900ish to 400ish fps is unnoticable anyway. Even when working with more assets and scripts, the fps is well above acceptable levels (in a short demo of mine with lots of complex shaders and textures I get a steady 200ish fps, and 30-50 on a MacBook when all maxed out). I tend to think of Unity as a turbo: it starts (really) working its magic at a certain level.
If anything, I at least hope this will have helped you in seeing that there is nothing extremely wrong with anything ^^.
Hey thanks for the reply!
We have tried a few different things.
We combined everything inside max so when we export, it is just one ‘mesh’ with no child objects.
This was our first thought, because this is how our other engine liked things. The problem was we ended up with several hundred draw calls, and over a million vertices.
I rememberd a script from the 2d platform tutorial which combined child meshes, into one object in Unity. So we separated every object up inside 3ds Max, and then placed that script on it. It was amazing. It went from like 300ish draw calls, and over a million vertices to like 50 draw calls, and 300k ish vertices.
We also tried a few combinations of different things, and just went with what had the lowest draw calls, and lowest vertex count.
I did run into a snag though, on one of our levels, we are running that combine children script on, I keep getting an error that I need to ‘optimize’ the level.
I don’t exactly know what that means.
Anyone else who can pitch in some help? Id appreciate it.
Hey bunzaga, Im no pro user either, but 15,000polys seems a bit to much for a game character. Most current games run any where from 2500 to 7000 (triangles). Yours would come in at 30,000 triangles and that’s for one character. I would try optimizing your character model and you should get better results.
Here is the link in the manual that explains more.
http://unity3d.com/support/documentation/Manual/Modeling%20Optimized%20Characters.html
Thank you for confirming that for me. I mentioned this exact thing to the project manager, but he brushed me off like I didn’t know what I was talking about.
As far as the rest goes, if I have 24 draw cycles, and 1.5million vertices, is that ok?
Which is more important to have few of, draw cycles or vertices?