IC Python API:Camera Dolly Zoom

From Reallusion Wiki!
Revision as of 00:54, 16 October 2019 by Chuck (RL) (Talk | contribs) (Description)

Jump to: navigation, search
Main article: RL Python Samples.

Demo Video

Description

Ic python api camera dolly zoom 01.gif

Dolly Zoom is an in-camera effect that utilizes perspective distortion to make the background appear as if it’s changing its size relative to the subject. The visual appearance for the viewer is that either the background suddenly grows in size and detail to overwhelm the foreground, or the foreground becomes immense and dominates the previous setting, depending on which way the dolly zoom is executed. This script simulates the Dolly Zoom effect by animating the camera's Focal Length and positioning according to the current camera settings and the desired Focal Length. Automatic Depth of Field on the target object is an optional setting.

Course Prerequisites

You should familiarize yourself with the following fundamental articles before you proceed:

Link Purpose
Object Type Return the object type for the first selected object.
Message Box Create notifications and warning messages in iClone.
Item Lister Learn how to validate objects for listing and removal.
Dialog Callbacks Understand dialog callbacks at a deeper level.
Local Move Use matrix math to locally translate an object.

Takeaway Lessons

  • Calculate the dolly zoom effect with a simple formula.
  • Locally translate an object in code in spite of the world-space transformation system.

Required Files

  • Camera Dolly Zoom Python script
  • iClone scene with selectable props or characters, preferably in a setting filled with background objects.

Usage Instructions

  1. Clone or download the Reallusion/iClone GitHub.
  2. Copy Camera_Dolly_Zoom folder into the iClone install directory > ...\Bin64\OpenPlugin.
  3. Load the script into the project from the menu: Plugins > Python Samples > Camera Dolly Zoom.
  4. Create a new camera and pick an item in the scene.
  5. Adjust the settings and press the Key Dolly Zoom button.

Code Flow

  1. The current viewing camera is the currently driven camera.
  2. The current selection is the DOF target, the first item in multiple selection is designated as the target.
  3. Adjust the parameters such as Auto-Distance and Auto-Range toggle and multiplier.
  4. The z-distance between the target prop from the current viewing camera is calculated.
  5. DOF key is created taking into account the depth distance value and the parameter settings.
  6. The created DOF key is set on the current viewing camera in near real-time.

Ic python api camera dolly zoom 02.png

APIs Used

You can research the following references for the APIs deployed in this code.