Dota 2 Workshop Tools - Dynamic Material Expressions
4 replies, posted
I've been looking at the dynamic expressions in the source 2 material editor here [URL="https://developer.valvesoftware.com/wiki/Dota_2_Workshop_Tools/Materials/Dynamic_Material_Expressions"]https://developer.valvesoftware.com/wiki/Dota_2_Workshop_Tools/Materials/Dynamic_Material_Expressions[/URL] (and I must say..Mff), and I was wondering if anyone with programming knowledge would be willing to explain all this to me. I want to learn this as early as possible, as I'm looking to prepare for mapping when valve releases and FPS game for Source 2. I understand if nobody wants to help, because I understand it's not easy to teach this sort of thing, but thanks in advance!
Maybe I'm wrong but, as I see it it's just a wrapper around shaders.
You create a material (a shader with its settings) and then you can animate those values to modify the material.
For example a light emitting material could have "color" and "intensity" (as Vector4 and float) so you can change the way the material emits light.
Another possible use could be to create the effect of a sheet of paper burning.
You'd just use an "alpha-cutoff" shader and then animate the alpha value to create illusion of the paper vanishing.
All that stuff on the website you linked reminds me an lot of ShaderForge (an unity plugin that allows you to create shaders with no need for programming at all).
But without the node system, so the only difference in source will be that you will have to write the code yourself.
Maybe we could answer better if you would actually ask a specific question instead of "explain all this to me".
I'm looking to make realistic clouds with the particle editor, and am making a material for it. I was looking to create an expression that based on depth(ie, the thickness of said cloud. Either that or some other value because I have no Idea what I'm talking about), the alpha and/or color would change. In other words, the thicker the section of the cloud the darker it looks; Emulating the cloud blocking light.
I would just copy/paste code but there is no code to copy/paste, on top of that this is something I'm willing to learn. I'd hate to ask, but if possible could you write it for me, and annotate the shit out of it? Telling and explaining what is done and why?
[B][U]I'd even be willing to pay[/U][/B].
I know what you mean, but Tbh you're very far from creating a system like this.
Without having at least some programming knowledge, even a teacher won't get you very far.
Most of the "volumetric clouds" (thats the expression you're looking for) demos that I've seen are a lot more complicated than just materials/shaders.
For truly accurate volumetric clouds you will have to write the complete shader yourself (and not only the shaders)
Take a look at this to get an idea of the complexity:
[url]https://software.intel.com/en-us/articles/dynamic-volumetric-cloud-rendering-for-games-on-multi-core-platforms[/url]
But there's still hope :)
If you want to take the cheap alternative:
Create a particle system with >500 particles, a good cloud texture (better use multiple systems with different textures), set them to alpha blending (not additive!) and then adjust the color/alpha of the particles to simulate light passing through.
This will most likely cause a ton of overdraw but with enough particles and good textures the result will be about the same as with the complicated method, at the cost of performance.
If you want to add a good "god rays" effect just add stretched planes with some additive material.
Thanks for letting me know! I figured I'd have to find an alternative :p
Sorry, you need to Log In to post a reply to this thread.