Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon
3. May 2018


Unity 2018.1 was just released and one of the major new features is Shader Graph, a new visual programming language for creating shaders.  In this article we are going to look at how to enable and use Shader Graph.  There is also a video of this tutorial available here or embedded below.


First off, to get started using Shader Graph, be sure to be using Unity 2018.1 or later. 

Next, start Unity and create a new project.  I used the following settings:

image

Shader Graph is fully compatible with the new light weight render pipeline.  For the record, Shader Graph does NOT work with the current HD pipeline, this feature is under development. There is no need to add any new packages… yet.  Once ready, click Create Project.  Once your project is loaded, go ahead and create a new scene.

image


We need some kind of object to apply our shader to, simply right click the newly created scene in the Hierarchy view, select Create->Sphere.

image


Now we need to enable Shader Graph functionality in Unity.  Click Window, then select Package Manager.

image


In the resulting window, select All, then Shadergraph, then Install.  This will take a few seconds.

image


Now that Shadergraph is enabled, let’s create one.  In the Project panel, I created a new folder called Shaders.  Right click the newly created folder and select Create->Shader->PBR Graph.

image


I called mine MyShader, name yours whatever you want.  Except Dilbert; that’s a stupid name for a shader!

image


One more small bit of setup before we start creating shaders!  We need to create a material that we will attach our shader to and ultimately apply to our sphere mesh.  Right click the Materials folder and select Create->Material.

image


I called mine MyMaterial, again, name yours whatever you want… even Dilbert.  Make sure your shader is selected and showing in Inspector, then simply drag and drop your newly created shader on it.

ApplyingShader


Finally drag your material to the Sphere you created earlier.  Phew… ok, time to create our shader.  Simply double click the shader and the Shader Graph editor will be create.  A new project should look something like this:

image

You can zoom the design surface in and out using the mouse wheel, hold down the middle mouse button to pan the surface around.


The PBR Master can be thought of as the ultimate output of the shader.  You have a choice between Metallic and Specular by dropping down the workflow tab.  The blackboard is the section to the top left and can be used to configure parameters as we will see in a moment.  The bottom right region is a preview of the shader, this window can be resized.


Create a shader is now a matter of creating a network of nodes and connecting them together.  Let’s show a simple example of connecting a texture map to the Albedo channel.  Right click an empty point on the canvas, select Create Node->Input->Texture 2D Asset.

CreatingATextureNode


Now click on the red circle to the right of out and drag to an empty portion on the canvas.  Select Input->Sample Texture 2D, then connect the RGBA out pin to the Albedo in pin on the PBR node, like so:

ConnectingTheTexture


At this point, we have the equivalent of a diffuse texture defined in our shader, now head back to the Texture 2D Asset, click the little circle to the right of the texture field and select a texture to apply.  Pick a compatible texture from your project. 

image


You shader preview should now show the updated texture:

image


Now what if you wanted the texture to be defined as a parameter in the editor instead?  This is where the Blackboard comes in.  In the Blackboard, click the + icon to the right side, then select Texture.

image


Name it however you want, I called it SourceTexture in my case.  Also optionally provide a default texture value using the example same process we just did above.

image


Now let’s replace our hard coded texture with a parameter instead.  You can remove a node by left clicking it and hitting the delete key.

ConfigureAProperty


Now this parameter can be defined in the editor.  Select the Sphere we created then applied our material too in the Hierarchy view.  In the Inspector under the Material, you will now see a new parameter matching the name you just provided:

image


You can also easily see the source code generated by a shader by right clicking the output node and selecting Copy Shader.

image


The HLSL code of the shader will have just been copied to your clipboard.


So, that’s the basics of using Shader Graph.  Now it’s mostly a matter of creating the appropriate input nodes, modifying them and connecting them to the appropriate in pins on the PBR Master output node.  Getting into the details of how this works is beyond the scope of this tutorials, shader programming is a VAST subject and could fill many books.  I’m not going to just leave you hanging though…  now that you know how to enable and use the tools to create Shader Graphs it would be an ideal time to get your hands on some samples and dig deeper.  Thankfully Unity have provided exactly that, available for download here on Github.


The Video

Art Design


20. April 2018


Dust3D is a new application unlike any other 3D modeller I’ve used.  It’s free, open source, runs on Mac and Windows, with Linux support possible if you compile it yourself.  What makes it unique however is it’s approach to modelling.  Essentially you model by create a series of circles along two axis, which act as loft points for the generated mesh.  Really it’s one of those things you need to see in action to understand… thankfully I’ve made this video showing exactly that.



Dust is certainly not for creating highly detailed 3D models, instead it’s more useful for rapidly creating base meshes, which can then be exported in OBJ format and sculpting/refined in other 3D modelling applications.

Art


17. April 2018


If you are a Blender Game Engine (BGE) fan, I have some bad news for you.  Earlier today BGE was removed from the Blender 2.8 branch of source code.  This means in the next version of Blender and beyond, there will no longer be an in-built game engine.  The game engine was never particularly popular and apparently caused a bit of a code maintenance nightmare, so the decision was made to remove it.  Then changes to the game engine are massive, touching 916 files in the code base.

Details of the change from the Blender code commit comments:

Removing Blender Game Engine from Blender 2.8

Folders removed entirely:

  • //extern/recastnavigation
  • //intern/decklink
  • //intern/moto
  • //source/blender/editors/space_logic
  • //source/blenderplayer
  • //source/gameengine

This includes DNA data and any reference to the BGE code in Blender itself.
We are bumping the subversion.

Pending tasks:

  • Tile/clamp code in image editor draw code.
  • Viewport drawing code (so much of this will go away because of BI removal that we can wait until then to remove this.

You can learn more about the change in this video, also embedded below.

Art Programming GameDev News


17. April 2018


Foundry, the makers of Mara and Modo among other CG applications, have just released Kanova in early access on Steam.  Kanova is a 3D sculpting application in the same vein as Mudbox and ZBrush, although designed for a VR workflow.  Using your Oculus Rift or HTC Vive headset you can model in 3D like working with virtual clay.  Don’t worry desktop users, VR is not required to use Kanova.  The nicest part is, Kanova is also currently free as part of the early access release!


Details of the new application from Steam:

Kanova is a simple, easy to use, VR enabled, 3D sculpting application. It uses the patented 3D Adaptive Distance Field (ADF) technology developed by Foundry. Unlike other tools on the market, Kanova can be used in pure VR form, for creative exploration, or as a hybrid/VR desktop application. Artists can further refine and develop creations by exporting to Foundry's 3D content creation platform, Modo and Modo indie.
Sculpting in VR completely changes artists typically approach creating 3D objects. Freeing them from learning technical tools and terminology and allowing them to intuitively sculpt 3D objects in a natural fashion. The simplified nature of Kanova's interaction means that it appeals to first time users to 3D as well as seasoned artists and industry professionals, giving each a unique tool from which to create 3D artwork.
Feature highlights include:

  • Editing scenes using Kanova in desktop mode and within the VR environment
  • Selecting different modeling tools
  • Creating multiple layers
  • Sculpting and painting in color
  • Exporting to Sketchfab format


The Kanova User Guide provides details on the features available and how to access them using the Kanova desktop application and from within the VR environment.


I went hands on with Kanova in this video, also embedded below.  While early in development, it’s an application that holds a heck of a lot of potential.

Art


9. February 2018


With the release of Unity 2018.1 beta, Unity have developed a completely new programmable graphics pipeline.  On top of this new rendering technology Unity have a new shader tool called Shader Graph.  Shader Graph enables you to create shaders using a drag and drop interface by creating graphs of render nodes.


To get started with the new Shader Graph, you need to be running Unity 2018.1 Beta or newer.  Additionally you currently need to download this example scene.  You can see the Shader Graph in action in this video also embedded below.

Programming Art


See More Tutorials on DevGa.me!

Month List