A Unity ID allows you to buy and/or subscribe to Unity products and services, shop in the Asset Store and participate
in the Unity community.
Discussion in 'Assets and Asset Store' started by Blackfire-Studio, Apr 25, 2014.
Thank you, the update is now available. I'll make a post about it.
Thanks @nasos_333 !
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.
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 !
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.
On your next update, could you include one or two character examples that include all the shader features?
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 ?
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.
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.
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.
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.
Spoiler: Material parameters
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.
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.
@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.
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.
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.
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.
Is it possible to make specular work with Light Probes only?
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.
Hey Blackfire. We're experiencing quite extreme artifacts on the self shadowing - any idea what would be causing this?
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.
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.
Start off with one or two characters that show off all the features of the shader.
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..
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 email@example.com.
News about Unity v5 compatibility?
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.
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.
// Replace in the DotaLighting.cginc - line 20
half3 lightColor = _LightColor0.rgb * 2.0;
half3 lightColor = _LightColor0.rgb;
This should fix the lighting issue and it should be updated in a coming package update.
Any changes planned in relation to the release of U5?
@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.
Hey mate, what happened with the environment shader type you had talked about?
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.
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.
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.
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 : firstname.lastname@example.org
Don't forget to rate the package and post reviews.
Here you can enjoy some other videos and screenshots.
Crowfall - Centaur Animation Preview
Crowfall - Knight Animation Preview
Your Shaders are great.
Thank you @ZJP !
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.
@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.
So, what do you mean by "full compatibility"?!
@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.
Thanks for the reply
Any news about the update. And, what about the next pack (Game Shaders Volume 2)? Why not shaders like this from XCom 2:
@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.
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.
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
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.
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.
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.
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.
how will this work on mobile, like iphone 5?
@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.
it's compatible unity 5 ?