• Register
Post feature Report RSS 《Drifting》 Camera Motion System

The challenges in implementing this camera feature are two folds: Different animation requires different camera offsets and blend out conditions; multiple animations may occur at the same time which means multiple camera motion may interfere with each other during gameplay.

Posted by on

Hi everyone!

In this week's update, I would like to share a feature that I made to improve the overall momentum of the game--the Camera Motion System-- or CMS in short.

During the development of 《Drifting》, I learned that adding camera motion at the right moment will create a positive feedback to players in the form of either enhanced momentum, increase spatial awareness, less motion sickness or simply better visual aesthetics.

Dashing backward comparison image

(The left side is dashing backward without CMS, the right side is dashing backward with CMS. Notice at the right side, the character seems to bounce back from the camera at the end.)

Dashing left comparison image

(The left side is dashing leftward without CMS, the right side is dashing leftward with CMS. The right side looks like it adopts a higher initial velocity, but in fact, both are dashing at the same speed.)

The difficulties I encountered when implementing this camera feature are two folds: Different animation requires different camera offsets and blend out conditions; multiple animations may occur at the same time which means multiple camera motion may interfere with each other during gameplay.

To solve both these issues at once, I created a stack that holds all the currently active camera motion ques--each contains its own camera offset, blend out duration and speed. The combination of these offsets is calculated every tick, which is then used to interpolate the current camera offset.

Camera motion stack 3 ques

(The stack contains all the information needed to calculate the targeted camera offset. The targeted offset is then used to interpolate the current camera offset for every tick.)

When one of the ques are no longer needed, to remove the camera effect is simply popping out the desired que from the stack and the targeted camera offset will then reflect that change accordingly.

Camera motion stack 2 ques

(Removing or adding camera motions is essentially removing or adding ques containing camera information.)


I hope you enjoy the article, have a wonderful weekend! :3

Comments
~cHendler~
~cHendler~

Nice article. Keep it up! :)

Reply Good karma Bad karma+3 votes
rit2040 AuthorOnline
rit2040

Hi ~cHendler~,

Thank you for your support, I'll keep on posting new content every weekend.

Have a nice day! By the way, Your avatar is very cute :3

Reply Good karma+2 votes
Post a comment
Sign in or join with:

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.

Feature
Related Games
《Drifting》
《Drifting》 Third Person Shooter
Related Engines
Unreal Engine 4
Unreal Engine 4 Commercial
Related Groups
Indie Devs
Indie Devs Hobbies & Interests with 1,658 members
Indie Gamers
Indie Gamers Hobbies & Interests with 1,510 members
PC Gamers
PC Gamers Hardware & Tech with 740 members
Unreal Engine 4 Games
Unreal Engine 4 Games Fans & Clans with 695 members