Propper: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
No edit summary
mNo edit summary
Line 110: Line 110:
[http://www.youtube.com/watch?v=8_CGmelxveQ Propper Hammer Modeling Tutorial - Optimisation]
[http://www.youtube.com/watch?v=8_CGmelxveQ Propper Hammer Modeling Tutorial - Optimisation]


[[:Category: Third Party Tools]]
[[Category:Third Party Tools]]
[[Category:Level Design]]

Revision as of 01:16, 10 November 2009

Introduction

Propper is an edited version of vbsp that outputs a model instead of a bsp.

Many mappers need to make props for their maps, but don't want to learn a seperate modeling program. This tool allows them to make models in Hammer in a one-step process. It's also useful to modelers who work with mappers. No other method of .vmf export keeps texture mapping intact, or auto-generates a physics mesh.

Features

  • Can create static props or physics props
  • Generates a .qc file and automatically compiles the prop for use in your game.
  • Generates a working physics mesh.
  • Automatic material conversion--Turns map textures into valid model textures.
  • Distinguishes between real textures and "tool" textures.
  • Respects Hammer smoothing groups or autosmooth.
  • Configure your prop from within Hammer.

Future planned features

  • Displacement support
  • Output multiple models out of one map
  • Automatic culling of invisible faces
  • Breakable models with custom gib creation.
  • LOD support.

Download

A public beta release is now available! http://crazycarl.hl2sm.com/files/propper_0.21.zip

Bug reports

  • The EP1 version of the tool won't create the folders it needs, and will quit if you don't make them beforehand. So make them beforehand.

Installation

There are two versions of propper included. One is for the Episode 1 SDK, and the other is for the Orange Box SDK. A .fgd (Forge Game Data) file is included for both, to help you configure your props.

The folders in this ZIP file mirror the folders in the SDK. For best results, unzip the file to your steamapps\<username> folder, and let your zip utility keep directories intact.

Directions

After installing, you should change your game configuration a bit. Open Hammer under the game with which you will use Propper, and click Tools:Options.

Setup GameConfig 02.png

Find the section for "Game Data Files", and click the "Add" button. Open propper.fgd when prompted (It will be right there if you installed corrrectly). Then Click OK or Apply to save the settings. Then restart Hammer so the settings take effect.

To use Propper, copy some geometry from your map and paste it into a new Hammer file. There are two included prefabs. The first, propper_prop_options.vmf is required (I haven't tested without using it, but it should work just as if you had used the default settings). Put it in the map and look at its properties:

Name	 		The name that other entities refer to this entity by. (not used by propper)
Origin (X Y Z)		The position of this entity's center in the world. Rotating entities typically rotate around their origin.
Model Name		The directory and name of the finished model. Relative to <yourmod>/models
Material path		Where the model's textures will be. Relative to <yourmod>/materials. Make sure this folder exists before running!
Scale			Scale the model up or down by this factor.
Surface property	The physical properties of the model--affects impact sounds and weight for physics props.
Concave collisions	Used to make a concave collision model. If you choose no, the model will be 'shrink-wrapped'.
Produce collisions?	Picking Yes allows the prop to be solid.
Smoothing mode	 	Determines how vertex normals are computed for lighting
Source folder	 	Where you want to keep your .qc and .smd files. The final directory will be <sourcefolder>/<modelname>. Make sure this folder exists before running!
Smoothing threshold	If auto-smooth is enabled, Edges flatter than this angle will appear smooth. Pick from 0 to 180.
Snap to Hammer	 	Causes every vertex to be snapped to the nearest grid point.
Welding threshold	Vertices will be snapped together if within this tolerance. A value of 0 is not recommended because there may be visible gaps in he mesh. Larger numbers will merge vertices together, and may be useful for optimizing your model.
Model Origin	 	The model's origin point defines how it is lit and is how the prop is positioned in a map. Auto-center puts the model's origin at the center of its bounding box and is recommended for physics props. For static props, put the origin somewhere that lets you align the prop easily.
Automatically compile	By default, propper will run studiomdl to compile the prop. You can disable this.
Fix up materials	By default, propper will make a copy of any material used in the prop and make it valid for use on a model. You can disable this.

There's also propper_physics_data.vmf. If you place this entity on your map, Propper will produce a physics prop. See Prop data for documentation on the following.

Name  			The name that other entities refer to this entity by. (not used by propper)
Origin (X Y Z)		The position of this entity's center in the world. Rotating entities typically rotate around their origin. (not used by propper)
Health preset		Dictates how strong the prop is vs. different weapons.
Health			Overrides the prop's health.
Mass			Weight of the prop in kg. Enter zero or lower to automatically calculate mass.
Flammable		Will it burn? Picking this enables the 'ignite' options.
Ignite at half-health	Just like those barrels in HL2.
Ignite from explosions	Won't break right away if something explodes near it, but will ignite.
Explode damage		Damage to do when breaking
Explode radius		Radius of explosion
Gibs			Generic shards to spawn when the prop breaks
Gib count		How many gibs?
Gib skin		Which skin to use on the gib models, if applicable.

You run Propper just like vbsp. Pass it the current game directory and your vmf file.

propper.exe -game D:\Steam\SteamApps\SourceMods\FortressForever C:\Users\Carl\Desktop\testmap.vmf

Propper will compile the model automatically unless you disable that function.

You can run Propper from within Hammer. Just create a new Run configuration and run propper instead of vbsp.

Running propper.gif

You should now have a new prop available to you! If you are replacing an existing model, you may have to restart Hammer to see the changes.

Tips/Caveats

  • You can use visgroups to hide brushes; They will be ignored by Propper.
  • If you make any brushes func_detail, they will be non-solid in the finished prop. Using any other entity seems to cause problems, however.
  • Don't set "materialpath" to the same folder as any of your map textures. The model materials may overwrite your map materials! It's best to follow the convention of putting model textures under "models\"
  • Propper doesn't create any directories, so for now you will have to create your materialpath and sourcefolder before you run the tool.
  • Propper will over-write files without asking, so make sure there are no files in
  • As always, it's better to use as few brushes as possible, and use nodraw wherever you can.
  • Texture alignment may not always be perfect but it is very close to the original.

Disclaimer

This program is largely untested, so if you send it something it doesn't expect, it'll probably screw up. That said, it's based on vbsp, which we all know and trust not to destroy our PCs. That said, use at your own risk. For those who don't trust .exes they download over the Internet (I don't blame you), I'll be releasing a code patch so you can compile this yourself.

External Links

Propper Hammer Modeling Tutorial - Basics

Propper Hammer Modeling Tutorial - Optimisation