GodotVMF icon indicating copy to clipboard operation
GodotVMF copied to clipboard

A VMF importer for Godot Engine

GodotVMF

Discord Reddit Godot Asset Library

An importer of VMF files into Godot.
Useful instrument for people who used to work with Hammer and finds it most comfortable tool for level geometry creation.

Highly recommend to use Hammer++ since it support precised vertex data that allows you use concave brushes.

Why?

We with my friend @Ambiabstract didn't found any comfortable solution of 3D level design for Godot so we decided to create our own :)

Usage

Features

  • Import geometry (Also with smoothing groups)
  • Entities support
  • Hammer's I/O system support
  • Model import support
    • Requires 3rd party utility MDL2OBJ (included in the repository)
  • Material import support
  • Instances support
  • Displacements with vertex alpha
    • WorldVertexTransition materials (blend textures) will be imported as WorldVertexTransitionMaterial
  • Native VTF import
    • Supported VTF formats: DXT1, DXT3, DXT5

Known issues

  • Extraction materials and models from VPKs is not supported
  • Some of imported models may have wrong orientation

Contribution

If you have some ideas, suggestions regarding to quality or solutions of the problems above, feel free to contribute!

  • If you've added a new feature please add the relevant documentation.
  • Follow the common godot codestyle (yea-yea i'll fix the existing code in upcoming updates)

How to test

  1. Install any of Source Engine Games (L4D, HL2, TF2)
  2. Unpack all textures and models from VPKs
  3. Decompile most complex maps
  4. Try to import decompiled maps in Godot.
  5. Check for errors if they appear.

Additional things

  • Source code of MDL2OBJ: https://github.com/H2xDev/mdl2obj
  • Demo: https://www.youtube.com/watch?v=5XYfvbIAlJU

Special thanks

@Ambiabstract - help and inspiration
@Lachrymogenic - test on linux and performance test
@SharkPetro - materials test

License

MIT