ArchVis Cine Camera - Voulz/ArchVisTools GitHub Wiki

The ArchVis Cine Camera allows the automatic correction of the perspective to become a full 2-Point Perspective, or anything in between.

With a regular Cine Camera, note how the vertical lines of the buildings converge:

with a CineCamera

With an ArchVis Cine Camera and the property CorrectPerspective set to true, note how the vertical lines of the buildings stay vertical:

with an ArchVis Cine Camera

with an ArchVis Cine Camera

ArchVisCineCameraActor

An ArchVis Cine Camera Actor is a Camera with a default ArchVis Cine Camera Component.

Creating a new ArchVisCineCameraActor

Via Place Actors:

ArchVis_Actor_PlaceActors

Via Create Camera Here:

ArchVis_Actor_CreateCameraHere

ArchVisCineCameraComponent

The ArchVisCineCameraActor relies on an ArchVisCineCameraComponent to handle the perspective correction. You can add an ArchVisCineCameraComponent on any actor as required:

ArchVis_Component_AddComponent

And then adjust the properties as needed:

ArchVis_Component_ProjectionOffset

You can access and adjust the properties via Blueprint by referencing the ArchVisCineCameraComponent:

ArchVis_Component_BPProjectionOffset

Properties

CorrectPerspective

Set to True to activate a 2-Point Perspective mode which corrects the vertical lines to ensure they are actually vertical. The strength of the correction can be adjusted via CorrectionStrength.

CorrectionStrength

The Strength of the correction. Set to 0.0 to disable the correction and to 1.0 for it to be full strength.

CorrectionStrength of 0.0:

CorrectionStrength of 0.0

CorrectionStrength of 0.25:

CorrectionStrength of 0.0

CorrectionStrength of 0.5:

CorrectionStrength of 0.0

CorrectionStrength of 0.75:

CorrectionStrength of 0.0

CorrectionStrength of 1.0:

CorrectionStrength of 0.0

ProjectionOffset

The Projection Offset of the Camera. Allows viewing beyond the screen while keeping the same projection and vanishing points.

FinalProjectionOffset

The final Projection Offset computed internally.

AllowRoll

Set to True to allow the camera to roll.

OverrideNearClipPlane

Allows the overriding of the Near Clipping Plane if the value is bigger than 0. To have the change affecting the Global Near Clipping Plane automatically, you need to set bAutomaticNearClipPlaneHandling to true. The Near Clipping Plane default settings is set in the Project Settings > Engine - General Settings > Settings > Near Clip Plane and can also be set with the command r.SetNearClipPlane. If bAutomaticNearClipPlaneHandling is set to false, it will only change the internal value of OverrideNearClipPlane but not actually set the Clipping Plane.

AutomaticNearClipPlaneHandling

If set to true, the Global Near Clipping Plane will automatically be set to the value of OverrideNearClipPlane. If set to false, the component will not alter the Global Near Clipping Plane even if OverrideNearClipPlane is set.

MaxPitch [Advanced Display]

The Maximum Pitch of the Camera. The camera will not rotate beyond this angle. Need to be less than 90.

UseAdditiveOffset [Advanced Display]

If true, will use CameraComponent::AddAdditiveOffset to handle the projection. This is the solution that works best, especially if trying to pilot the camera in the editor, but needs to be turned off if AdditiveOffset is used (when using Camera Shakes for example). In case of issue or conflicting use of the AdditiveOffset, set to false and let me know.

ArchVisSceneCapture2D

An ArchVis Scene Capture 2D is a Scene Capture working with the capabilities of the ArchVis Cine Camera.
It is actually composed of an ArchVis Cine Camera Component and an ArchVis Scene Capture Component 2D. You can set it up the same way a regular SceneCapture by setting the Texture Target property to a RenderTarget Asset It is still experimental at the moment.

ArchVisSceneCaptureComponent2D

The ArchVisSceneCaptureComponent2D is an experimental SceneCaptureComponent working with an ArchVisCamera. It works a bit differently than a regular SceneCaptureComponent as you have to link the camera to render via the ArchVisCineCameraComponent, or the ArchVisCineCameraActor properties, or by attaching the component directly to an ArchVisCineCameraComponent.