MOD Modeling FAQ by Cyberion


I decided to create this topic to help those people who are going to model for Regret (HL2). This is work in progress topic, so I'll update the first post every time when i have something to add and share with you guys.

Mostly I will cover some specific Lightwave modeling issues, but most part of this information is universal and can be (even should be) applied when model in other 3D packages.

Where can I find good information about modeling for HL2?
You friend here should be official Valve's Source Wiki website. By going there you will find plenty of "ins" and outs" of modeling for the source engine. Very useful stuff for any modeler that is going to model for HL2.

-What dimensions I should use when modeling my model?
Easy enough, just consult with this official page about dimensions.
My advise here will be to model in inches as 1 inch =1 unit in Hammer Editor. That  way you can easily keep the needed size of your models and won't have any further troubles with resizing your model.

-How can I convert Lightwave model into HL2 model?
On Warmi's website you can find the set of plugins needed to export Lightwave model into HL2 format.
This one is simple. Download, add to your plugins folder in Lightwave, activate via "Edit Plugins" in Modeler and you will be able to find exporter in your Utilities Tab->Additional popup menu.

-How many polygons I may have in a model? - IMPORTANT
Well, HL2 is a game, and as with all games performance is very essential. So keeping low on polygons is important, it's an art to create a good looking model with not many textures. Try to keep moderate on polies, compensating some details with good textures. Here is a good quote from Source Wiki:
There are no fixed rules in determining how many polygons you use in your model, or how much texture resolution you'll use in your materials. There are upper limits of engine capability, (10,000 polygons/model, 17,433 vertices and 2048 texture size) but these aren't usually going to be what you're shooting for. You'll need to consider how many of the character, vehicle, or prop you're making will be on screen. If you'd like dozens of them on screen at any given time, you'll have a different budget than if you'd only like to see one of them ever on screen at a time. With humanoid characters, especially for multiplayer use, you shouldn't need to go over 4000 polygons to get a character that has enough detail to accurately describe the form, bend properly at the joints, and have enough edges to light properly. Of course you can have more than that, but with normal mapping, and high res textures, you shouldn't really need to.
So something around 200-1000 is a very good number for static objects and 3000-5000 for a character.

-What is the best resource to learn about modeling for HL2?
The answer is simple enough here. The official Source SDK wiki page. By following that link you will find the most complete information on modeling and animating your models for Source engine.

Version history

1.0.2 Cyberion (added Resources question)
1.0.1 Jupix (altered topic title and intro paragraph slightly)
1.0.0 Cyberion (initial revision)
A short word on smoothing.
I realized that the source engine smoothed the edges of some of my models where i wanted them to be sharp. So i did some research.

The engine decides if a edge between 2 polygons is a hard or soft (smoothed) edge depending on the angle between the vertex normals.

Most modeling tools have functions to manipulate those (like smoothing groups and so on)
Unfortunately Lightwave supports smoothing only on a per-surface basis.
As far as i know wami's exporter ignores those settings, so you have little control over which edges will be regarded soft or hard.

There are two workarounds to make sure a edge is treated as a hard one.
(This is what i found online, i haven't tested it ingame yet.

First you can just cut out and paste one of the adjacent polygons back in.
This way they shouldn't share any vertices and will not be smoothed.

The other way which should work in every case is to bevel one of the polys inwards with a very small value (1mm should be enough).
The disadvantage is that the poly count will rise and you end up with a very small polygon which can be difficult to map.