Thursday, November 20, 2014

Unreal Engine 4 Dev Update #4: Camera Rotation for Top Down Games

Hi everyone, welcome back for my next dev update, I had explained the process of implementing a Smooth Zoom functionality for the Top Down Template in Unreal Engine 4 Marketplace. If you want to check it out, you can find it here:

This time around, I'm going to explain how I implemented Camera Rotation for a Top Down Game in UE4. I've been meaning to make this one for quite some time, since I had received a few requests from my Youtube Video for the same. Since my motherboard and RAM got fried a few weeks ago, I was unable to do any work in UE4 for the past 3-4 weeks. I've ditched my old PC in the process and assembled a new one. So instead of waiting till the weekend to write all the remaining dev updates, I thought I'll get this one done with today itself.
Alright, Camera Rotation is a fairly simple process. Basically I just use a Timeline node that keeps looping after a key value of 360 degrees. This helps in giving a Smooth Rotation, rather than incremental values of say 90 degrees or so. I connect the input button press for clockwise and anticlockwise rotations with the 'Play' and 'Reverse' input pins of the Timeline node. This way, I just need a single Timeline node to go through the process. I then make a rotator using the Output track of the Timeline for Yaw and the default Pitch & Roll values of the Spring Arm component. Then I set this new rotation to the Spring Arm Component. Since I've currently implemented this in the Player Character class, I can directly call the Spring Arm component. But I might have to shift this to the Player Controller class soon. Here's a screenshot of the whole process in my UE4 Blueprint:

And below you can see the Timeline in action. I've made a track and set a range of 5 seconds, which is then set to loop. Key values are 0 at t=0 and 360 at t=5.

With that, we have a solid Camera Rotation functionality for our Top Down Game. You can see this in action here:

If you're interested in seeing more of my work in Unreal Engine 4, you can check out my Youtube channel as I usually update the videos there before posting updates here:

So that's it for this update. I'll probably do the next update on 'Implementing a HUD-Based Command System' for Top Down Games.