Mesh to Source Engine in 6 Minutes (Blender)

Mesh to Source Engine in 6 Minutes (Blender)


Making 3D models into props can seem an arduous
task, but I’m here to show its, not so bad. This video will not show you how to make meshes
or how to use Blender, but, rather how to go about moving your meshes into the Source
engine, as well as decompiling other models. You can find timestamps in the description
to fast forward to parts you have limited knowledge on. You may use whatever 3D software
you like, but the process will vary program to program, and I will only be showing how
to export from Blender. For this you will need to install Blender Source Tools, Crowbar,
and GCFScape. I will provide links to these downloads in the description. In Blender,
open your project with the mesh you’d like to make a prop from. Go to Scene Properties
and make sure the unit system is set to none. This insures that the Blender units are equal
to Sources Hammer units, one Hammer unit measuring one sixteenth of a foot which you can view
in the item panel. For reference, in Half-Life 2 the player is 73 units tall. I would however
recommend decompiling a human model from the game and using it for scale. To do this open
a VPK from the game with GCFScape, the one you are looking for will likely have “misc”
in it’s name. Navigate to your models folder and in the right box select everything of
the same name. Move it to a folder where ever you prefer. Copy the address. Next open Crowbar
and go to the decompile tab. Under input/output paste the address you copies. I recommend
checking the “Folder for each model” button. Crowbar will then make a new folder and store
your SMD or DMX files and sometimes some other files which we don’t need to worry about right
now. Next in Blender go under File, Import, Source Engine. Locate the SMD or DMX file
Crowbar created. This is the main mesh file. If your model has a skeleton be sure to change
bone append mode to New Armature, otherwise your skeletons will merge together. Now you
can scale using your reference. Once you are done scaling your mesh be sure to select everything
and hit ctrl a, select all transforms. This will prevent translation issues when you export
by setting the current values to be default. You can delete your
reference if you like. Next is finally exporting your mesh. Under scene, go to Source Engine
Export and change your export path, I recommend making a new folder to stay organized. Depending
on what you prefer and what you’re doing, you can change your export format to SMD.
For most cases though, I would use SMD, as DMXs can be confusing to work with. DMXs however
are good for complex ragdolls with facial expressions, as you get a lot more flexibility
and more advanced options such as wrinkle maps. Since we are just doing a rigid prop,
we will go with SMD. Make sure there are no collections other than your scene collection,
select your mesh, and hit export, then select it. We’ve now got a new SMD generated. The
next part covers QC files, which are essentially text documents that tell the compiler what
to do and what to include in your model. I will have provided a basic QC file in the
description of the video. I also recommend later decompiling other models and looking
through their QC files. There is also a lot of very useful information on the Valve Developer
Wiki. But for now just follow along so you can get the feel of things. Start a new file
in your text editor, save it as whatever you like with the format .QC in the folder you
exported your SMD to. Next we want to define your model name, this is the folder and name
the model will show up in Hammer and ingame. Every model will have a body, this references
the SMD we just exported from Blender. Name it whatever. We can next define a surface
property for the mesh, this tells the game your models friction and other properties,
and you can see a wiki link with available materials in the description. I will choose
metal for this prop. We should then define our material directory, this is where the
game will look for a VMT, or Valve Material File with the same name as those found on
the mesh. If you are making a static prop that will not move, add the staticprop command.
This will allow it to be used as a prop_static in Hammer which contributes to compiled lighting.
Do not do this if you plan to export a mesh with animations as they will not be useable.
Next we need a sequence, since this mesh doesn’t have any animations, we’ll just define this
as the actual mesh itself, and call it idle. Finally, we will need a collision model. You
can either make your own, or reuse your mesh, however the latter option tends to be very
sloppy. You can skip this next section if you do not wish to make a mesh, or if your
model will not be interacted with in game. If you do choose to make your own collision
mesh, you will need to duplicate your base mesh in Blender. Keep in mind that if your
model contains moving joints, this section will be different. I recommend reading up
on it on the Valve Developer Wiki. To get a finer collision model, you will need to
seperate each piece in edit mode. Select a loop, and hit ctrl e, then split edges. Select
one vertex, hit Ctrl L to select linked vertices, and then hit F3. Search for convex hull. This
will shrinkwrap the selected part and fill any holes, which is essential to making your
collision mesh work. Do this for each part. Remove the materials from the model, and make
sure you disable auto smoothing and clear custom split normal data if it’s available.
Select everything and hit ctrl e and clear seams if you have it. Do the same for sharps.
Next go to the F3 search menu, and do shade smooth. This is also essential for your collision
mesh to work. Append Phys to the end of the new mesh name and export it like before, and
then reference this in your QC command. We’re now ready to compile our model in Crowbar.
Make sure you select the game you’re compiling for, and that output is set to games models
folder. Select compile. You will want to check for any errors, if you see any, you may have
missed a step or typed improper syntax in your QC file. If you did not get any errors,
you can go ahead and open Half-Life Model Viewer inside your games bin folder. You can
now navigate to your new model and check things out. Obviously there are no textures yet,
but I will cover this in a separate tutorial. If you have any problems that you cannot find
yourself or on Google, leave a comment below and I will try my best to help. If there are
any other specific tutorials you would like to see related to models, leave them below
as well. Now, have fun.

One thought to “Mesh to Source Engine in 6 Minutes (Blender)”

  1. Additional Clarification:
    Collision meshes when generated automatically will do the convex shrink wrap thing over the whole mesh.
    If one part is not shrinkwrapped, the mesh will be autogenerated and your collision will be inaccurate.
    You will receieve a collision compile error in Crowbar if this happens.
    Collision meshes should be low-poly, and be completely closed.

Leave a Reply

Your email address will not be published. Required fields are marked *