Half-life/mods map construction tool.
is the current changelog. It must be stressed that this is a work in
progress, not a final release, so your comments and feedback are quite
- added model rendering in the 3D view
- added pointfile viewing to the 3D view
- modified Half-Life and DoD FGDs to add model viewing support
- improved the texture application tool and advanced compile mode dialog UI
- separate pitch, yaw, and roll angle compasses added to entity properties
- "animate models" toggle in 3d options
- adjustable viewdistance for models in 3d options
- selectable animation sequences
- customizable 3D view background color
- more to come
- The angle compasses in the entity properties still don't work.
They have not been hooked up yet. Note, though, that you can rotate
models in the 2D views in the same way that you would rotate a brush
model. To easily disable the default 15°, hold down Shift while you
rotate an object.
- There is an issue that occurs when you load a second map in Hammer.
As explained by Matt, the textures aren't being re-generated for opengl
(glGenTextures), so the models think they have a texture loaded and
call glBindTexture, but get nothing, as the textures arent in there.
Just something to be aware of, if you run into the problem.
- To make model preview work,
you must use the Half-Life FGD (or modify your mod FGD as outlined
below) and unpack your PAK file's models folder to Half-Life\valve\models (or the applicable mod folder). You can find PAK file utilities in the Half-Life Utilities
page. You must also make sure the Mod and Game Directory settings in
your Game Configuration settings (accessible throught Tools ->
Options) are set correctly.
- The new masked-texture model format is supported. The masked areas of these models will be transparent in the editor.
Setting Model Animation Sequences
|Making Models Appear|
To make a model appear in the 3D view, three
things must be done. First, the "Game Directory" (and/or "Mod
Directory") property in Tools / Options / Game Configurations must be
set. Second, the models must be unpacked into the proper folder. Third,
the entity definition in the FGD must include the studio() helper. This
is done one of two ways.
@PointClass studio() = entity_name
model(studio) : "Model"
this case, the entity initially appears as the flatshaded box we've
come to know and love, until a model is specified for its "model"
property, at which time the model is then displayed in the 3D view.
@PointClass studio("models/some_model.mdl") = entity_name 
In this case, the model is explicitly defined in the entity properties, and will always appear as this model in Hammer's 3D view.
Note that in either case, the model must be present in the specified folder or it will simply appear as the flatshaded box.
enable the ability to set the animation sequence of a model in the 3D
view, a "sequence" property must be added to an entity. The value of
"sequence" is an integer corresponding to the animation in the model.
For example, the monster_hgrunt_dead entity in the FGD has the
following property added to it:sequence(Choices) : "Animation Sequence (editor)" : 44 =
44 : "deadstomach"
45 : "deadside"
46 : "deadsitting"
could just have easily been setup as an integer, as the Choices
variable type just lets you give a list of integers with descriptive
names to choose from.
Note that the animation sequence setting
only affects the display of the model in the editor, not in the game.
This is mainly useful for differentiating between things like
monster_scientist, monster_sitting_scientist, and
monster_scientist_dead, which would otherwise all show the same model,
plus it will greatly aid in the placement of scripted sequences.