I hope I didn't come across as too upset: I am a huge fan of the work you are doing. and I don't want you to feel like I am trying to say that what you are doing is anything other than awesome.
but in retort... :
I agree, that your shouldn't spend tons of time making something that nobody will use. But the fact that 98% of current shaders don't require tight control or individual passes may indicate that there aren't powerful enough tools available for people to create these new, undiscovered shaders using such techniques.
100% of people aren't buying flying cars right now. Does that mean nobody should seek out to create one?
I understand you are one person, and I know little to nothing about coding these crazy tools. The fact that you are even taking the time to converse with myself and others is reason enough to believe that you care about our opinion. I spent days typing my fingers bloody on issues I've had with the UDK's material editor (not new ideas, but features that simply don't work) and I did not receive so much as an 'acknowledged' from Epic. Keep doing what you are doing.
It seems that with shader forge, color bleeding is not working with beast lightmapping
and that really hurts a lot. Its there a trick to get around this ?
Also is scene color the way to go for screen space reflections ? If it is, can I blur the outcome ?
Bounce light, Im pretty sure color bleeding is the correct term
Well light seems to bounce, but it dosnt take the propertys of the surface into account
So I could put a white box in a pure red container, and it will bake sky color and light color, but stays unaffected by material color, so it stays white (it seems to handle shader forge as if no material was on it)
The lightmapper needs to know which texture counts as the primary color of your texture, so whichever Texture2D node you give the name "MainTex", will be read by the lightmapper as the color, multiplied by a Color node called "Color", if present.
i think it's important to note, those are limitations within Unity, not within Ace's shader tool here. even if you were to write out a shader in CG, you would still have to follow those same rules.
Since it's saturday, I'm adding some unnecessary features after having done a code cleanup sweep
Hopefully this makes the menu less poppy and more tied together:
How would i go about making a shader forge shader compatible with deferred lighting. Would i be better of re-writing the shader from scratch or is that possible?
Other then that absolutely amazing work, and can't wait for deferred rendering support
Deferred lighting is very non-straightforward, and there's no direct 1:1 translation from forward to deferred, simply because they work in very different ways.
Deferred lighting is a massive sacrifice in flexibility for a massive lighting performance gain, and at the moment, Shader Forge is prioritizing flexibility.
We'll see when deferred support makes it in - I've heard Unity might change how deferred works, so I may wait until then, so I don't have to waste time implementing it twice
And just to clarify - just inverting a regular AO won't do, you have to reverse the face normals and bake AO again, and then invert it in photoshop or on a shader level
reverse the face normals of the low poly, high poly, or both?
I baked high poly for this example. You could also baked normal poly, but it's often best to get the best result from the original, rather than calculating the one that are already baked.
is there an easier way to break links yet? this is a weird time sink and makes quick linking more cumbersome. The only way i can see for breaking links is to delete the node that's connected to something else. am I missing something or is there an easier way?
oh nice! I happened to figure out the 2nd one just now on my own (somehow) but those other ones are great. Are they documented somewhere more specific? A co-worker couldn't find it either which is why I thought it wasn't possible.
EDIT: Oh and is there a way to have a gloss map call up the mip levels of a spec map cube for IBL the same way skyshop does
oh nice! I happened to figure out the 2nd one just now on my own (somehow) but those other ones are great. Are they documented somewhere more specific? A co-worker couldn't find it either which is why I thought it wasn't possible.
EDIT: Oh and is there a way to have a gloss map call up the mip levels of a spec map cube for IBL the same way skyshop does
It's in the readme.txt included in the package.
If you want to control mip using gloss, multiply your gloss by a value like 7 or so, and plug it into the mip input of your cubemap
Hiya! It seems every time I create a shader, it breaks and I get a bright pink result like the attached shot. As you can see, I was just following your vert blend tutorial...
Shader Forge Beta 0.24 now released:
Added node: Channel Blend. This has a mask input, and outputs the sum of each mask component multiplied by the corresponding color input. Useful for triplanar blending
Added node: Noise. This will generate a pseudorandom number based on a Vector2 input as a seed
Specular Ambient Lighting now uses the fresnel term when PBL is on
The physically based lighting mode is now more accurate. Increasing specularity will now decrease diffuse
The 3D preview will now use the scene skybox as a background by default
The 3D preview will now rotate the camera around the mesh, instead of rotating the mesh itself
Comments on nodes will now be displayed in the shader code when a node is used multiple times
You can now set the ScreenPos to SceneUVs, to use as Scene Color UVs, which is useful for chromatic aberration, and other effects
The settings panel expanders now move smoothly and has cleaner code
Checking the Normal map checkbox on Texture 2D nodes will now switch the default value to Bump
Fixed a bug where only the first mesh you select for the 3D preview is applied
Fixed a bug where sliders didn't save their default value in the shader
Fixed a bug where Texture2D nodes marked as normal maps had an alpha output (This is due to how Unity decodes their normal maps)
Fixed a bug where you couldn't use object position in vertex offset
Fixed a bug where labels sometimes got the wrong horizontal alignment
Fixed a bug where you could right-click on nodes through the side-panels
Fixed a bug where the drag cursor in the settings panel appeared when hovering properties, when only a single property was present
Fixed a bug where normals weren't normalized in some cases when using a normal map
I was hoping to apply a real gradient map, like a CLUT...not just 2 colors.
Tho that is certainly a step in the right direction!
I'm hoping to achieve a very dynamic look to my tinting scheme...
OK slight problem here and its probably something im doing.. Im trying to use a simple vertex colour blend but im getting texture (Blue) where i should just be getting a blend of red and green... Any ideas?
really good work - such a cool tool! could you share any good resource regarding to area lights especially spherical area lights? i had some attempts on implementing rectangle al in a very own engine but i had some difficulties any input/ paper would be cool
There shouldn't be any issues with the vertex color node - it looks like the painted mesh isn't cleanly painted though, looking at the channels in photoshop.
@nbac: I've planned to release an example shader and tutorial for it soon
You may be right about the vertex colors. Though that doesnt explain why the error isn't there when I use the other channels. Ill attempt to find a better way of painting the verts as I am doing it by hand right now. Thanks for the help!
Hey, what's the best way to duplicate a shader? Whenever I do, I find that even if I change Shader Settings --> Path to reflect the name of the new shader, it keeps referencing the old one?
Replies
but in retort... :
I agree, that your shouldn't spend tons of time making something that nobody will use. But the fact that 98% of current shaders don't require tight control or individual passes may indicate that there aren't powerful enough tools available for people to create these new, undiscovered shaders using such techniques.
100% of people aren't buying flying cars right now. Does that mean nobody should seek out to create one?
I understand you are one person, and I know little to nothing about coding these crazy tools. The fact that you are even taking the time to converse with myself and others is reason enough to believe that you care about our opinion. I spent days typing my fingers bloody on issues I've had with the UDK's material editor (not new ideas, but features that simply don't work) and I did not receive so much as an 'acknowledged' from Epic. Keep doing what you are doing.
It seems that with shader forge, color bleeding is not working with beast lightmapping
and that really hurts a lot. Its there a trick to get around this ?
Also is scene color the way to go for screen space reflections ? If it is, can I blur the outcome ?
Do you mean Transmissive Colour (Light passing through materials) or bounced light?
Well light seems to bounce, but it dosnt take the propertys of the surface into account
So I could put a white box in a pure red container, and it will bake sky color and light color, but stays unaffected by material color, so it stays white (it seems to handle shader forge as if no material was on it)
It's a silly quirk in how the Beast lightmapper works
Do you mean the diffuse node ? That dosnt seem to work
Would you mind to elaborate ? Really dont know what you mean with primary texture
So, in short:
Hopefully this makes the menu less poppy and more tied together:
Other then that absolutely amazing work, and can't wait for deferred rendering support
Deferred lighting is a massive sacrifice in flexibility for a massive lighting performance gain, and at the moment, Shader Forge is prioritizing flexibility.
We'll see when deferred support makes it in - I've heard Unity might change how deferred works, so I may wait until then, so I don't have to waste time implementing it twice
I give you... Shader Forge version!
In game :
One thing that does require you from a external 3d package is that you need to bake the local thickness of the object.
You can either use xNormal, or simply invert the ambient occlusion of a inverted normal object. Either way works. (I used the second option)
And just to clarify - just inverting a regular AO won't do, you have to reverse the face normals and bake AO again, and then invert it in photoshop or on a shader level
High-poly, most likely. Depends on how soft you want the depth measurements to be
loving shader forge so far - just wondering if the documentation or example shaders for this video have been posted ?
[ame="http://www.youtube.com/watch?v=3tHI2J9_c9k"]Shader Forge - Real-time spherical area lights - YouTube[/ame]
cheers
depending on your time budget you could also just bake a transmission mask with knald.
Not yet!
The math used in that one isn't entirely correct, so I've planned to expand and correct it a bit first
1. Hover cursor over a connector and press backspace
2. Hold alt and click RMB on the connector
3. Hold alt and drag RMB to start cutting connections
EDIT: Oh and is there a way to have a gloss map call up the mip levels of a spec map cube for IBL the same way skyshop does
It's in the readme.txt included in the package.
If you want to control mip using gloss, multiply your gloss by a value like 7 or so, and plug it into the mip input of your cubemap
"Texture_A" at the top and the bottom
(I should really check for this before compiling the shader)
Added node: Channel Blend. This has a mask input, and outputs the sum of each mask component multiplied by the corresponding color input. Useful for triplanar blending
Added node: Noise. This will generate a pseudorandom number based on a Vector2 input as a seed
Specular Ambient Lighting now uses the fresnel term when PBL is on
The physically based lighting mode is now more accurate. Increasing specularity will now decrease diffuse
The 3D preview will now use the scene skybox as a background by default
The 3D preview will now rotate the camera around the mesh, instead of rotating the mesh itself
Comments on nodes will now be displayed in the shader code when a node is used multiple times
You can now set the ScreenPos to SceneUVs, to use as Scene Color UVs, which is useful for chromatic aberration, and other effects
The settings panel expanders now move smoothly and has cleaner code
Checking the Normal map checkbox on Texture 2D nodes will now switch the default value to Bump
Fixed a bug where only the first mesh you select for the 3D preview is applied
Fixed a bug where sliders didn't save their default value in the shader
Fixed a bug where Texture2D nodes marked as normal maps had an alpha output (This is due to how Unity decodes their normal maps)
Fixed a bug where you couldn't use object position in vertex offset
Fixed a bug where labels sometimes got the wrong horizontal alignment
Fixed a bug where you could right-click on nodes through the side-panels
Fixed a bug where the drag cursor in the settings panel appeared when hovering properties, when only a single property was present
Fixed a bug where normals weren't normalized in some cases when using a normal map
Click to see all changelogs
(Don't forget to delete the old Shader Forge before updating to this one!)
Use the Lerp node!
[A] <- Color 1
<- Color 2
[T] <- Grayscale gradient
Tho that is certainly a step in the right direction!
I'm hoping to achieve a very dynamic look to my tinting scheme...
Ah, I see! Here you go then
Cheers!
@nbac: I've planned to release an example shader and tutorial for it soon
You could show the shader itself using assets that aren't under NDA though