Oct 052016
 

Disclaimer : This post is a constant WIP, I try to keep it updated but I may not always have had the time to look into the latest patch!

Hello everyone,

First off, there’s a tl;dr at the bottom. Secondly here’s a third look at what I’ve found while using Shader Forge and the Amplify Shader Editor, we’ll start by taking a look at two simple node networks that do the same thing and look at the output code.

Continuing on I’ll write some thoughts and finally a few lines on how I use (both) of these  in my Eco Tales : My Item Shop workflow.

Shader Forge

oct5th_ecoshaderforge

Shader File : An SF .shader file contains the actual code for vertex and fragment shaders in three passes for forward rendering; this gives of a file filled to the brim with information, 390 rows to be precise in the case of the forward version found below.

The deferred version adds a deferred pass and weighs in at 538 very interesting lines of code!

Amplify Shader

oct5th_amplifyshader

 

Shader File : An ASE .shader file contains a single surface shader, it’s very easy to read and it’s remarkably similar to the way I’d’ve written it by hand had I not used a node editor, very possible to write and the one found below measures in at 68 rows, should you wish to compare, just download both of them.

oct5t_ampsf01 oct5t_ampsf02

 

Shader Forge (as of version 1.29)

The play test : After updating to version 1.29 I’ve yet to get any crashes whilst entering play mode. You will have to make sure you compile the shader before entering into play mode however as it locks into a “Saving…” mode if you have not, this forces you to close the window and reopen it.

Another issue is that, if you “Maximize on Play” and have Shader Forge as a non-floating window, it will auto-shut down forcing you to reopen it.

Usability : The way it’s possible to hold down a letter/number to quickly get to a node is wonderful, holding will allow you to pop a Value node down, holding will send up a list with all nodes starting with an L, it’s a wonderful system once you’ve learned the shortcuts.

There is a code node currently available, it works well but is cumbersome to work with, sadly as of today that is the only way of getting a “custom node” into Shader Forge.

Final Thoughts : Shader Forge does in many ways feels like a complete package, there are some things which are not optimal but once you get used to them, you’ll be able to manage just fine.

As for if the package is still alive, as of Unity 5.5 there have been some issues reported (I’ve yet to experience these personally), the main huge asset breaking issue was resolved instantly and therefor I’d say that, yes, Shader Forge is still alive. If you’re looking for speedy updates and customizability, you may want to scroll down to Amplify Shader.

With that said, it’s an amazing package and the node part of the interface at the time of writing works better than Amplify Shader’s does.

Is it worth its price? At $90 it’s “expensive” as far as asset packs are concerned, and certainly more expensive than Amplify Shader, in many ways it’s still ahead of Amplify but unless a 2.0 is somewhere around the corner, this may not stay true for long. With that said, I in no way regret the money I spent on Shader Forge, despite now having access to Amplify Shader, I would buy it all over again.

Amplify Shader (as of version 0.2.6_dev01)

The play test : I’ve yet to experience any crashes while using ASE in play mode.

Usability : It’s feeling less and less like a beta. As more and more nodes are added to the asset, things are really looking bright for Amplify Shader, these, of the ones I’ve tried so far, also create really manageable code which is, incredibly easy to read.

However, there are still no real shortcuts that I’ve found, other than for comments; and using RMB to open a window with a search, containing a lot of, if not cryptic, then less intuitive node names than those found in SF; SF’s hold a letter and select is by far my favorite way to place nodes.

Finding nodes by the string compare doesn’t really work either as a lot of the node names can be rather strangely named, some of these could be named by the community however, and that may be the reason.

Which leads me to the customizability of Amplify Shader, it’s in one word “incredible”. Users can easily code their own nodes which can then be shared with the community, sometimes they’re even added straight into Amplify Shader itself.

Is it worth its price? As of beta 3 it’s $30, that’s a steal, even if the only reason you buy it is to create base shaders to expand upon, it’s worth it.

My workflow on Eco Tales : My Item Shop

A workflow that I’ve found to be rewarding is this, I first, due to the ease of prototyping within Shader Forge create the sample shader here; then, when I feel that the shader is done, I’ll remake it in Amplify Shader, should this not be possible, I’ll keep the Shader Forge shader and then maybe, I’ll be able to create an Amplify Shader version in a few betas.

Shaders

Next up, the shaders, feel free to download and have a look!

Amplify Shader Editor Shader

Shader Forge Shader

Shader Forge Deferred Shader

tl;dr


As of right now, I’d go for both, Shader Forge is “expensive”, but working inside of it is fast and intuitive, not to mention that you get the actual code which you could look through and learn a thing or two.

Amplify Shader will surely only get better, and at its current price point, it’s a steal, the shaders are very easy to read and with some work, Amplify has the potential to take the throne from Shader Forge.

 

Tutorials


Here are a few tutorial-series I’ve made to show off the workflow, so far only Shader Forge is represented below.

 ToDo


Performance Test.

Tutorial Section.


If you like this post, or think others may find it useful, then please consider retweeting it or sharing it on Facebook!

 Tagged with:
Sep 132016
 

derp_villain_01Hey!

Almost didn’t catch the camera on time, loads of things have happened this week and there are some very exciting things on the horizon for the KJs, you should look at what they’ve been up to, looks interesting.


J Here’s something which most of the little Eco people will be quite happy to see, it won’t however influence Lech in the slightest.

Without wasting any more time, here’s the first hair prototype! Still not 100% sure if planes are the way to go, but sculpting each and every hairdo is going to take too long, and that may have decided this for me.

sep10th_hairmaya

Above you can see what the hair looks like inside of Maya, not really the most good looking thing I admit, glad I managed to struggle through and get it into Unity, maybe I shouldn’t see this, but out of all the images in my part of the post, this is the most important one, why? Well, read on why don’t you?

Important to note is that all of the three meshes above, left : black alpha mess, mid : loads of planes, right : planes using the vertex normals of a sphere, actually have the exact same geometry.

Most interesting of the above is undoubtedly the model to the right, why have I edited the normals to make it look like that? To know this we have to deepen our understanding of how specular highlights (or in real world terms reflections) travel along a hair “surface”.

I’ll keep this short and sweet; since a hair “surface” in the real world is actually composed of thousands upon thousands of micrometer thin tubes, each of which has its own specular highlight. Any light falling upon this “surface” will be stretched along each strand defining it as an anisotropic or directional dependent light distribution.

anisovsiso

Isotropic (uniform) – Anisotropic (directionally dependent)

Don’t take this as the absolute truth, in reality it’s much more complicated, however, this is how we can look at it when creating a shader to visualize hair.

Here’s a video of a test I created for Legends of Aethereus back in the Unity 3.5 Alpha, look at the black hair, that’s what I’ve been babbling about for what must feel like ages!

sep11th_hairtexture

Here’s the texture that currently drives the hair, two small patches of thick and thinner clumps of hair which have been placed with a few percentages of randomized scale and rotation. R and G controls alpha cutting; B and A controls alpha blending.

sep11th_hairupdate

Finally we have the in engine result, where I have, for now at least, skipped everything we just talked about. Instead, every hairdo currently undergoes two separate shader passes, the first one, is a double sided alpha cutoff, and the second, an alpha blend to create the thinning at the edges of the do.

Looking at the outline of the hair, you can tell that I’ve made good use of the manipulated normals, using a Fresnel effect to highlight the edges and make it look even more as if it’s a whole rather than a load of separate planes.

I might be back next week with an aniso-shader, however, I’m afraid it’s going to look too photo-real, and that’s not something we’re looking for.

sep11th_bush

With a lot of hair research, creating and trashing, the only other thing I’ve had time to create was this bush, at the time of creation I thought that the difference in hue and brightness of the different leaves was enough, looking at it with fresh eyes, I realize that this asset will need another hour.

Now I’ve only got one more paragraph until I’m done, if you look at the leaves, could you guess that they were created inside of Substance Designer? Pretty cool, isn’t it?


K We are on a roll, we have some super exciting news that we won’t be sharing just yet.

We have been putting more focus on the shop part of Eco Tales this week and and will continue doing so for  some time now. I’ve started with the customer and shop interaction and more specifically I’ve begun with pathfinding.

In the store the customers will be able to walk around, look at the goods before possibly come to the decision to make a purchase and if you manage your store like a pro you want it to be full of customers and that is why we have pathfinding with local avoidance so the NPCs just wont stand tightly squeezed into a small shop but they will walk around the other customers to get to there point of interest.

Pathfinding with RVO local avoidance

Pathfinding with RVO local avoidance


As always, if you like this post, then please consider retweeting it or sharing it on Facebook!

 Tagged with: ,
Aug 312016
 

Hello my lovely Devs!

Tired of hearing (read as reading) future customers and other developers say (write) “Looks like it’s made in Unity”, well, be tired no more!

By writing your own custom Screen Space effects, your game will look like no other game ever conceived! I mean just look at Eco Tales, have you ever seen a cuter character than our very own Lech?

Skinning clothes

Adorable

You may have guessed it! Today I’m kicking off a tutorial series on creating post effects inside of Unity using Shader Forge, if it becomes popular, I’ll continue. For now it’s just two introduction videos which should be able to set you off on your own adventures!

In part one we create the base of all screen space effects, the script needed on the camera to make the shader do it’s magic as well as a simple one color shader, just to see how simple it is to get into post process shaders inside of Shader Forge.

In part two we look at screen space UVs and manipulate these to create a simple distortion effect.

If you learned something new please consider tweeting it or sharing it on Facebook!

 Tagged with: ,
May 122016
 

Hello everyone especially all of you students from Uppsala University, hope you enjoyed our little talks, I sure did.

Today we’ll be looking at creating a super simple shader which will make grass, or any object for that matter, maybe a flag or tree branches, flow in the wind, based upon a vertex paint and a single scalar value.

At the bottom of the post you will find a .rar file with a mobile (unlit) and a PBR version of the shader, ready to open inside of Shader Forge.

First up, a semi-short video where we look at vertex painting in Maya, 3Ds Max and Blender.

In part two we create the shader inside of Shader Forge.

Or if you’re in a hurry, here are the actual Grass Shaders!

 Tagged with: , , , ,