Sunday, January 25, 2015

After the Break: The Proto-Interaction Actor

I lost a month as far as updates preparing for a job (interview/test)  and I'm a bit behind.
I'll walk you through what I've had and what features the interaction actor will have.

The first one was easy to implement. An interaction actor has a state known as active controlled by a bool. If it's not set to true, then no other part of the interaction actor will fire.

The interaction actor like, the intractable elements in a TaleTale game will have a kind of opened and closed state where the base icon will highlight and expand when the cursor moves over it.
Upon clicking a highlighted interaction actor the available actions are displayed.  I call them Interaction Buttons. I've built them as a separate class, because I believed it would help me in scale ability. It's essentially a plane with a bill boarding material.



My decision to make the button a separate class has been kind of a problematic one as having the Interaction Buttons created as components of the Interaction Actor during the construction script has been a cinch but having them function off the scripts in their own class has been kind of iffy. 


I attach the buttons by spawning them in an update button function. I attach them to components I've placed around the Interaction Actor itself. You may note that I'm using enumeration to determine button type. Talk, Use, Take, Force, are items on this list.









You may recognize the bauble from the Soulus project tutorials. I needed a quick mesh I could prototype with so I yanked the mesh from there. And of course the materials on the buttons are from the UE4 editor.

Here's a look at the function for changing the Buttons Material, a bit of it anyway but it's replicated across the different button types.



















Have a video. 



In the current build they the interaction actors  don't swell up quite that much. 

What I want to accomplish in the next update.

Well, as I've said. I've eaten a bit of a delay. But I'm back on the case. Though I won't have the fundamental features down by February, as I'd ambitiously hoped the following are features I'm going to implement into the interaction actor this month.

I'll have the buttons executing scripts appropriate to their class.
I'll have the usable bool determine the rendering of the overall actor, and embarrassingly easy fix.
I'll have button visibility set when the actor is in an open state and when it is clicked.
I'll have the player turned to face open actors that the player has clicked on.  And that should see me busy for a couple weeks. I'll get back to it. I've got a bit of work to do before I catch up. 


Until next time.