Sunday, January 21, 2018

Utkarsh Dwivedi | Week 2: Learning Cinemachine



WEEKLY NARRATIVE

This week I had a lot of fun learning about Unity's asset called "Cinemachine." One of our concerns with the earlier build of REMembrance was that the camera had some problems, such as wall clipping, weird zooming, etc. During one of our design meetings, we came to the conclusion that we wanted our camera to work like it does in a lot of newer games (for example, the camera from Horizon Zero Dawn). The camera should now behave like an object attached to Rem by, say, a string. When Rem is not moving, she should be centered on the camera, but when she moves, she should be a little off center, based on the direction she moves in relative to the camera. The camera should also have a spring component to it, where it zooms out a little when Rem moves.
We figured that while this could all be done using scripting our own tools, Unity already has an amazing asset that can do the same thing in a matter of a couple hours - Cinemachine. I've always wanted to learn Cinemachine, so I decided to join the subteam of programmers that worked on the camera. I must admit that I spent more time on learning about things that Cinemachine can do than I would have liked to, but ultimately it helped us when we met to implement the new Cinemachine based camera system in a test scene.

We also found out that it's very easy to implement Dutch angles in Cinemachine, and we discussed about the possibility of using them in some chase scenes in the game. We still have to discuss this with the design team.
On a positive note, the Cinemachine camera doesn't clip through the walls.


CONTENT WITH HOURS

  • Cinemachine research and implementation (2 hours)
  • Programming, Design and Game meetings (6 hours)


WORKFLOW EXAMPLES


POSITIVE OUTCOMES

  • I learnt a lot about Cinemachine and how powerful it is.
  • There's no camera-wall clipping anymore! (unless you try really hard to break it).


NEGATIVE OUTCOMES


None yet.

NEXT TASKS


  • Take up one of the programming tasks that the programming group decides to work on for the next week.

TOTAL HOURS LOGGED THIS WEEK: 8  hours

No comments:

Post a Comment