Difference between revisions of "IC Python API:Smooth Camera Follow"
Chuck (RL) (Talk | contribs) m |
Chuck (RL) (Talk | contribs) m (→Modules Used) |
||
Line 30: | Line 30: | ||
=== Modules Used === | === Modules Used === | ||
− | |||
You can research the following references for the modules deployed in this code. | You can research the following references for the modules deployed in this code. | ||
− | + | ==== main.py ==== | |
− | ====main.py==== | + | |
<div style="column-count:4; -moz-column-count:4; -webkit-column-count:4"> | <div style="column-count:4; -moz-column-count:4; -webkit-column-count:4"> | ||
− | |||
* [[ IC_Python_API:RLPy_RMatrix3 | RLPy.RMatrix3() ]] | * [[ IC_Python_API:RLPy_RMatrix3 | RLPy.RMatrix3() ]] | ||
− | |||
− | |||
− | |||
* [[ IC_Python_API:RLPy_RQuaternion | RLPy.RQuaternion() ]] | * [[ IC_Python_API:RLPy_RQuaternion | RLPy.RQuaternion() ]] | ||
* [[ IC_Python_API:RLPy_RTransform | RLPy.RTransform() ]] | * [[ IC_Python_API:RLPy_RTransform | RLPy.RTransform() ]] | ||
− | + | * [[ IC_Python_API:RLPy_RMath#Ceil | RLPy.RMath.Ceil() ]] | |
− | + | * [[ IC_Python_API:RLPy_RGlobal#SetTime | RLPy.RGlobal.SetTime() ]] | |
− | * [[ IC_Python_API:RLPy_RMath# | + | |
− | * [[ IC_Python_API:RLPy_RGlobal# | + | |
− | + | ||
* [[ IC_Python_API:RLPy_RGlobal#Play | RLPy.RGlobal.Play() ]] | * [[ IC_Python_API:RLPy_RGlobal#Play | RLPy.RGlobal.Play() ]] | ||
− | * [[ IC_Python_API:RLPy_RGlobal# | + | * [[ IC_Python_API:RLPy_RGlobal#Stop | RLPy.RGlobal.Stop() ]] |
+ | * [[ IC_Python_API:RLPy_RGlobal#GetStartTime | RLPy.RGlobal.GetStartTime() ]] | ||
* [[ IC_Python_API:RLPy_RUi#ShowMessageBox | RLPy.RUi.ShowMessageBox() ]] | * [[ IC_Python_API:RLPy_RUi#ShowMessageBox | RLPy.RUi.ShowMessageBox() ]] | ||
* [[ IC_Python_API:RLPy_RUi#AddMenu | RLPy.RUi.AddMenu() ]] | * [[ IC_Python_API:RLPy_RUi#AddMenu | RLPy.RUi.AddMenu() ]] | ||
Line 54: | Line 46: | ||
* [[ IC_Python_API:RLPy_RVector3 | RLPy.RVector3() ]] | * [[ IC_Python_API:RLPy_RVector3 | RLPy.RVector3() ]] | ||
</div> | </div> | ||
− | + | ==== Extensions.py ==== | |
− | ====Extensions.py==== | + | |
<div style="column-count:4; -moz-column-count:4; -webkit-column-count:4"> | <div style="column-count:4; -moz-column-count:4; -webkit-column-count:4"> | ||
* [[ IC_Python_API:RLPy_RMath#Abs | RLPy.RMath.Abs() ]] | * [[ IC_Python_API:RLPy_RMath#Abs | RLPy.RMath.Abs() ]] | ||
* [[ IC_Python_API:RLPy_RVector3 | RLPy.RVector3() ]] | * [[ IC_Python_API:RLPy_RVector3 | RLPy.RVector3() ]] | ||
* [[ IC_Python_API:RLPy_RQuaternion | RLPy.RQuaternion() ]] | * [[ IC_Python_API:RLPy_RQuaternion | RLPy.RQuaternion() ]] | ||
+ | * [[ IC_Python_API:RLPy_RGlobal#GetFps | RLPy.RGlobal.GetFps() ]] | ||
+ | * [[ IC_Python_API:RLPy_RGlobal#GetStartTime | RLPy.RGlobal.GetStartTime() ]] | ||
+ | * [[ IC_Python_API:RLPy_RGlobal#GetEndTime | RLPy.RGlobal.GetEndTime() ]] | ||
+ | * [[ IC_Python_API:RLPy_RTime#GetFrameIndex | RLPy.RTime.GetFrameIndex() ]] | ||
+ | * [[ IC_Python_API:RLPy_RTime#IndexedFrameTime | RLPy.RTime.IndexedFrameTime() ]] | ||
* [[ IC_Python_API:RLPy_RScene#FindObjects | RLPy.RScene.FindObjects() ]] | * [[ IC_Python_API:RLPy_RScene#FindObjects | RLPy.RScene.FindObjects() ]] | ||
</div> | </div> |
Revision as of 00:26, 17 April 2019
- Main article: RL Python Samples.
Smooth Camera Follow
This script lets the user pick a camera/view and a prop/target to follow. The camera will always be facing the direction of the target prop with delay as an adjustable factor. The Offset values creates a distance between the view and the target. Use the Delay value to create a lag between the view and the target.
Learn How to
- Drive the motion of the camera according to the animation of a prop.
- Populate drop down menus/combo boxes with elements from the scene.
- Set timer and event callbacks and attach commands.
Required Files
- iClone scene with camera and animated prop
- Smooth Camera Follow Python script
- Extensions Python script
Steps to Take
- Unzip the contents of Smooth Camera Follow.zip into the iClone install directory ...\Bin64\OpenPlugin.
- Load the script into the project from the menu: Plugins > Python Samples > Smooth Camera Follow.
- Follow the instructions in the subsequent dialog window.
Code Flow
Given a target prop and a target camera, the script will also require the inputs for the camera movement delay and offset position from the target prop. The code creates a new movement animation for the camera transformations by applying keys in the timeline. The final result is a camera that smoothly follows the target prop at the designated offset position with a certain degree of lag time decided by the user.
Modules Used
You can research the following references for the modules deployed in this code.