I made a game! Buy on Steam

I gave this talk at the Digital Art Conference 2017 and it’s about how Textures can be used for other stuff than color. Almost all the content is based on a game I had the pleasure working on: The Invisible Hours from Tequila Works.

Below the video you’ll find a lot of extra content.

I didn’t embed the video directly to avoid any tracking from Google and complications with the DSGVO.

Extra Content

Further information related to the talk can be found here. I prepared some tutorials and experiments which might be interesting to you if you liked the content of the talk.

Assets

I was allowed to publish the materials/meshes for the smoke, rain and the leaves. If there are problems with assigning material functions and textures, please have a look at the pictures which show how the materials are setup.

Unreal Assets Zip Archive
Leaf Material (Picture)
Rain Material (Picture)
Smoke Material (Picture)

Text

Videos

Another great usecase for vectors in textures are flow maps! Here I describe how you have to setup a flow map material in Unreal:

I didn’t embed the video directly to avoid any tracking from Google and complications with the DSGVO.

Here you see an experiment I’m doing storing two images into one color channel of a texture which I mentioned during my talk:

I didn’t embed the video directly to avoid any tracking from Google and complications with the DSGVO.

This video helps when you want to use Unreal to write the position of an object (like our cigarette) into a render target:

I didn’t embed the video directly to avoid any tracking from Google and complications with the DSGVO.

Update 1
I recorded a little video about how to re-create the adapting foliage in Unreal:

I didn’t embed the video directly to avoid any tracking from Google and complications with the DSGVO.

10 thoughts on “Cool Stuff with Textures

  1. Jan Schneider

    Hei Simon

    I’m so glad I found you ^^ your stuff is Hot!

    I have a question concerning the smoke Effect.
    When I displace the vertecies in the vertex shader, the normals will stay the same (this makes sense since im not tweaking them). But this gets problematic when I then try to do some fresnel in the fragment shader, since my normals still represent the original form of the mesh. I probably need to somehow recalculate them.
    do you have a tip? maybe Unreal does this automatically, im using unity.

    Kind Regards Jan

    Reply
    1. Simon Post author

      Yeah the re-calculation is always a problem. I didn’t do it for the smoke but it had to do it for the pintable. Open this article https://simonschreibt.de/gat/pintable/ and search for “re-calculate the normals”. You’ll find a little snipped from Unreal (ddx/ddy) and maybe you can replicate this in Unity?

      Reply
        1. Jan Schneider

          Edit: I didnt recalculate the normals (might try to do that at some point using a geometryshader) but rather just faked it by setting the normal to the displacement. this also gives an interesting effect when applying some fresnel

          Reply
  2. Michael Stickler

    Hey Simon,

    About the smoke effect, does storing the positions over time in an image actually improve performance over just using an array/list? Over some other data structure? What advantage does using an image have?

    Reply
    1. Simon Post author

      The problem is that I want to control/move every vertex and this I can only do via vertex shader as far as I know. And in those I don’t have access to arrays/lists or and I can’t control the verts via Blueprint. The only option I could imagine is to use bones and skin those to the vertices and then control the bones …

      Reply

Leave a Reply

Your email address will not be published. Required fields are marked *