Comparison of 3dmodeling tools for Battlefield Modding

The following is a comparison of commonly used 3dmodeling tools used with Battlefield

**Battlefield MeshView (BFMESHVIEW)**

developed by Remdul

http://www.bytehazard.com/bfstuff/bfmeshview/

Battlefield Mesh Viewer (BfMeshView) is a free and open source model viewer for "Battlefield 1942",

"Battlefield 2", "Battlefield 2142, "Battlefield Heroes" and "Battlefield Play 4

Free". Source code is included in the viewer

Although it originated as a model viewer, it now actually has some useful

editing tools.

BfMeshView was created and extensively used during development of the BF2 mod

"Forgotten Hope 2" (http://www.fhmod.org).

For more information, please visit the official BfMeshView webpage:

http://www.bytehazard.com/bfstuff/bfmeshview/

It may be possible to add export capability to the BFMeshViewer for other popular formats with an open source library such as

https://github.com/assimp/assimp/

Remdul's other modeling tools:

http://www.bytehazard.com/bfstuff/

**Battlefield file format:**

As part of an open source project to update the Battlefield games on newer game engines there was an attempt to figure out the Battlefield format:

https://github.com/rigred/BattlefieldRespawn

**The Problem of Converting to Other model formats**

The reason that someone has not created a plugin or tool to convert to and from the Battlefield model format is that it is a huge effort. DICE developed their own proprietary model format for the classic Battlefield games which was optimized to work efficiently with their own Refractor game engine and they have not released the format info.

To further complicate things the plugin tools for 3ds Max and Maya use go between tool to help with the conversion between 3dsMax and Maya and the Battlefield format.

**3dsmax**

http://students.autodesk.com/?nd=download\_center

3dsmax, also called Max or 3ds Max,  is a Professional tool for 3d modeling and animation.   The commercial version is out of the price range of most hobbyists.   However, there is a free student version available for non-commercial use.    3dsmax can also be used for a 30 days free trial.  3dsmax is more popular with 3d modelers for battlefield modding compared to other tools.   There is also a greater variety of community created 3dsmax scripts to help with 3dmodeling with battlefield objects.

 Battlefield modders commonly use 3dsmax for editing navmeshes, creating 3d models, creating animations for handweapons, and for lightmapping. The problem is that the Battlefield 2 plugin conversion tools only support older versions which are not updated for newer operating systems. One option is to use a newer version or another 3dmodeling tool to do the work and then convert into a 3dsmax9 friendly version to use the Battlefield plugin to export.

For Battlefield 1942, the official tools were created for 3dsmax version 6 & 7, however, these tools have been updated to support newer versions of 3dsMax. There is a limited plugin available below for Max 2009. The plugins are compiled and are not easily updated.

 Updated 3dsmax plugins for Battlefield 1942 that work with newer versions of 3dsMax are here:

**Setting up BF42 plugins for 3ds max**

http://janbakerblogs899.blogspot.com/2013/04/modding-extract-battlefield-1942-model\_25.html

For Battlefield 2 and 2142, the official tools were made for 3dsmax ver 6-9, which at the time, only supported 32 bit. Plugins that support newer versions using 64 bit are available now, but are still being tested.

All the BF2 3dsMax plugins use helper programs that may rely on something else to run. These helper programs are located in the 3ds max folder under scripts\BF2\Bin folder.

Sceneparser.exe is one that requires directX9 files. Without it, any attempt to export will result in the creation of an empty output folder but with no error messages. The DirectX End User Runtine... can be found here

https://www.microsoft.com/en-us/download/confirmation.aspx?id=8109

The following is a run down of support for the different versions of 3ds Max:

Rhino and Harmonikater from Project Reality has updated the BF2 plugins for Max 9 with integrated and updated collision mesh and light mapping support:

http://www.realitymod.com/forum/f189-modding-tutorials/134050-pr-bf2-3dsmax9-tools-v0-42-a.html

GITHUB Link:

https://git.cmp-gaming.com/Harmonikater/BF2-3dsMax-Tools

3ds max 2009, These are the 32 bit support tools:

http://www.battlefieldsingleplayer.com/dnamro/files/BF2/BF2\_Max2009\_Tools.zip

There are also community made scripts to import Battlefield heightmaps, import collision meshes and to check mesh errors. There are many tutorials on the internet about using 3dsmax with Battlefield modeling.

The 3ds Max plugins use 32 bit compiled code that does not work with 64 bit max scripts. Max 2013 was the last version of 3ds Max to offer a 32 bit version, so there is a limit to how the plugins can be upgraded.

Support for newer versions of 3dsMax (up to 2017)

http://www.realitymod.com/forum/f388-pr-bf2-community-modding/145720-experimental-updated-3dsmax-tools-newer-max-versions-support-more.html

**Maya**

http://students.autodesk.com/?nd=download\_center

Maya is also a Professional tool for 3dmodeling and animation that was sold to Autodesk and continues to be updated.   The commercial version is also very expensive but there is a student version available for non-commercial use.

The BF2 editor was designed for Maya 6 support . Maya 6 was designed for XP and may have issues with newer Operating Systems. Apparently Maya was used by DICE, 3dsMax continues to be the preferred 3d software for Battlefield modding. There has been no public effort to update the Maya support for Battlefield.

Maya 6 does support exporting and importing to the wavefront object format, and it works well to edit Battlefield navmeshes.

The standard tutorial for Battlefield navmesh editing was written by Kysterama for Maya.

The Community Mod Manager created several tutorials for Maya

**GMAX**

Note: GMAX is no longer a supported product through the TurboSquid website nor through Autodesk as they have discontinued it and have specifically asked for its removal.

Gmax was a free 3D modeling application based on Autodesk's 3ds Max application used by professional computer graphics artists. Whereas 3ds Max is a comprehensive modeling, animation, and rendering package with some secondary post-production and compositing features, Gmax is much more limited due to its singular intended use—game content creation. Tools and features rarely used or completely unrelated to creating 3D game models were removed (most if not all of the more complex rendering, materials, shaders, physics simulation, and some of the more advanced geometry tools, plus the rendering engine), leaving the core modeling, texturing, and basic animation rigging and keyframing capabilities. The software is no longer updated or supported, but is still freely available for download.

The introduction of Gmax and Autodesk's distribution of the core tools was thought to be aimed towards remedying the 'limited-options piracy' of 3D modeling packages that had been widespread among amateur 3D modeling and game mod communities to that point. Until the introduction of Gmax, and a similar 'game modeler' version of Maya soon after, amateur modelers had extremely limited access to the tools needed to do so.   Ideally Gmax enabled modelers to have legitimate access to content creation tools similar to those used by professionals.

Although gmax is a limited version of 3DS Max (v4) the program itself was designed with the intention of having limited import and export capabilities which were then to be provided by the installation of additional 'gamepacks' available for various game.

Unfortunately Gmax never caught on, probably because it relied on game companies to create the gamepack plugins.   Game companies were understandably reluctant due to fears of intellectual property theft.

Gmax is further limited because it can not crate level of detail (LOD) models  as with 3dsmax tool which are used to reduce lag.

Gmax does not easily import and export with the Wavefront obj format.    There is a complicated hack to get it to work, but there are other 3dmodeling tools available that are much easier to import and export with obj formats, so even though it can be used,  it’s not recommended for navmesh editing.

DICE released Battlefield plugins for GMAX but they also have issues.   For instance: BF2 requires textures to be in the .dds format, but Gmax does not support this.   The workaround is to use a supported format, such as .TGA while working in Gmax and then swap out the textures at the end.     Users also report that it doesn’t import the bundledmesh files.   Gmax is not recommended for BF2 or BF2142.   Reportedly the BF1942 plugins work better than the BF2 version.

Gmax users typically use one of the exporter plug-ins in order to convert to a format that can be used by another 3dmodeling tool that does have fully functional plugins for battlefield.   It's only real use for Battlefield is to use the BF exporter plugins, allowing users to model in more current modeling programs, like blender and then export into GMAX just to use the BF exporter capability.  Reportedly GMAX does have some issues with Windows 10, but just using GMAX to export into BF should work fine.

**Milkshape 3d**

http://www.milkshape3d.com

MilkShape 3D is a low-polygon modeling tool, which was initially designed for Half-Life. By and by many file formats and features have been added.   Milkshape is shareware and free for a 30 day trial.

MilkShape 3D has all basic operations like select, move, rotate, scale, extrude, turn edge, subdivide, just to mention a few. MilkShape 3D also allows low-level editing with the vertex and face tool. Standard and extended primitives like spheres, boxes, cylinders, etc. are available too.

MilkShape 3D is a skeletal animator. This allows to export to morph target animation like the ones in the Quake model formats or to export to skeletal animations like Half-Life, Genesis3d, Unreal, etc.

Currently there is a Battlefield 1942 plugin available, but none for BF2

However,  since it supports the Wavefront obj format, it can be used for Navmesh editing.

**Blender**

http://www.blender.org/%22%5Dhttp://www.blender.org

Blender is a free and open-source 3D computer graphics software product used for creating animated films, visual effects, art, 3D printed models, interactive 3D applications and video games. Blender's features include 3D modeling, UV unwrapping, texturing, rigging and skinning, fluid and smoke simulation, particle simulation, soft body simulation, sculpting, animating, match moving, camera tracking, rendering, video editing and compositing. It also features a built-in game engine.

Blender currently does not have full import/export capability for the battlefield model format, but there is an effort ongoing:

https://github.com/Ahrkylien/BF1942-Blender-add-on

It is currently usable for 3d modeling and some map editing features such as export/import of heightmap, staticobjects.con, standardmesh and treemesh.

There was also a previous project.

http://www.realitymod.com/forum/f388-pr-bf2-community-modding/145648-blender-pr-modelling-2.html

This effort is focused on creating import and export tools in Python (the scripting language for Blender) based on the source code from BF Mesh Viewer. it is using the same helper tools used by the 3ds max plugins for export. The code for this effort is available here:

https://github.com/rPoXoTauJIo/BF2Mesh/blob/master/modmesh.py

These are some tips for working in Blender:

The default controls may need to be customized for working with large objects, since the default controls are set up for smaller objects.

The obj importer searches for a .mtl file in the same folder to get the material settings.   When exporting, it creates a new .mtl file with the same name as the obj file.   For exporting the navmeshes obj file, uncheck all options except for write material and group materials..

**Wings 3D**

http://www.wings3d.com/%22%5Dhttp://www.wings3d.com

Wings 3D is an advanced subdivision modeler that is both powerful and easy to use.

Wings 3D offers a wide range of modeling tools, a customizable interface, support for lights and materials, and a built-in AutoUV mapping facility.

Wings 3D is open source and completely free for use in both personal and commercial projects.

There is no support in Wings for animation.

OBJ is one of its native formats and it works really well to edit navmesh files

**Sketch Up**

Google sold Sketch up to another company to develop as a professional tool in 2012.   Sketch up was then split into two versions, a professional version and a free version for non-commercial use called Sketch Up Make.    Sketch Up is designed to easily make 3d images based on 2d drawings.   There are tutorials   to create simple models for some games, but sketch up has limited export capability and none for Battlefield support.   The professional version supports the wavefront object format, but I have not heard of anyone trying to use it for navmeshing.

MeshLab: http://www.meshlab.net/

This Free opensource tool is great for cleaning up your mesh. I have used it to help track down issues with AImeshes. I have not tried to clean up a Navmesh with it, but it looks like it could be very useful.

NetFab: http://www.autodesk.com/products/netfabb/overview

This tool is used to prepare models for 3d printing and it previously had a free basic version until it was bought out by Autodesk in 2015. However, you can still download the trial and have access to the 'Basic' functionality after the trial expires, which includes the ability to repair models. It also offers a free version for students and educators as with most Autodesk products. It is designed for use with CAD systems, but it will import from the FBX format and then export to STL. It is useful for testing and repairing AImeshes because they follow the same rules as for 3d printing models.