GithubHelp home page GithubHelp logo

jacobdeanr / automdl Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nvc-dmn-ch/automdl

0.0 0.0 0.0 100 KB

Blender plugin allowing to pretend that the source engine reads .blend files

Python 100.00%

automdl's Introduction

Requires Blender 4

Installation:

In this page:

  • Click the green <> Code button at the top of the page -> Download Zip

In Blender:

  • Go to Edit > Preferences
  • Go to the Add-ons tab
  • Click Install... in the top-right of the window
  • Select the AutoMDL-main.zip, then click Install Add-on
  • Enable the checkbox to the left of the addon name

Fast iteration thanks to Hammer++'s hotloading ability:


Simplify workflow, as if the engine reads .blend files:

All the setup needed is that the .blend needs to be inside a models folder, or any subdirectory inside it!

compiling_showcase


Where the addon appears:

The AutoMDL tab will appear in the Sidebar (press N)


How to use:

  • Save .blend file anywhere in a models folder

  • Select a visual mesh and hit Update MDL

e


By default, the materials search path mirrors the blend path:

  • if blend is models/c17/post.blend
  • mdl compiles at models/c17/post.mdl
  • engine will look for materials in materials/models/c17/

Shows exactly where the VMTs are expected to be:

image

(In this case, there is 1 material called metal)



You can also define a different search path if needed (or multiple search paths):

image


You can compile without a collision model. If you choose a mesh for it, collision specific options appear:

image

Some details: Automatically detects whether the collision should be $concave or not, and counts loose parts to set the correct amount of $maxconvexpieces

Misc:

  • For convenience, it also makes the appropriate folders in materials, and makes placeholder VMTs if none exist. This can be disabled in the addon preferences
  • Should automatically detect all source engine games installed in steam, and put them in the dropdown to easily choose a compiler from. But if that detection fails it will prompt you to manually input the path to a bin folder containing studiomdl.exe (this should ideally never happen, if it does then please make an issue)

Todo:

This is my first addon and my first time coding in python so the code is so so bad

  • I couldn't figure out how to add proper linux support, but apparently it should work under proton
  • Currently exporting freezes the UI because it waits for studiomdl.exe to finish
  • It would be really cool if it could open compiled models
  • No support for skins, bodygroups, lods, bones, or anything else yet really. This is just for making making static and physics props (dynamic too) since that's what I need the addon for.

But if you have a suggestion or a bug, do make an issue


Note

  • I made this for making props in mind, for now anything else like characters is beyond the scope of this addon, sorry! (may add more features in the future though)

Hopefully this addon inspires change in other more sophisticated tools to do things in a similar way

automdl's People

Contributors

nvc-dmn-ch avatar jacobdeanr avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.