Home Technical Talk

Max - Simple Material UI edit?

polycounter lvl 12
Offline / Send Message
Ace-Angel polycounter lvl 12
Hey to all,

I was wondering if anyone knew how to edit the UI of a material one might make (real-time shader in my case), to make it look more like other materials available in Max (like those of MR or other offline shaders).

Example of what I mean:
RdvUiJf.png

As you can see, most materials are organized through simple drop/rollout bars, but for some reason, when I try applying the same code/header/divider to my stuff, it breaks syntax like now tomorrow.

It also doesn't help that many of them materials are locked for some odd reason, and I'm unable to take a peek at their real code and see who they made it so, and that's all I want to do, make simple dividers a la rollout for my material. Nothing overly fancy.

Anyone have any ideas or tips? Cheers!

Replies

  • haiddasalami
    Options
    Offline / Send Message
    haiddasalami polycounter lvl 14
    Maybe take a look at Xoliul Shader UI? Might take some more work with Maxscript/.Net
  • Ace-Angel
    Options
    Offline / Send Message
    Ace-Angel polycounter lvl 12
    Hey Haid,

    I did check out X2 shader, but the problem is, even if you do load up the core files without the custom UI build, they will still get the same funky old Max UI look, so that doesn't help me understand how things are built.

    I'm also trying to avoid all of those extra Maxscript callbacks too, because it seems even if you do include them in your material, they will still not work half of the time or throw some 'missing' issue in the code.

    I guess the only option for me (if anyone doesn't have any advice from here-on) would be to mimic X2 shader and it's UI, but all of that is kinda over my head, and WAAAY overkill.
    I'm just trying to create a simple rollout for each of the material effects/definitation (Diffuse Rollout, Specular Rollout, etc).
  • Xoliul
    Options
    Offline / Send Message
    Xoliul polycounter lvl 14
    The only way to do this is a "scripted plugin" in Maxscript, like my shader. It's about as difficult as it gets in terms of maxscript, hence why our code can be a bit flaky and could do with an overhaul (both me and RJ became much more experienced with maxscript after releasing it). Also, we put so much effort into this scripted UI, that then only works for this one, specific shader. I've thought many times about a big, generic, modular system that would create a UI for any type of FX file/shader (basically what you're asking). But that's going to be one insanely big, complex Maxscript...

    Also haidda mentions .net: that would be super-nice, but you'd need to get the window handle of the material editor to be able to parent all your dotnet UI stuff into that. I'm not sure if that is possible, as I haven't found a mention of this yet (like I said, this stuff is the "outer reaches" of Maxscript).

    Oh and Ace, you can take it or leave it, but these days, with the way Autodesk is doing things, I'm not sure if writing (big) scripts for Max is still a smart thing to do. Max is old and bloated, hasn't been going anywhere remotely interesting for the last 4 years and is actually losing functionality in terms of viewport rendering. That's a whole other discussion though.
    These days I'd be more inclined to write standalone software, or at the very least, pick a software with more of a future (like Modo). Even Maya seems like a better choice these days...
  • Ace-Angel
    Options
    Offline / Send Message
    Ace-Angel polycounter lvl 12
    Ah, OK, that makes sense sadly, I guess we can't have everything, bummer. Cheers for the answer!
Sign In or Register to comment.