🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

3d studio max noob question

Started by
1 comment, last by Gian-Reto 9 years, 6 months ago

Hi

1. Im using 3d studio max 2013 and trying to reduce polycount of some free 3ds models i imported.

But sometimes when i select all and try to add "optimize" modifier, its just not in the list. When i select a single item in the scene its there but i want to apply it to everything at once.

Sometimes it helps to select all and unfreeze, but sometimes it still doesnt show up in the modifier list. Any ideas? (the prooptimizer seems to work in more situations, maybe just use that instead?)

2. Im working in .max and then exporting to 3ds-format for my game (which uses irrlicht engine). But my way of texturing the models seems a bit stupid. I create materials and

drag them to parts of the model, then export, then keep all texture files in the same folder in my projekt (the game) as the 3ds-files. Is this the proper way to do it?

3. What is the best way to be able to rotate turret separately from the body (on a tank for example)? My idea is to put body and turret in different 3ds-files and solve it through programming but is that clever? Seems another way should be possible. Animate the rotation (of the turret) and control "animation" with programming (ei current rotation of the turret). What is the usual method?

Thanks a lot!
Erik

Advertisement

Hi.

Keep turret with the vehicle and program the rotation in code, Works well.

But you will need to know the bone or frame name when in code;

3. What is the best way to be able to rotate turret separately from the body (on a tank for example)? My idea is to put body and turret in different 3ds-files and solve it through programming but is that clever? Seems another way should be possible. Animate the rotation (of the turret) and control "animation" with programming (ei current rotation of the turret). What is the usual method?

I am not using 3Ds Max so I cannot comment on the first two points...

I can contribute to this one though. I am currently building a game prototype which has vehicles with turrets. I have already mutliple 3D Vehicles and static gunturrets set up with working turrets and weaponry, so I was able to gather some expierience on it.

What I did initially was exactly what you mentioned (just assembled the parts in Blender before importing to the game engine (Unity), but all parts where still separate Objects. I animate the mesh parts later from script, after some coding everything worked fine. So I can verify this is a possible way to tackle the problem.... but:

If Irrlicht is similar to Unity when it comes to rendering performance, you want to minimize the amount of separate objects prepared on the CPU and sent to the GPU as much as possible. The keyword here is Drawcalls... I had to find out that having 14 separate parts per vehicle drove up drawcalls to 14x the amount of drawcalls as if it was a monolithic mesh object. And as usual, as soon as your game starts to really tax the CPU (Physics, some real game logic going on, etc.), the last thing you need is to use half the CPU power for preparing your meshes for the GPU.

I had the luck that somebody wrote a nice little tool for the Unity engine that allows you to combine objects and textures and creates a texture atlas from it - and a rigged mesh.

So what you would need to do is assemble your tank model in 3DS Max, and create a rigged model out of it (without weighpainting, you don't want any vertex influence, you just want the mesh parts to be treated like a singular object by the engine).

This way I was able to reduce draw calls to a single one (or 4 calls because of the bump and spec map as well as shadows instead of 14x4 in my case).

This topic is closed to new replies.

Advertisement