Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implemented basic dialog camera #359

Merged
merged 3 commits into from Jul 29, 2018
Merged

Implemented basic dialog camera #359

merged 3 commits into from Jul 29, 2018

Conversation

HunterwolfAT
Copy link
Contributor

This is a clean version of #357

Defined camera transformations (shot types) and a state machine to decide between them during dialogs with NPCs.

There are 4 shot types:

  • Full shot
  • Over the shoulder shot
  • Neutral shot
  • Close up shot

In order to keep shot progression feeling natural, Full and Over the shoulder shots
should be used a couple times before opening up the chance to move on to Neutral and Close Up
shots. Furthermore, the camera should only push further in and not back out once it progressed
to at least a Neutral shot.

Dialog shot progression therefore respects the following rules:

  • Always start with either a Full or Over the shoulder shot
  • Close up and Neutral shot can only be used after Full or Over the shoulder have been used at least as often as m_CameraSettings.dialogueCameraSettings.dialogueShotLimit specifies
  • After a Neutral shot, the only possible next shot can be a Close up
  • A Close up can only be followed by a Close up

Regarding the PC_Hero the following extra rules apply:

  • PC_Hero will only ever be shown via a Full or Over the shoulder shot
  • Cutting to PC_Hero will reset the shot progression
  • There is a chance that the camera does not cut to PC_Hero and stays on the target NPC

On a more personal note: Unfortunately I had to bail from working on this wonderful project and can't tell when I might able to return. So I thought I should just create this pull request, since it works well despite being quite basic still.
I would have liked to figure out how to keep the camera from clipping through walls (even though that is a rare event anyway) and to emulate the original behaviour more closely (like, talking to Lord Hagen flips the camera depending on which side of his you are standing on when speaking to him).


Feedback is still massively appreciated! I will read it all and still try to fix bugs and make reasonable improvements. Thank you for your time 😃

@frabert
Copy link
Contributor

frabert commented Jul 24, 2018

The branch works on my machine and the code looks good to me

@ataulien ataulien merged commit 4281dc8 into master Jul 29, 2018
@ataulien ataulien deleted the dialog-camera-clean branch July 29, 2018 09:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants