Thursday, August 07, 2014

Real-Time Awesomeness!

So lately I have been doing a lot of exploring in Unreal 4.  I've really got the bug to get back into real-time technologies in the past year.  I miss the instant feedback and the interactive way that you can play with your ideas.  It's so freeing to see exactly what you are going to get and not have to wait for a render to kick off.  I've spent countless hours sitting at a screen waiting for something to show up, and even with modern renderers (I use Modo almost exclusively), I still want more fluid interaction.

Real-time rendering has gone through a true renaissance.  What you are able to get now in Unreal Engine 4, Crytek's CryEngine, Unity 5, Marmoset Toolbag, and others is absolutely stunning.  It's only getting better too.  That is what is so exciting.  Computing power is only getting better and faster, especially when it comes to graphics.  I still watch Epic's Unreal Engine 4 demo "Elemental" and I am blown away.

The fact that it renders in real-time (I've dissected the level for myself) is absolutely crazy.  It opens up a whole new method of storytelling - the ability to see your story evolve in front of you.  Make changes and see them immediately.  Sorry, I'm geeking out.  But in my career, I've spent so much time waiting to see what I was trying to create, it really makes me get excited.

I'm going to start sharing some tips for Unreal Engine 4 as I discover ways of creating my vision.  One way that Unreal has really changed my outlook is through "Blueprints", or Unreal's visual scripting language.  I barely started using UDK, and never really got into Kismet, but Blueprints have opened up a whole new world to me.  No matter how hard I have tried, how many hours of tutorials I have watched, I have always struggled with programming.  It's so powerful.  But I'm just too dang impatient.  Blueprints changes that for me.  I can quickly try things in a flow that (mostly) makes sense to me.

For one test I'm working on, I wanted to figure out how to use a key command to switch materials on an object.  I saw a post on a forum where that ability was scripted in C++.  I lost interest after the first couple lines.  I searched on the Unreal forums, and found a few breadcrumbs, but in the end, I discovered that a couple of breadcrumbs put together created a pretty sweet loaf.  It was fairly simple, once I knew how to create changes from multiple keystrokes...the MultiGate node!  Here's what it looks like:

After that, I can now change the material of an object with a keystroke, controller button, or any other input.  Blueprints are pretty addicting, so I'm sure that I'll be posting even more about them soon.  I'm not an expert, but if I can do it, anyone can :)  Stay tuned for screen shots and some experiments!

No comments: