Page 1 of 1

3D Progams - best one?

Posted: Wed Nov 14, 2018 7:16 pm
by ducatiwannabe
Heya tankers!

I'm thinking about getting back into mapmaking and it would be fun to try something outside of my tried and true go-to of BZEdit this time.

I've heard of people using a variety of 3D modeling programs but I think last I knew the best one with the best controls is Blender? Anyone find another program easier or more helpful for a 3D noobie?


Re: 3D Progams - best one?

Posted: Thu Nov 15, 2018 12:03 am
by alfa1
Based on my 1 year of public hosting/designing experience (tho I also develop) I can tell some things:

- (pure) handmade design/edition is very useful; you can, even, make scripts for maps (randomness, etc.)
- the few I could research of Blender: you can modelate on it, export the work to .OBJ, open it with Wings 3D and export it to .BZW. Since it is a very complex program (tho surely very powerful too), maybe a better choice would be starting with the second one.

Re: 3D Progams - best one?

Posted: Thu Nov 15, 2018 12:53 am
by Zehra
I can't say as I do not have any experience with 3D modeling programs.
However from what I've heard, Wings3D seems to be easier for some.
Blender is more powerful, but is more complicated.
You also will need to 'convert' files from '.obj' to '.bzw' with modeltool or opening and exporting it as '.bzw' with Wings3D.
There also is BZW Export Plugin for Blender, so if you decide to use it, it should make things a bit easier for you.
Small side note: Even if you use Blender or Wings3D, you probably will want to also know how to hand edit meshes, as this is usually needed for the finishing touches or some details which cannot be done otherwise.

You also may want to check into scripting/programming as it might be easier to create objects/meshes that way.
(Ruby, Python, Bash, Visual Basic and Perl have been used for some map generation, so maybe learning one of those languages is an option.)
If you would like additional information on scripting/programming, feel free to contact me by private message.


Re: 3D Progams - best one?

Posted: Thu Nov 15, 2018 6:27 pm
by macsforme
JeffM made a plugin for the Unity Engine editor. Not sure if it’s actively maintained or works with their latest versions, but it worked pretty well when I last tried it. I used it to create the Choke Point map. There’s a topic on this forum somewhere for it.

Re: 3D Progams - best one?

Posted: Fri Nov 16, 2018 7:29 pm
by Zehra
It's in the Map Editors section of the forum.


Re: 3D Progams - best one?

Posted: Tue Nov 20, 2018 1:24 pm
by optic delusion
Purple Panzer does almost all of his work in Visual Basic.

My advice to you would be, since you are familiar with BZEdit, use that to deign the overall shape and playability of the map, then use a 3D editor to apply eye candy.
Using modeltool to convert obj to bzw (including drawinfo) is not difficult at all. Which means any editor that will export as obj format is fine, which is almost all of them. many won't import obj though.
Wings3D is free, open source, definitely easiest, has everything you'll need for BZ, and it does export directly to bzw. Do the house tutorial here, takes about 90 minutes and you'll have about 90 percent of the knowledge you'll need. You don't need the hand tutorial for BZ. Adding textures can come later.

I suggest you do your hand-editing an a separate file which has an include statement referencing the 3D file. Load the hand-edited file into bzfs, and that file loads the mesh file. Once a mesh is complete, paste it into the first file and move to the next mesh.

The biggest difficulty is combining mesh objects and bzw-style objects, and you wind up with what is sometimes called "the floating point bug", where tanks can't drive from object-to-object and looking at the numbers it sure looks like that thing should be drivable.
It's super-frustrating when the same object works fine on your computer, but when you bring players in, someone else's CPU computes the decimals slightly differently, so it's not drivable for them. The tops of all boxes must be perfectly flat, and what looks like perfect when you look at the numbers is not always perfect when out in the wild. _maxBumpHeight does not help. This will drive you nuts.

My method is:
Build the map in bzw, being sure to test the tops of all blocks to be sure they are drivable. Especially around bases.
Convert to obj using /saveworld -o
Apply an invisible texture to the entire bzw map. (modeltool has a bounding function to do this automatically when converting drawinfo, but I never use it, because my model usually has small errors.)
Load the obj file into your editor and apply all the eye candy you could ever want in the 3D editor, export as obj and convert to drawinfo using modeltool.
Once the eye candy is complete, add the mesh to the invisible bzw object, inside a define.
Drawinfo displays much faster and smoother. Small errors in the mesh don't matter because drawinfo doesn't interact with collision detection. You don't end up with extremely hard to fix single-point errors in the mesh because the bzw-type objects are exclusively used in collision detection.
Occlusion and collision detection is what makes maps seem choppy in play.

Another trick I use is (once the bzw is converted and loaded into the editor) I will move objects to point 0 0 0, apply the eye candy, then export back to bzw, and use shift in a group to move them around. Especially if the same object is used in several places. You only have to apply the eye candy once, and the bzw-style object you originally made, tells you exactly where to shift it.
There's a lot of cut and paste, but what you end up with looks like this...

group thing
shift 50 50 0

define thing
material invisible
size 10 10 10
pos 0 0 0 (this was originally 50 50 0, change when you add shift in the group)


enddef #thing

# invisible material removes item from display, but not collision detection
name invisible
color 0 0 0 0

Re: 3D Progams - best one?

Posted: Sat Dec 08, 2018 6:47 pm
by ducatiwannabe
Thank you all so very much! I clearly have a lot to learn but having this in front of me is probably the best start I could have had - thanks again!