Roblox
- Import the 3D Model
- Within the Toolbar UI, select Import 3D…
- Select your downloaded Mash GLB asset
- Leave all import settings at their default values, unless specific adjustments are required for scaling or materials.
- Locate the Imported Model
- After import, open the Explorer panel (View > Explorer if not visible).
- Expand the Workspace node to locate the newly imported model (it is typically named "AuxScene" by default).
- Test the Model in Play Mode
- Click Play (the ► icon at the top of the interface) to enter Play mode.
- Confirm that the object spawns correctly and behaves as expected within the scene.
Unity
- Import Object Asset
- Right-click Assets → Import New Asset…
- Select your downloaded Mash GLB asset
- Place the Object in the Scene
- Drag the imported object from the Project panel into the Scene or Hierarchy.
- Position, rotate, and scale it appropriately within your environment.
- Test Your Setup
- Press the Play button to enter Play Mode.
- Verify that your imported objects function correctly as expected within the scene.
Unreal Engine 5
- From the main toolbar, go to:
File → Import Into Level - Select your downloaded Mash GLB asset
- Choose an appropriate save location (e.g.,
Content > Developers > YourName > Objects) - Click Import to add the asset to your project
- Open the Content Drawer and locate the imported object
- Drag and drop the object directly into the Viewport or World Outliner
- Confirm that materials, collisions, and animations behave as expected
Blender
- Import the File
- Go to the top menu:
File → Import → glTF 2.0 (.glb/.gltf) - Select your downloaded Mash GLB asset and click Import
- Go to the top menu:
- Confirm Import
- Once loaded, the model will appear in the Viewport
- Use Middle Mouse Button to orbit, Shift + Middle Mouse to pan, and Scroll to zoom
- Adjust Scale and Orientation
- If the model appears too small or large, select it and press N → Item Tab to view transform values
- Use S to scale and R to rotate if necessary
- Apply all transforms: Ctrl + A → Apply → All Transforms
- Set the Ground Origin
- To ensure proper positioning:
- Select the model
- Go to Object → Set Origin → Origin to Geometry
- Move it so it sits on the ground plane (Z = 0)
- To ensure proper positioning:
- Open the Shading Workspace
- At the top of Blender, select the Shading tab
- This opens the Shader Editor and Viewport side by side
- Check Imported Materials
- If your GLB includes materials, they'll appear in the Shader Editor
- If blank, you can create a new material:
- Select the model → click New under the Material Properties panel
- Load Textures
- In the Shader Editor, use the Image Texture node:
Add → Texture → Image Texture - Open your texture (e.g.,
my_model_d.png) - Connect the Color output to the Base Color input of the Principled BSDF shader
- Repeat for Normal, Roughness, or Emission maps as available
- In the Shader Editor, use the Image Texture node:
- Enable Texture Preview
- In the Viewport, change the shading mode to Material Preview (
Z → 3) to confirm textures are displayed correctly
- In the Viewport, change the shading mode to Material Preview (
Lighting and Scene Setup
- Add Lighting
- Go to
Add → Light → SunorArea Light - Adjust Intensity and Angle in the Light Properties tab for better visibility
- Go to
- Add Environment Lighting
- Go to the World Properties tab
- Under Surface → Color, click the yellow dot and select Environment Texture
- Load an HDRI file (e.g., from polyhaven.com) for realistic lighting
- Adjust Camera
- Press Shift + A → Camera to add one if needed
- Press 0 (Numpad) to switch to camera view
- Move or rotate to frame your model
Exporting (Optional)
- Export to Other Engines
- Once adjusted, export for use in another platform:
- Unity / Unreal: Export as FBX
- Three.js / Web: Export as glTF (.glb)
- Menu path:
File → Export → (Choose desired format)
- Once adjusted, export for use in another platform:
- Apply All Transforms Before Export
- Ctrl + A → Apply → All Transforms
- Ensures scale and rotation match the destination engine
Verification and Rendering
- Quick Render Preview
- Switch to the Render Properties tab
- Set Render Engine to Cycles or Eevee
- Press F12 to render a preview
- Save the Project
File → Save Asto store your.blendproject file
Additional Notes
- Performance Tip: For complex models, enable Simplify in Render Settings to reduce viewport lag
- Normals: If surfaces appear dark or inverted, recalculate normals using:
Edit Mode → A → Alt + N → Recalculate Outside - Transparency: In Eevee, enable transparency under Material Settings → Blend Mode → Alpha Blend
- Unit Setup: To maintain consistency with game engines, set:
Scene Properties → Units → Metric, Scale = 1.0
Garry's Mod
You'll need to use Blender, VTFEdit, and Crowbar to prepare, texture, and compile your model into the .mdl format recognized by the Source engine.
Tool Installation
- Blender – 3D modeling and export preparation
- Blender Source Tools – enables SMD/DMX export
- VTFEdit – converts PNG/TGA images to VTF texture files
- Crowbar – compiles
.qcscripts into.mdlmodels for Source
Import and Prepare the Model
- Import the GLB File
- In Blender:
- Navigate to:
File → Import → glTF 2.0 (.glb) - Select your exported GLB model
- Delete any imported lights and cameras
- Navigate to:
- In Blender:
- Fix Scale and Orientation
- Select your model and scale it by 39.37 to convert meters → Source inches
- (The Source Engine uses imperial units)
- Apply transformations:
Ctrl + A → Apply → Rotation & Scale - Ensure:
- Z-axis is up
- The model origin (pivot) is positioned at ground level
- Select your model and scale it by 39.37 to convert meters → Source inches
- Clean Geometry
- Triangulate the mesh (via Modifier or Export option)
- Enable Auto Smooth to ensure proper shading and vertex normals
Material and Texture Setup
- Name Materials
- Rename each material in Blender with simple, clear names (e.g., Body, Hair)
- These names will define your
.vmtfilenames later
- Export Textures
- In the Shader Editor or Image Editor, export relevant texture maps:
- Base Color / Diffuse →
my_model_d.png - Normal Map →
my_model_n.png(optional) - Alpha / Emissive → as needed
- Base Color / Diffuse →
- In the Shader Editor or Image Editor, export relevant texture maps:
Export and Convert Assets
- Export the Model
- In Blender:
File → Export → Source Engine (.SMD / .DMX) - Save as:
my_model.smd
- In Blender:
- Convert Textures to VTF
- Open VTFEdit and import each
.pngor.tgafile:- Opaque Textures: DXT1 compression
- Alpha / Normal Maps: DXT5 compression
- (Check "Normal Map" for normal textures)
- Save textures to:
materials/myaddon/my_model/my_model_d.vtf materials/myaddon/my_model/my_model_n.vtf (optional) - Open VTFEdit and import each
- Create VMT Files
- In the same folder, create
.vmtmaterial scripts matching your material names - Example:
materials/myaddon/my_model/Body.vmt
"VertexLitGeneric" { "$basetexture" "myaddon/my_model/my_model_d" // "$bumpmap" "myaddon/my_model/my_model_n" // Optional normal map "$phong" "1" "$phongexponent" "15" "$phongboost" "1" }- Adjust for transparency if needed:
- Cutout:
"$alphatest" "1" "$nocull" "1" // Double-sided- Translucent:
"$translucent" "1" - In the same folder, create
Compile the Model
- Create a QC File
- Define how the model is compiled
- Save as:
models/myaddon/my_model/my_model.qc
$modelname "myaddon/my_model/my_model.mdl" $cdmaterials "myaddon/my_model/" $body "studio" "my_model.smd" $staticprop $surfaceprop "default"- (For physics props: remove
$staticpropand add a$collisionmodelblock with a low-poly SMD)
- Compile with Crowbar
- Open Crowbar → Compile tab
- Select
my_model.qc - Click Compile
- Output files:
.mdl.vvd.vtx.phy(if physics enabled)
- Output files:
Add to Garry's Mod
- Create Addon Folder Structure
garrysmod/garrysmod/addons/MyAddon/ ├─ materials/myaddon/my_model/ ← .vmt and .vtf files └─ models/myaddon/my_model/ ← .mdl, .vtx, .vvd, (.phy) - Test in Garry's Mod
- Launch Garry's Mod
- Open Spawn Menu → Browse → Models
- Navigate to:
models/myaddon/my_model/my_model.mdl - Spawn the model and verify textures, lighting, and scaling
Tips & Troubleshooting
- Normals flipped? Recalculate normals in Blender:
Alt + N → Recalculate Outside - Invisible model? Check material paths in the
.qcand.vmtfiles for typos - Too small/large? Verify the 39.37 scale factor was applied before export
- Black textures? Ensure your
.vmtreferences correct.vtffilenames and paths