Difference between revisions of "IC Python API:Blurry Vision"
Chuck (RL) (Talk | contribs) (Created page with "{{TOC}} {{Parent|IC_Python_API:RL_Python_Samples|RL Python Samples}} This article goes into creating, setting, and keying the DOF settings of the camera with a very simple ex...") |
Chuck (RL) (Talk | contribs) m (→Keying the Blurry Mid-state) |
||
| Line 59: | Line 59: | ||
RLPy.RGlobal.Play(RLPy.RTime(start_time), RLPy.RTime(end_time)) | RLPy.RGlobal.Play(RLPy.RTime(start_time), RLPy.RTime(end_time)) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| + | |||
| + | == Everything Put Together == | ||
| + | |||
| + | <syntaxhighlight lang="python"> | ||
| + | import RLPy | ||
| + | |||
| + | start_time = 1 | ||
| + | end_time = 3000 | ||
| + | |||
| + | current_camera = RLPy.RScene.GetCurrentCamera() | ||
| + | dof = current_camera.GetDOFData() | ||
| + | |||
| + | dof.SetEnable(True) # Activate | ||
| + | dof.SetNearBlurScale(0) | ||
| + | dof.SetFarBlurScale(0) | ||
| + | |||
| + | key = RLPy.RKey() | ||
| + | key.SetTime(RLPy.RTime(start_time)) | ||
| + | current_camera.AddDofKey(key, dof) | ||
| + | |||
| + | key.SetTime(RLPy.RTime(end_time)) | ||
| + | current_camera.AddDofKey(key, dof) | ||
| + | |||
| + | dof.SetNearBlurScale(2) | ||
| + | dof.SetFarBlurScale(2) | ||
| + | key.SetTime(RLPy.RTime((end_time-start_time) * 0.5)) | ||
| + | current_camera.AddDofKey(key, dof) | ||
| + | |||
| + | RLPy.RGlobal.Play(RLPy.RTime(start_time), RLPy.RTime(end_time)) | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | == APIs Used == | ||
| + | |||
| + | You can research the following references for the APIs deployed in this code. | ||
| + | |||
| + | === Blurry_Vision.py === | ||
| + | |||
| + | <div style="column-count:4; -moz-column-count:4; -webkit-column-count:4"> | ||
| + | * [[ IC_Python_API:RLPy_RScene#GetCurrentCamera | RLPy.RScene.GetCurrentCamera() ]] | ||
| + | * [[ IC_Python_API:RLPy_RKey | RLPy.RKey() ]] | ||
| + | * [[ IC_Python_API:RLPy_RTime | RLPy.RTime() ]] | ||
| + | * [[ IC_Python_API:RLPy_RGlobal#Play | RLPy.RGlobal.Play() ]] | ||
| + | </div> | ||
Revision as of 18:26, 19 August 2019
- Main article: RL Python Samples.
This article goes into creating, setting, and keying the DOF settings of the camera with a very simple example script.
Required Modules and Starting Variables
Let's load the standard Reallusion python module and establish variables for the duration of the DOF animation.
import RLPy
start_time = 1
end_time = 3000
DOF Settings
We can start off by retrieving the current DOF settings of the current camera and adjusting some of its settings to simulate a blurry vision effect:SetNearBlurScale and SetFarBlurScale in particular.
current_camera = RLPy.RScene.GetCurrentCamera()
dof = current_camera.GetDOFData()
dof.SetEnable(True) # Activate
dof.SetNearBlurScale(0)
dof.SetFarBlurScale(0)
Keying the Start and End Frames
First, we'll set a key for the start and end time of the animation where the vision starts off and end up clear.
key = RLPy.RKey()
key.SetTime(RLPy.RTime(start_time))
current_camera.AddDofKey(key, dof)
key.SetTime(RLPy.RTime(end_time))
current_camera.AddDofKey(key, dof)
Notice that the same key object is reused with just slight adjustments to time.
Keying the Blurry Mid-state
Now, we can reuse the DOF and key objects with slight adjustments to key the blurry mid-state for the camera.
dof.SetNearBlurScale(2)
dof.SetFarBlurScale(2)
key.SetTime(RLPy.RTime((end_time-start_time) * 0.5))
current_camera.AddDofKey(key, dof)
Now we can play the animation back:
RLPy.RGlobal.Play(RLPy.RTime(start_time), RLPy.RTime(end_time))
Everything Put Together
import RLPy
start_time = 1
end_time = 3000
current_camera = RLPy.RScene.GetCurrentCamera()
dof = current_camera.GetDOFData()
dof.SetEnable(True) # Activate
dof.SetNearBlurScale(0)
dof.SetFarBlurScale(0)
key = RLPy.RKey()
key.SetTime(RLPy.RTime(start_time))
current_camera.AddDofKey(key, dof)
key.SetTime(RLPy.RTime(end_time))
current_camera.AddDofKey(key, dof)
dof.SetNearBlurScale(2)
dof.SetFarBlurScale(2)
key.SetTime(RLPy.RTime((end_time-start_time) * 0.5))
current_camera.AddDofKey(key, dof)
RLPy.RGlobal.Play(RLPy.RTime(start_time), RLPy.RTime(end_time))
APIs Used
You can research the following references for the APIs deployed in this code.