Unite 2017 - Realtime VFX of Spellsouls - I would really appreciate your input

@simonschreibt Hi, Nikola is on vacation so ill try to answer your questions. When it comes to the textures that intersect with other objects we currently dont do anything about it. But we do have some tech that can help us (e.g. if i cast aoe spell near the bottom or top edge we can say that some textures do not render outside of battleground but it comes with the performance price) so we might play with this in Super Polish phase :slight_smile: . When it comes to the Shaders i suggest you take a look at our Tech guys talking about them https://www.youtube.com/watch?v=vJZcbscZ4-o&feature=youtu.be

2 Likes

Im on vacation untill monday but @Stefan_Jevremovic can easily give you all the answers. Thank you Stef for steping in :wink: If you even have some tech questions we can ping our devs.

@simonschreibt Thanks a lot! :wink:

Talk to you all on monday! :wink:

Just watched it, it was an amazing talk @NikolaD! I learned quite a couple of new things and I’m happy to recognise some of my own workflows in it, too.
A while ago I also made a vfx standard shader vor upcoming projects. Maybe we could share some knowledge sometime :slight_smile:

2 Likes

Great talk, great discussion!gonna try this out. Thank you!

1 Like

Wow. That’s an amazing amount of consistently high quality work.

1 Like

I’m back :slight_smile:
Thank you all once again. I’m very glad that the talk had a good community impact, hopefully we can share more in the future.

@iNoob
Yeah, that shader is good given and very versatile. Tech-team says thanks!

@simonschreibt
Again, thanks for sharing it on. I feel honored and flattered by your praise since I have learned a lot from your own blog and research.

About the master-shader question you had - it’s basically the same thing in Unity, we do have a master shader but if change something we make a new shader variant and then it’s a new drawcall.

@essimoon
Thanks! I’m very curios about your workflows, what is same/different? Any ideas if we can improve something? And yes, sure, I would love to do some knowledge sharing!

I think all your questions were answered, yes? Anyway, if you need any additional info just ask :wink: I’ll see about posting the presentation to slide-share if I can so you can check it out.

Cheers.

2 Likes

And here is the presentation itself. I would suggest you download it so you can read the notes and see all the GIFs inside.

Enjoy.

3 Likes

Hey thanks !

Ever since I watched this Blizzard talk a good while back, I was convinced this was the way to go but wasn’t sure how to achieve this in our proprietary engine .
Turns out that:
Source - One
Destination – OneMinusSrcAlpha
is the way to go.

1 Like

Yeah thanks, i did correct it up :slight_smile:

Hi Nikola, thanks for the talk, It was great! I had the luck to be there at Unite to see it at first hand.

I´m learning shading code right now, and I´m trying to add some features of your teams shader to my own, however there are some principles I hardly struggling with, so I´m going to ask for some newbie guidance on this topic.

About the alpha erosion technique, and doing the fades in and fades out, how are they controlled and animated? Is it done via animation? Custom Data from particles?
I managed to create some alpha erosion with a slider in the material, but I´m not sure about the next step and how to control that.

If anyone could kindly point me in the right direction I would be really grateful.

Thanks!

Usually the alpha erosion is controled with the vertex color-Alpha, but u can custom as u want. I usually use custom data but it’s ur choice.
The alpha of the vertex color will return u a value of 0-1 so use it to dissolve and control it with the color overlifetime.
U can do the same with a curve in the custom data.
Good luck <3

Btw, i’m getting a nice results using an smoothstep to the dissolve texture before multiply. Just an idea.

3 Likes

Wow, I did´t even think about that what It´s a really good idea. Actually I recall using vertex color-Alpha to control some shader behaviours in Shader Forge (I´m forcing myself not to use shaderForge anymore to learn thing only by code).

Thanks! I will try that!

And thanks for the additional tip :grinning:

1 Like

Hey Omar. So in our shader we have few different erosion techniques. In most cases we use this one https://lh6.googleusercontent.com/LfO2crQicoNl-bEj86XRpQe6y6uJHY6fXDgKFpAoWbKW2Jm5GrDUfldnw5nU8WQYbkqS57-CkHjqiiZpo-CGxQa8hGZ62oQd258tUxrW_x5L43b3l9VNzyZOOpuJSEIYhUE3jOZi
Basically it works like Levels in Photoshop. Where we have two slider for dark and light control of the values.

We also have option to add another texture which blends with the fist one, and have options to say how much dark and light values are blending. We can also say the texture is cutout if we want. In Unity we can animate all properties of this blends so we can even mix them together.

Hope this helps :slight_smile:

2 Likes

Hi Stefan! Thanks so much for the reply! It helps a lot!
So as far as I understand, your process is animating the material parameters with the animation that plays the effect, am I correct?
If this is the case I have to ask; I used this kind of process a couple of times, panning a mask for a planar fade-in fade-out instead of alpha erosion (in the talk this is shown as well), but I encountered the issue that animating the material would animate the effect in anything that has the same material, so I can only use it when effects that would be play with one single instance at once. Is there a workaround about this?
Thank you so much again!

Hey Omar.
I hope i understood you question.
So i dont know what engine you use but in Unity: If you are sliding one parameter of the material, but you are not animating, then it will show the changes on all meshes that are using same material. But if you go to Mecanim and click record and slide the same parameter it will only affect the selected mesh and not any other mesh that have the same material.

cheers,

1 Like

Hi Stefan.
Thanks for your patience and for your reply.
Yes I use Unity, I have just tried animating a material and indeed, it only animates the one with the animation; maybe this has been fixed since I used this process, maybe I was doing something wrong. :weary:
Thank you so much for your explanations, I was stuck at this point and now I now exactly how to continue :grinning:, my bad bothering you with such a simple issue.
Thank you so much

1 Like