-
Notifications
You must be signed in to change notification settings - Fork 30
ImportCollisionGeometry
The importcollisiongeometry command is used to create a new .coll tag using a model in a format accepted by the Open Asset Import Library (Assimp). Arguments can be used to optionally generate BSP Physics and MOPP code blocks to allow this coll tag to also provide player collision. See the BSP Physics and MOPP codes section below for more information.
importcollisiongeometry [mopp] [force] [debug] <input file directory> <tagname>
- input file directory - the directory of the model file that you would like to import
- tagname - the name which you would like to give to the new collision model tag that you are importing. this name must be unique and not currently used in the current cache.
- mopp - generate BSP Physics and MOPP code blocks to allow this coll tag to also provide player collision
- force - bypass certain checks on model import including the open edge check. WARNING: collision models with open edges may cause severe physics issues
- debug - increase verbosity of error output to help debug model issues
Models imported using this command must have:
- no open edges
- no more than two surfaces sharing a single edge
- no overlapping surfaces
- no more than 65535 edges, vertices, or surfaces
- Halo works at a scale that is 1/100 the scale of most common 3D modeling programs which use m (meters) as their base unit. To compensate for this, TagTool geometry importers scale down models to 1/100 of their size during the import process. When
- Halo uses a Y-up axis convention, similar to many 3D modeling programs such as Autodesk 3DS Max. Blender, another common 3D modeling program, uses a Z-up axis convention, which can result in a discrepancy between how your model appears in blender vs how your model appears in-game. For example, if a Halo/3DS Max coordinate was recorded as <x,y,z>, an equivalent Blender coordinate would be <x,-z,y>.
A collision model (.coll) tag with BSP physics and MOPP code blocks can be used to create a scenery (.scen) object that has full collision capabilities without the need for a physics model (.phmo) tag. With this arrangement, the scenery object will be static and immovable, similar to map geometry. However, the object can still be manipulated using Forge. When setting up a scenery object in this way, there are a number of important considerations:
- the model (.hlmt) tag associated with the scenery (.scen) tag must NOT reference a physics model (.phmo) tag, or the collision on the scenery object will not be functional.
- the BSP physics block in the coll tag has a tag reference field that MUST reference the parent model (.hlmt) tag, or the game will crash upon model interaction.
-
###ERROR Failed to split surface!
This uncommon error usually occurs when the model is either too highly detailed or too small to allow the BSP generator to effectively split surfaces. Check that you have scaled your model correctly according to the model requirements section above.