Search Unity

  1. Calling all beginners! Join the FPS Beginners Mods Challenge until December 13.
    Dismiss Notice
  2. It's Cyber Week at the Asset Store!
    Dismiss Notice

Game Shaders Volume 1 - Dota 2 [Released]

Discussion in 'Assets and Asset Store' started by Blackfire-Studio, Apr 25, 2014.

  1. Blackfire-Studio

    Blackfire-Studio

    Joined:
    Dec 17, 2013
    Posts:
    166
    Thank you, the update is now available. I'll make a post about it.
    Thanks @nasos_333 ! :)
     
  2. Blackfire-Studio

    Blackfire-Studio

    Joined:
    Dec 17, 2013
    Posts:
    166
    Thank you !
    I've never used Sunshine but from what I've seen from the documentation it seems that you can include the Sunshine features inside the Dota 2 shaders.
    BUT you need to be aware of some things that could cause this to not work.
    • Multi-compilation : As there are already multi-compilation in the Dota 2 shaders, adding more could cause some issues - Making multiple shader program variants.
    • Input interpolators limit : I don't know how much interpolators Sunshine uses when you add SUNSHINE_INPUT_PARAMS; but this can also cause some issue as Dota 2 shaders are near the interpolator limit.
    I am not saying that this won't work but you'll need to do some modifications and maybe delete some features from the Dota 2 shaders.
    I'll add the Sunshine support on the list and see what I can do.

    The Game Shaders Volume 1 - Dota 2 includes shader sources, if you are comfortable with shader development, you can easily make your own changes.

    This package doesn't need any camera FX. :)
     
    Last edited: Sep 30, 2014
  3. Blackfire-Studio

    Blackfire-Studio

    Joined:
    Dec 17, 2013
    Posts:
    166
    The Game Shaders Volume 1 - Dota 2 version 1.0.4 is available on the Asset Store !
    You are now able to use the shader in combination with the Unity Light Probes.


    Take a look at the demo : Game Shaders Volume 1 - Dota 2 Demo 4
    Thank you ! :)
     
  4. Atmey

    Atmey

    Joined:
    Nov 3, 2012
    Posts:
    88
    Ok, thanks, I'll keep an eye on this, unfortunately I am not 100% familiar with the shader scripting, I might look more into it when I get the time.
     
  5. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    4,961
    On your next update, could you include one or two character examples that include all the shader features?
     
  6. Blackfire-Studio

    Blackfire-Studio

    Joined:
    Dec 17, 2013
    Posts:
    166
    Unfortunately, I can't include any character from the demos but I can include some Unity characters.
    What king of feature do you want to be illustrated ?
     
  7. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    4,961
    At the moment I don't have any special requests. Using Kyle and/or the mecanim dude would be fine. I think it would help me understand the system better if I could see all the parts in action.
     
  8. Blackfire-Studio

    Blackfire-Studio

    Joined:
    Dec 17, 2013
    Posts:
    166
    Yep, This is a good idea. :)

    I suggest you to take a look at the Dota 2 Workshop Documentation : Shader Masks Guide
    There is an explanation about every texture channel, this might help you understand the system.
     
  9. Atmey

    Atmey

    Joined:
    Nov 3, 2012
    Posts:
    88
    Okay, I went and bought it.

    Is there performance difference between the simple and advanced?

    Also few requests:
    A guide on what each parameter does, preferably with screenshots
    When changing the shader from diffuse to this, the texture is not set.
    Tint option, especially for transparent, making something slowly disappear.
    Shadowed transparency, but when I read further into it I understood it has something to with all shaders.

    Thanks.
     
  10. Blackfire-Studio

    Blackfire-Studio

    Joined:
    Dec 17, 2013
    Posts:
    166
    Thank you for your purchase @Atmey !
    Yes, in the simple shader some computation are bypassed that's why the simple shader is a bit faster.
    A documentation with screenshots will be added. This guide will help you understand each parameter. As suggested before, you can take a look at the Dota 2 Workshop documentation. And here is a list of the parameter and a text description.

    • Alpha Cutoff: Control alpha cutoff
    • Ambient Scale: Scale ambient light and spherical harmonics
    • Diffuse Warp (RGB): Remap diffuse lighting to gradient
    • Diffuse Warp Blend To Full: Blend diffuse warp from masked to all-over
    • Specular Warp (RGB): Remap specular lighting for iridescent effects
    • Specular Warp Intensity: Blend from regular specular lighting to specular warp
    • Color Warp (RGB): 3D texture. Color warp albedo using RGB color-space lookup table
    • Color Warp Intensity: Control the intensity of the effect
    • Fresnel Color Warp (RGB): 3D texture. Fresnel-based color warp using RGB color-space lookup table
    • Fresnel Color Warp Intensity: Control the intensity of the effect
    • Fresnel Warp (RGB): Gradient ramps for intensity of fresnel terms. red is rim light, green is fresnel color warp, blue is specular.
    • Fresnel Warp Blend To None: Blend between default fresnel and fresnel warp.
    • Detail 1 (RGB): Detail map which can be masked by mask 1 red channel.
    • Detail 1 Scale: Scale detail as multiplier of base UVs
    • Detail 1 Blend Mode: Off, Add, Self Illumination, Mod2x
    • Detail 1 Blend Factor: Detail blend factor
    • Detail 1 Blend To Full: Blend detail from masked to all-over
    • Detail 1 Scroll Rate: Speed of detail scrolling
    • Detail 1 Scroll Angle: Angle of detail scrolling
    • Specular Exponent: higher is glossier. Affected by Alpha channel of Mask 2.
    • Specular Blend To Full: Blend Specular from masked to all-over
    • Specular Color: Color to use for tinting the specular highlights wherever the tint-by-base effect is not active
    • Specular Scale: Scale specular intensity
    • Mask Environment by Metalness: Use metalness to mask environment rather than using specular mask
    • Environment (RGB): Cube-map based reflection
    • Environment Intensity: Overall intensity of environment.

    • Rim Light Scale: Scale rim light by this amount
    • Rim Light Blend To Full: Blend rim light from masked to all-over
    • Rim Light Color: Tint the rim light
    • Self-Illumination Blend To Full: Blend self-illumination from masked to all-over

    That's right this is because Unity's default shaders use _MainTex as name for the texture and I am using _basetexture to match some specifications. This could not not be considered as an issue but if this is not convenient, I can change the naming of my variables.
    Nice idea, this was not present in the Dota 2 specifications that's why I didn't included it, but this could be very usefull.
    If you are talking about glass transparency, this can't be done easily and didn't find any information about this concerning Unity.

    Thank you for you ideas and requests, don't forget to rate the package and to post a review ! :)

    Edit: Added list and explanation of material parameters.
     
    Last edited: Oct 15, 2014
  11. Atmey

    Atmey

    Joined:
    Nov 3, 2012
    Posts:
    88
    Trying to work with masks, facing some problems, I am trying to set diffuse warp mask, but I want to apply it to everything, so I painted the whole mask green, but becomes too bright, I suspect it has to do with the alpha mask (self illumination), the results are either too bright or too dark, plus the alpha mask can be 100%

    Again if you can give a working example scene with all the masks/features used. Also the default warps.
    Thanks.
     
  12. Blackfire-Studio

    Blackfire-Studio

    Joined:
    Dec 17, 2013
    Posts:
    166
    @Atmey A documentation file is on its way presenting every property of the shader. The documentation will contain screenshots and explanations of course. :)
    In the meantime, if you agree, you can send me an email with a package with your materials, textures and models so I can take a look at your problems.
     
  13. Atmey

    Atmey

    Joined:
    Nov 3, 2012
    Posts:
    88
    For example, I want a material that doesn't self illuminate, so I need to set the alpha to 0, but it doesn't work as all the other channels will be 0 as will ( I want to set green at 100%).

    Currently I have alpha at 1%, but I like the material without the mask, I just want to do little adjustment to the diffuse warp, but I had to create a new one, trying to mimic the default output but couldn't.
     
  14. moure

    moure

    Joined:
    Aug 18, 2013
    Posts:
    184
    Thats not the case :) The shader reads each channel seperately, as if it was a seperate image. So having an alpha channel of value 0 doesnt mean that all your others channels will become 0, even if in your windows thumbnail or viewer might seem like it. Make sure though you use an image format that supports r-g-b-a channels (like png, tiff, psd) and also if you still have issues you can set the texture type inside unity to advanced and chose rgba format to be sure that all your channels stay as you made them.
     
  15. Blackfire-Studio

    Blackfire-Studio

    Joined:
    Dec 17, 2013
    Posts:
    166
    As explained by @moure, the shader reads every channel of the texture (Red, Green, Blue and Alpha) separately. Changing the Alpha channel in you texture shouldn't affect the other ones.
    Are you using a texture format (.png, .psd, .tga, etc...) that supports Alpha ? Did you a set a format that supports Alpha in the Import Settings in Unity ?

    If you want to control the Diffuse Warp property, you need to use the Green channel of the Mask 1 as explained in the Dota 2 - Shader Masks Guide.
    This property is very sensitive, you don't need to set a very low value for your Green channel. I suggest you to play with this channel inside your 2D software until you find a result that suits to you.
    You don't need to mimic the default output as it will be blended with the Diffuse Warp gradient according to the Green channel of the Mask 1.

    I hope it helps, if you have any other question, feel free to ask. :)
     
  16. Banzaychik

    Banzaychik

    Joined:
    Jul 2, 2014
    Posts:
    2
    Is it possible to make specular work with Light Probes only?
     
    Last edited: Nov 26, 2014
  17. Blackfire-Studio

    Blackfire-Studio

    Joined:
    Dec 17, 2013
    Posts:
    166
    Hi @Banzaychik, could you explain what you mean, what are you trying to achieve ?
    Actually, the Spherical Harmonics Lights and Ambient Lighting have no direct influence over specular.
     
  18. cowtrix

    cowtrix

    Joined:
    Oct 23, 2012
    Posts:
    279
    Hey Blackfire. We're experiencing quite extreme artifacts on the self shadowing - any idea what would be causing this?

     
  19. Blackfire-Studio

    Blackfire-Studio

    Joined:
    Dec 17, 2013
    Posts:
    166
    Hi @cowtrix,
    These artefacts are caused by the Unity light's shadows. The shaders are using a half-Lambert lighting model as described in the Valve documentation.


    Alyx model showing Lambertian lighting (left) and Half Lambert lighting (right)

    As you can see, this gives a much smoother result but shadows won't be mingled with the shader shading as they would be in the Lambert lighting model.

    What you can try is to change the bias of your light and increase the softness of the shadows or make it more sharp then you will reduce these artefacts.
     
  20. Blackfire-Studio

    Blackfire-Studio

    Joined:
    Dec 17, 2013
    Posts:
    166
    Hey everyone,

    I've received a lots of emails asking me to provide some of the demos with the package. I would like to know in which demo are you interested in ? :)

    Thank you very much.
     
  21. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    4,961
    Start off with one or two characters that show off all the features of the shader. :)
     
  22. OP3NGL

    OP3NGL

    Joined:
    Dec 10, 2013
    Posts:
    246
    Hi Blackfire,

    Would you mind sharing your unity project of the web player demo [dota2/dishonered] & pm me? i would like to know/understand the settings used in your shaders....

    also your shaders work well with dynamic sky dome too..

    EDIT: i also would like to add that your shaders work well with PS4 SDK.. The most surprising thing i saw was the increased in performance/FPS instead of using shaderforge's shaders.. :p
     
    Last edited: Dec 26, 2014
  23. Blackfire-Studio

    Blackfire-Studio

    Joined:
    Dec 17, 2013
    Posts:
    166
    Sorry for the late reply and thank you for your kind words @OP3NGL I am glad to see that you've improved your performance by using my shaders. :)

    Concerning your request, I suggest you to send me an email, I'll send you a package with the dishonored scene and the associated assets made by Svein Yngve Sandvik Antonsen.

    Unfortunately, I don't have the right to share the Dota 2 demo but the setup is very simple. You just need to download the models and texture in the Dota 2 Workshop and use the VMT files values in the Unity material.

    Don't forget to rate the package and post reviews.
    If you have more questions, feel free to ask or send me an email contact@blackfire-studio.com.
     
  24. ZJP

    ZJP

    Joined:
    Jan 22, 2010
    Posts:
    2,646
    Hi,
    News about Unity v5 compatibility?
     
  25. Atmey

    Atmey

    Joined:
    Nov 3, 2012
    Posts:
    88
    I tried them a while ago in 5, there worked fine but were too bright, I had my ambient scale up, so it could be a multiplier issue, I didn't test them thoroughly, was interested in my project overall.

    Hopefully the blackfire will make them more compatible.
     
  26. Blackfire-Studio

    Blackfire-Studio

    Joined:
    Dec 17, 2013
    Posts:
    166
    Hi @ZJP, it should be compatible with Unity 5.
    The light issue is cause by, as you said, a multiplier issue caused by Unity 4.
    This comes from the Unity 5.0 Beta 22.
    Code (CSharp):
    1. // Replace in the DotaLighting.cginc - line 20
    2. half3 lightColor = _LightColor0.rgb * 2.0;
    3. // by
    4. half3 lightColor = _LightColor0.rgb;
    This should fix the lighting issue and it should be updated in a coming package update. :)
     
  27. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    4,961
    Any changes planned in relation to the release of U5?
     
  28. Blackfire-Studio

    Blackfire-Studio

    Joined:
    Dec 17, 2013
    Posts:
    166
    @hopeful I don't have any big new feature to add unless if you suggest me one :)
    For the moment the shaders are always working and supports almost every lighting features of Unity 5 but I'll make an update to handle everything and maybe improve the material inspector.
     
  29. moure

    moure

    Joined:
    Aug 18, 2013
    Posts:
    184
    Hey mate, what happened with the environment shader type you had talked about?
     
  30. Blackfire-Studio

    Blackfire-Studio

    Joined:
    Dec 17, 2013
    Posts:
    166
    Thanks @moure for your comment, you're right there is the environment shader it will be released in the mean time. I don't forget the roadmap. :)
     
  31. Blackfire-Studio

    Blackfire-Studio

    Joined:
    Dec 17, 2013
    Posts:
    166
    Hello everyone,​

    I would like to present you Crowfall. It is a new type of Massively Multiplayer Online Role Playing Game (MMORPG) by ArtCraft Entertainment. The Worlds of Crowfall feature unique maps, rules, and victory conditions. Every World is different, and players join teams (Factions, Guilds or Noble Houses) to vie for control of each World.

    CF_Marquee_Long_logo.jpg

    I am talking about Crowfall because they use the Game Shaders Volume 1 - Dota 2 package for their demo footage. But better than words, I let you enjoy those screenshots where you can appreciate the great style of the game.

    Crowfall_Ass1Gameplay12.jpg Crowfall_C1Gameplay.jpg Crowfall_CharacterCreate_preview.jpg Crowfall_T1Gameplay.jpg

    Follow them on Twitter : Crowfall
    Don't forget to take a look at their Kickstarter : Crowfall - Throne War PC MMO

    You can also follow Blackfire Studio on Twitter or Facebook and if you have ideas, suggestions or even bug report... Don't hesitate to write me a line at : contact@blackfire-studio.com

    Don't forget to rate the package and post reviews. :)
    Thank you.
     
    Last edited: Mar 25, 2015
    ZJP likes this.
  32. Blackfire-Studio

    Blackfire-Studio

    Joined:
    Dec 17, 2013
    Posts:
    166
    Here you can enjoy some other videos and screenshots. :)

    Crowfall_CharacterCreate_runes.jpg Crowfall_TemplarPreview.jpg

    Crowfall - Centaur Animation Preview


    Crowfall - Knight Animation Preview
     
    ZJP likes this.
  33. ZJP

    ZJP

    Joined:
    Jan 22, 2010
    Posts:
    2,646
    Your Shaders are great. :cool:
     
  34. Blackfire-Studio

    Blackfire-Studio

    Joined:
    Dec 17, 2013
    Posts:
    166
    Thank you @ZJP !
     
  35. Augmented_Island_Studios

    Augmented_Island_Studios

    Joined:
    Feb 16, 2012
    Posts:
    58
    Wow I just found this asset and fell in love immediately!

    I read there is or will be compatible with Shader Forge, is on this version or is going to be for 2.0?

    @Blackfire-Studio Hi, I tagged you because I really want to buy it but I'm waiting for the answer to be sure, maybe you get a notification for the tag, sorry for poking.
     
    Last edited: Apr 4, 2015
  36. Blackfire-Studio

    Blackfire-Studio

    Joined:
    Dec 17, 2013
    Posts:
    166
    @Ga2Z The Shader Forge compatibility is a feature I want to develop but I can't provide any release date. I am actually working on my snow shader and it takes a lot of time.
    The next features for this package is a full compatibility with Unity 5 (btw : the shaders are already working on Unity 5), an environment shader and a Shader Forge version.
    Don't forget that the sources of the shaders are included so you can take a look at them.
     
  37. ZJP

    ZJP

    Joined:
    Jan 22, 2010
    Posts:
    2,646
    So, what do you mean by "full compatibility"?! :D
     
  38. Blackfire-Studio

    Blackfire-Studio

    Joined:
    Dec 17, 2013
    Posts:
    166
    @ZJP By full compatibility, I am talking about all the new GI features, reflection probes, some alpha features, etc. even if some of them are already supported.
     
  39. ZJP

    ZJP

    Joined:
    Jan 22, 2010
    Posts:
    2,646
    Thanks for the reply
     
  40. ZJP

    ZJP

    Joined:
    Jan 22, 2010
    Posts:
    2,646
    Hi,

    Any news about the update. And, what about the next pack (Game Shaders Volume 2)? Why not shaders like this from XCom 2:
     
  41. Blackfire-Studio

    Blackfire-Studio

    Joined:
    Dec 17, 2013
    Posts:
    166
    @ZJP Thank for the question. For the moment the package is working well on Unity 5 and I am focusing on updating the Winter Shaders package for Unity 5.
    I don't forget this package but as I am working on those on my spare time, the advance could vary a bit. I also don't want to make a simple conversion of the package for Unity 5, I would like to integrate new feature such as wrapped PBR lighting. :)
     
  42. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    4,961
    If this shader had an option for a black illustrative style outline, that might be helpful for my current project. I'd like to be able to use outlining as a method of showing which characters the players can interact with.
     
  43. Blackfire-Studio

    Blackfire-Studio

    Joined:
    Dec 17, 2013
    Posts:
    166
    Hi @hopeful,
    For the moment this feature is not planned as it is not part of the Dota 2 shaders specifications. I suggest you to take a look at different outline and highlight products available in the asset store, they might help you for your project. :)
    Here is an example : Highlighting System
     
  44. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    4,961
    Thank you, I'm aware of that plugin, but what I'm looking for is more of a simple black outline, as you often find with toon shaders ... and I already have a few of those, but they all lack additional features, being mainly designed for low end mobile.

    I understand that adding an outline is relatively simple, if you know shader coding, which I don't. I guess I will have to learn it, though, because I can't find what I'm looking for anywhere.
     
  45. Blackfire-Studio

    Blackfire-Studio

    Joined:
    Dec 17, 2013
    Posts:
    166
    What kind of advanced features are you looking for (outline thickness, outiline color, etc.) ? Did you try Shader Forge, this is a very cool tool that might help you understand shader development without having to dig too much into coding.
     
  46. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    4,961
    I haven't tried ShaderForge, but it's looking more like the direction I'll have to go. I know there are online tutorials that give the code for outlining, but that wouldn't help me add outlining to an existing complicated shader like Unity's standard shader.

    As for the outlining, it's not so much that it has to be advanced. It could be something a lot like the outlining screen effect that Unity has. The only thing is I'd like to have it added to a shader capable of more complex imagery, such as emission, like your Game Shader or the Unity standard shader.

    But you're right. ShaderForge is probably the way to go. I've been hesitant about it, but now I'm thinking you're right and it's the obvious solution.
     
  47. Blackfire-Studio

    Blackfire-Studio

    Joined:
    Dec 17, 2013
    Posts:
    166
    As you said, there are a lot of tutorials and examples which might ease the pain of going into shader development. :)

    This might not be the best solution but if you have only one material for your object you could try finding an outline shader with alpha. Then you'll be able to apply the base material you need and the outline one, which might give you the effect you are looking for.
     
  48. FuzzyShan

    FuzzyShan

    Joined:
    Jul 30, 2012
    Posts:
    174
    how will this work on mobile, like iphone 5?
     
  49. Blackfire-Studio

    Blackfire-Studio

    Joined:
    Dec 17, 2013
    Posts:
    166
    @FuzzyShan, I don't have an iPhone 5 to test it but I had some good feedback concerning compatibility and performances from users about the package working on iOS and Android but it depends of the device of course.
    If you are facing some issues just let me know, we will try to find a solution and if the product doesn't fit your needs you can simply ask for a refund.
    Tell me if you have any other question.
     
  50. kilik128

    kilik128

    Joined:
    Jul 15, 2013
    Posts:
    875
    it's compatible unity 5 ?