Anarchy Arcade

Anarchy Arcade

Not enough ratings
Blender Custom Cab Tutorial
By Howie Duhzit
This guide will walk you through the basic requirements to make a custom cab with Blender and the Source Tools add-on.
   
Award
Favorite
Favorited
Unfavorite
Prerequisites
Before we start your gonna need the newest copy of Blender[www.blender.org] and Blender Source Tools[steamreview.org]. Follow the Instructions on the Source Tools Page to install and activate the add-on in Blender. It should appear under scene options like the example below.




Your also gonna want a copy of the Dynamic Textures as PNG's for previewing in Blender while mapping.

DynScreen:


DynMarquee:
Setup folder and blend file
Make a new folder and inside make 2 new folders one called Exports and one called Textures and place the Dynamic textures in that folder.


Open a new blender file right click on the default collection and delete the hierarchy.


Save the file in the folder you made next to Exports and Texture



Next change the following options in Source Tools to setup our new folder and AA.

Export Path: //Exports/
Export Format: SMD
Engine Path: C:\Program Files (x86)\Steam\steamapps\common\Anarchy Arcade\bin\


Game Path: C:\Program Files (x86)\Steam\steamapps\common\Anarchy Arcade\aarcade_user\ (must include a copy of gameinfo.txt from the Frontend folder)


QC Path: //Exports/*.qc

When its done it should look like the example below(don't mind red QC box)


Finally turn the Timeline into an Action Editor, open a Text Editor Panel, create your QC file, Save it in the Export folder, and save the blend.



Note after this step you should notice the QC file is recognized

All said and done your screen should look like the following:
Create/Rig Mesh and Collider
First were going to add our basic skeleton with one root bone by adding an Armature and naming the Bone "root". Every other part of the armatrue can be named to your own reference. I name the main object whatever I plan to name the MDL since that will become our main transform.


Next add your mesh, place it ground level, set the origin to the 3D Cursor to move the origin point to the bottom middle, and name it "Mesh"


Do the same thing for the Physics collider except name it "Collider" and under "Mesh Options->Viewport Display" change "Displayed As' to Wire.


Next while holding CTRL click on the Mesh, Collider, Main Armature, and root bone in that order Making sure the armature and bone are last. Make sure the viewport is in object mode. Press CTRL+P and select to parent to "bone relative".


Finally click on pose to enter pose mode select the root bone. Press i in the viewport and add a keyframe for the whole character. In the action editor rename the newly created action to "idle".

Switch back to object mode.
Add/Map Textures
First change your viewport to texture so you can see what your doing.


Next add 2 materials to the mesh object and name them according to the dynamic textures you wish to use using the following method for each one.


Switch to the UV Editing Tab and change the Right viewport texture again and choose face select.


By default all the faces are assigned to the first material you apply( in my case the screen) so I'm gonna select all the faces that should be the marquee, select the material and click apply.


Adjust the UVs in whatever way is easiest for you in this cause since its just a cube smart projection and unwrap is quick and easy. Select the face you wanna fix press 'U' and click smart project leave the default values and then adjust accordingly.


Repeat for every face needed.


Switch back to the layout tab and give the Collider object a material called "phy" and this part is done.
Write QC file
Copy and paste the following into your QC file and save the file

$modelname "cabinets\CabTemp\CabTemp.mdl" $bodygroup "Body" { studio "Mesh.smd" } $collisionmodel "Collider.smd" { $mass 1 $inertia 1 $damping 0 $rotdamping 0 $rootbone "root" } $cdmaterials "models\smarcade\" $sequence "activeidle" { "anims/idle.smd" loop fadein 0.2 fadeout 0.2 fps 60 } $sequence "inactiveidle" { "anims/idle.smd" loop fadein 0.2 fadeout 0.2 fps 60 }



Syntax:

$modelname "cabinets\CabTemp\CabTemp.mdl" CabTemp can be whatever you want the cabinet to be named in-game

$bodygroup "Body" { studio "Mesh.smd" } "Body" can be named whatever you want the bodygroup to show up as in-game "Mesh.smd" must be named the same as the mesh object

$collisionmodel "Collider.smd" { $mass 1 $inertia 1 $damping 0 $rotdamping 0 $rootbone "root" } "Collider.smd" must be named the same as the collider object "root" must be named after the root bone

$cdmaterials "models\smarcade\" References material folder for textures (can be multiple folders by adding more $cdmaterials tags)

$cdmaterials "models\smarcade\" References material folder for textures (can be multiple folders by adding more $cdmaterials tags)

$sequence "activeidle" { "anims/idle.smd" loop fadein 0.2 fadeout 0.2 fps 60 } $sequence "inactiveidle" { "anims/idle.smd" loop fadein 0.2 fadeout 0.2 fps 60 } Sequence names must reflect cab sequences (activated, deactivated, activeidle, inactiveidle) "anims/idle.smd" must match action name dedicated to each sequence (NOTE anims/ refernces a folder which we will get to in the next part)
Finalize, Export, and Compile
At this point your Source Tools menu should resemble the following with your 2 meshes and any animations in the Exportable section.




Select each animation and under subfolder enter "anims" to reference the folder from the QC




Now we are ready to export via "File>Export>Source Engine>Scene Export"




If all went well the bottom of the screen should show a success message




Then we can compile but click on the QC file button in the Source Tools menu




Once again we should see no issues at the bottom




CONGRATS YOUR DONE!

The model will be automatically added into AA. Just load the game and import models. Once you place the object if it needs scaling or rotating just place it in a map go back to blender and make any changes to the main Armature object only, reexport the mash and recompile the QC. Then just refresh the map and your changes will be live no need to even close AA.

(NOTE) I purposely left the cube small to demonstrate this so scale the cube by 10 for it to be sized more appropriately in-game then re-export and compile:



1 Comments
hankmayonaise 19 Jun, 2021 @ 7:08pm 
Hi there. I tried to follow but don't have the mental capacity. If you'd be interested in converting an STL file I have, please let me know your rates.