Difference between revisions of "IC Python API:RLPy RGlobal"
Chuck (RL) (Talk | contribs) m (→Description) |
Chuck (RL) (Talk | contribs) m |
||
(29 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{TOC}} | {{TOC}} | ||
− | + | {{Parent|IC_Python_API:RL_Python_Modules|Modules}} | |
− | + | {{last_modified}} | |
− | {{Parent|IC_Python_API:RL_Python_Modules | + | |
− | + | ||
− | + | ||
== Description == | == Description == | ||
− | This class provides | + | This class provides global settings and information for the application, like querying project related settings like [[#GetFps ( )|GetFps]], [[#GetTime ( )|GetTime]], [[#GetScreenSize ( self, nWidth, nHeight )|GetScreenSize]], etc., and operations such as [[#SetTime ( )|SetTime]], [[#RenderVideo ( )|RenderVideo]], etc. |
== Member Functions == | == Member Functions == | ||
− | + | === GetProjectLength ( ) === | |
− | + | ||
− | + | Get the current project duration. | |
− | + | ||
− | + | ==== Returns ==== | |
+ | :Project duration - [[IC_Python_API:RLPy_RTime|RTime]] | ||
+ | |||
+ | <syntaxhighlight lang="python" line='line'> | ||
+ | print(RLPy.RGlobal.GetProjectLength()) # Print project duration for the current scene | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | === GetFps ( ) === | ||
+ | |||
+ | Get the frames-per-second for the current project. Currently fixed at 60 fps. | ||
+ | |||
+ | ==== Returns ==== | ||
+ | :Frame rate - int | ||
+ | |||
+ | <syntaxhighlight lang="python" line='line'> | ||
+ | print(RLPy.RGlobal.GetFps()) # 60 | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | === GetPath ( ) === | ||
+ | |||
+ | This function can return the absolute paths for the following directories: | ||
+ | |||
+ | {| class="wikitable" | ||
|- | |- | ||
− | | | + | |RLPy.EPathType_Temp |
− | |<syntaxhighlight lang=" | + | |Temporary folder |
− | + | |- | |
+ | |RLPy.EPathType_TemplateContent | ||
+ | |Template content folder | ||
+ | |- | ||
+ | |RLPy.EPathType_CustomContent | ||
+ | |Custom content folder | ||
+ | |- | ||
+ | |RLPy.EPathType_ProgramDefault | ||
+ | |Program default folder | ||
+ | |- | ||
+ | |RLPy.EPathType_Morph | ||
+ | |Morph data folder | ||
+ | |- | ||
+ | |RLPy.EPathType_CreateFace | ||
+ | |CreateFace data folder | ||
+ | |- | ||
+ | |RLPy.EPathType_Puppet | ||
+ | |Puppet data folder | ||
+ | |- | ||
+ | |RLPy.EPathType_FacialLayer | ||
+ | |Facial layer data folder | ||
+ | |- | ||
+ | |RLPy.EPathType_ShareTemplateContent | ||
+ | |Shared template content folder | ||
+ | |- | ||
+ | |RLPy.EPathType_Thumb | ||
+ | |Thumbnail folder | ||
+ | |- | ||
+ | |RLPy.EPathType_Image | ||
+ | |Image folder | ||
+ | |- | ||
+ | |RLPy.EPathType_CreatorAssets | ||
+ | |Creator assets folder | ||
+ | |- | ||
+ | |RLPy.EPathType_Resource | ||
+ | |Resource folder | ||
+ | |- | ||
+ | |RLPy.EPathType_FacialSystem | ||
+ | |Facial system folder | ||
+ | |- | ||
+ | |RLPy.EPathType_CustomWidget | ||
+ | |Custom widget folder | ||
+ | |- | ||
+ | |RLPy.EPathType_iCloneAssets | ||
+ | |iClone assets folder | ||
+ | |} | ||
+ | |||
+ | ==== Parameters ==== | ||
+ | :'''ePath''' [IN] path type - RLPy.EPathType | ||
+ | :*RLPy.EPathType_Temp | ||
+ | :*RLPy.EPathType_TemplateContent | ||
+ | :*RLPy.EPathType_CustomContent | ||
+ | :*RLPy.EPathType_ProgramDefault | ||
+ | :*RLPy.EPathType_Morph | ||
+ | :*RLPy.EPathType_CreateFace | ||
+ | :*RLPy.EPathType_Puppet | ||
+ | :*RLPy.EPathType_FacialLayer | ||
+ | :*RLPy.EPathType_ShareTemplateContent | ||
+ | :*RLPy.EPathType_Thumb | ||
+ | :*RLPy.EPathType_Image | ||
+ | :*RLPy.EPathType_CreatorAssets | ||
+ | :*RLPy.EPathType_Resource | ||
+ | :*RLPy.EPathType_FacialSystem | ||
+ | :*RLPy.EPathType_CustomWidget | ||
+ | :*RLPy.EPathType_iCloneAssets | ||
+ | :'''strPath''' [OUT] path name - string | ||
+ | |||
+ | ==== Returns ==== | ||
+ | :Success - RLPy.RStatus.Success | ||
+ | :Failure - RLPy.RStatus.Failure | ||
+ | |||
+ | <syntaxhighlight lang="python" line='line'> | ||
+ | temp = "" | ||
+ | ret_list = RLPy.RGlobal.GetPath(RLPy.EPathType_Temp, temp) | ||
+ | print(ret_list[0]) # success or faild | ||
+ | print(ret_list[1]) # path | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | # | + | === BeginAction ( ) === |
+ | |||
+ | Perform undo and redo actions. This function is currently incomplete. | ||
+ | |||
+ | ==== Parameters ==== | ||
+ | :'''strAction''' [IN] action name - string | ||
+ | |||
+ | <syntaxhighlight lang="python" line='line'> | ||
+ | RLPy.RGlobal.BeginAction('ActionName') | ||
+ | RLPy.RGlobal.EndAction() | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | === EndAction ( ) === | ||
+ | |||
+ | Perform undo and redo actions. This function is currently incomplete | ||
+ | |||
+ | <syntaxhighlight lang="python" line='line'> | ||
+ | # undo / redo | ||
+ | RLPy.RGlobal.BeginAction("Motion") | ||
+ | # do something | ||
+ | RLPy.RGlobal.EndAction() | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | === Play ( ) === | ||
+ | |||
+ | Controls the timeline playback. | ||
+ | |||
+ | ==== Parameters ==== | ||
+ | :'''kStart''' [IN] start time - [[IC_Python_API:RLPy_RTime|RTime]] | ||
+ | :'''kEnd''' [IN] end time - [[IC_Python_API:RLPy_RTime|RTime]] | ||
+ | |||
+ | <syntaxhighlight lang="python" line='line'> | ||
+ | start_time = RLPy.RTime(0) | ||
+ | end_time = RLPy.RTime(1000.0) | ||
+ | RLPy.RGlobal.Play(start_time,end_time) | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | === Pause ( ) === | ||
+ | |||
+ | Pause the timeline playback and keep the playhead in place. | ||
+ | |||
+ | <syntaxhighlight lang="python" line='line'> | ||
+ | RLPy.RGlobal.Play(RLPy.RTime(0), RLPy.RTime(1000)) | ||
+ | RLPy.RGlobal.Pause() | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | === Stop ( ) === | ||
+ | |||
+ | Stop the timeline playback and return the playhead to the start marker. | ||
+ | |||
+ | <syntaxhighlight lang="python" line='line'> | ||
+ | RLPy.RGlobal.Play(RLPy.RTime(0), RLPy.RTime(1000)) | ||
+ | RLPy.RGlobal.Stop() | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | === IsPlaying ( ) === | ||
+ | |||
+ | Check if timeline playback is in progress. | ||
+ | |||
+ | ==== Returns ==== | ||
+ | :Returns true when application playing - bool | ||
+ | |||
+ | <syntaxhighlight lang="python" line='line'> | ||
+ | if(not RLPy.RGlobal.IsPlaying()): | ||
+ | RLPy.RGlobal.Play(RLPy.RTime(0), RLPy.RTime(1000)) | ||
+ | if(RLPy.RGlobal.IsPlaying()): | ||
+ | RLPy.RGlobal.Stop() | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | === GetTime ( ) === | ||
+ | |||
+ | Get the current time for the scene according to the location of the playhead. | ||
+ | |||
+ | ==== Returns ==== | ||
+ | :current time - [[IC_Python_API:RLPy_RTime|RTime]] | ||
+ | |||
+ | <syntaxhighlight lang="python" line='line'> | ||
time = RLPy.RGlobal.GetTime() | time = RLPy.RGlobal.GetTime() | ||
+ | print(time) | ||
+ | </syntaxhighlight> | ||
− | + | === SetTime ( ) === | |
− | print(time. | + | |
+ | Change the current time for the scene and update the playhead. | ||
+ | |||
+ | See Also: [[#GetTime ( )|GetTime]] | ||
+ | |||
+ | ==== Parameters ==== | ||
+ | :'''kTime''' [IN] Specifies the time to set - [[IC_Python_API:RLPy_RTime|RTime]] | ||
+ | |||
+ | ==== Returns ==== | ||
+ | :Success - RLPy.RStatus.Success | ||
+ | :Failure - RLPy.RStatus.Failure | ||
+ | |||
+ | <syntaxhighlight lang="python" line='line'> | ||
+ | result = RLPy.RGlobal.SetTime(RLPy.RTime(1000)) | ||
+ | print(result) # Success or fail | ||
+ | |||
+ | time = RLPy.RGlobal.GetTime() | ||
+ | print(time) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | ||
− | + | === GetStartTime ( ) === | |
− | + | ||
− | + | Get the start time for the current project. | |
− | |<syntaxhighlight lang=" | + | |
− | + | ==== Returns ==== | |
+ | :Start frame time - [[IC_Python_API:RLPy_RTime|RTime]] | ||
+ | |||
+ | <syntaxhighlight lang="python" line='line'> | ||
+ | time = RLPy.RGlobal.GetStartTime() | ||
+ | print(time) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | === GetEndTime ( ) === | |
− | + | ||
− | + | ||
− | + | ||
− | # | + | Get the end time for the current project. |
− | # | + | |
+ | ==== Returns ==== | ||
+ | :End frame time - [[IC_Python_API:RLPy_RTime|RTime]] | ||
+ | |||
+ | <syntaxhighlight lang="python" line='line'> | ||
+ | time = RLPy.RGlobal.GetEndTime() | ||
+ | print(time) | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | === GetMocapManager ( ) === | ||
+ | |||
+ | Access the Mocap Manager and member functions for [[IC_Python_API:RLPy_RIMocapManager|RIMocapManager]]. | ||
+ | |||
+ | See Also: [[IC_Python_API:RLPy_RIMocapManager|RIMocapManager]] | ||
+ | |||
+ | ==== Returns ==== | ||
+ | :Pointer to mocap manager - [[IC_Python_API:RLPy_RIMocapManager|RIMocapManager]] | ||
+ | |||
+ | <syntaxhighlight lang="python" line='line'> | ||
+ | mocap_manager = RLPy.RGlobal.GetMocapManager() | ||
+ | print(mocap_manager.IsRunning()) # True or False | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | === RemoveAllAnimations ( spObject ) === | ||
+ | |||
+ | Remove all animations on a given object and return '''RLPy.RStatus.Success''' if successful, else '''RLPy.RStatus.Failure'''. Currently supports characters, props, accessories, particles, PopcornFX, lights, motion paths, cameras, wind, images, and global illumination. The timeline needs to update after execution in order to show the changes. | ||
+ | |||
+ | ==== Parameters ==== | ||
+ | :'''spObject''' [IN] The object to remove animations - [[IC_Python_API:RLPy_RIObject|RIObject]] | ||
+ | |||
+ | ==== Returns ==== | ||
+ | :Success - RLPy.RStatus.Success | ||
+ | :Failure - RLPy.RStatus.Failure | ||
+ | |||
+ | <syntaxhighlight lang="python" line='line'> | ||
+ | avatar_list = RLPy.RScene.GetAvatars() | ||
+ | result = RLPy.RGlobal.RemoveAllAnimations( avatar_list[0] ) | ||
+ | print(result) | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | === RenderVideo ( ) === | ||
+ | |||
+ | Use the current iClone render settings to output a video. Returns '''RLPy.RStatus.Success''' when successful, else '''RLPy.RStatus.Failure'''. | ||
+ | |||
+ | ==== Returns ==== | ||
+ | :Success - RLPy.RStatus.Success | ||
+ | :Failure - RLPy.RStatus.Failure | ||
+ | |||
+ | <syntaxhighlight lang="python" line='line'> | ||
+ | result = RLPy.RGlobal.RenderVideo() | ||
+ | print(result) | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | === GetScreenSize ( self, nWidth, nHeight ) === | ||
+ | |||
+ | Get the render output size for the current scene. | ||
+ | |||
+ | ==== Parameters ==== | ||
+ | :'''nWidth''' [IN] screen width in pixels - int | ||
+ | :'''nHeight''' [IN] screen height in pixels - int | ||
+ | |||
+ | ==== Returns ==== | ||
+ | :[Success/Fail, Width, Height] - list | ||
+ | ::Success - RLPy.RStatus.Success | ||
+ | ::Failure - RLPy.RStatus.Failure | ||
+ | ::Width - int | ||
+ | ::Height - int | ||
+ | |||
+ | <syntaxhighlight lang="python" line='line'> | ||
+ | width = 0 | ||
+ | height = 0 | ||
+ | result = RLPy.RGlobal.GetScreenSize(width, height) | ||
+ | print(result[0]) # successful or failed | ||
+ | print(result[1]) # width | ||
+ | print(result[2]) # height | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |||
− | |||
− |
Latest revision as of 00:05, 14 April 2020
Contents
- 1 Description
- 2 Member Functions
- 2.1 GetProjectLength ( )
- 2.2 GetFps ( )
- 2.3 GetPath ( )
- 2.4 BeginAction ( )
- 2.5 EndAction ( )
- 2.6 Play ( )
- 2.7 Pause ( )
- 2.8 Stop ( )
- 2.9 IsPlaying ( )
- 2.10 GetTime ( )
- 2.11 SetTime ( )
- 2.12 GetStartTime ( )
- 2.13 GetEndTime ( )
- 2.14 GetMocapManager ( )
- 2.15 RemoveAllAnimations ( spObject )
- 2.16 RenderVideo ( )
- 2.17 GetScreenSize ( self, nWidth, nHeight )
- Main article: Modules.
- Last modified: 04/14/2020
Description
This class provides global settings and information for the application, like querying project related settings like GetFps, GetTime, GetScreenSize, etc., and operations such as SetTime, RenderVideo, etc.
Member Functions
GetProjectLength ( )
Get the current project duration.
Returns
- Project duration - RTime
1 print(RLPy.RGlobal.GetProjectLength()) # Print project duration for the current scene
GetFps ( )
Get the frames-per-second for the current project. Currently fixed at 60 fps.
Returns
- Frame rate - int
1 print(RLPy.RGlobal.GetFps()) # 60
GetPath ( )
This function can return the absolute paths for the following directories:
RLPy.EPathType_Temp | Temporary folder |
RLPy.EPathType_TemplateContent | Template content folder |
RLPy.EPathType_CustomContent | Custom content folder |
RLPy.EPathType_ProgramDefault | Program default folder |
RLPy.EPathType_Morph | Morph data folder |
RLPy.EPathType_CreateFace | CreateFace data folder |
RLPy.EPathType_Puppet | Puppet data folder |
RLPy.EPathType_FacialLayer | Facial layer data folder |
RLPy.EPathType_ShareTemplateContent | Shared template content folder |
RLPy.EPathType_Thumb | Thumbnail folder |
RLPy.EPathType_Image | Image folder |
RLPy.EPathType_CreatorAssets | Creator assets folder |
RLPy.EPathType_Resource | Resource folder |
RLPy.EPathType_FacialSystem | Facial system folder |
RLPy.EPathType_CustomWidget | Custom widget folder |
RLPy.EPathType_iCloneAssets | iClone assets folder |
Parameters
- ePath [IN] path type - RLPy.EPathType
- RLPy.EPathType_Temp
- RLPy.EPathType_TemplateContent
- RLPy.EPathType_CustomContent
- RLPy.EPathType_ProgramDefault
- RLPy.EPathType_Morph
- RLPy.EPathType_CreateFace
- RLPy.EPathType_Puppet
- RLPy.EPathType_FacialLayer
- RLPy.EPathType_ShareTemplateContent
- RLPy.EPathType_Thumb
- RLPy.EPathType_Image
- RLPy.EPathType_CreatorAssets
- RLPy.EPathType_Resource
- RLPy.EPathType_FacialSystem
- RLPy.EPathType_CustomWidget
- RLPy.EPathType_iCloneAssets
- strPath [OUT] path name - string
Returns
- Success - RLPy.RStatus.Success
- Failure - RLPy.RStatus.Failure
1 temp = ""
2 ret_list = RLPy.RGlobal.GetPath(RLPy.EPathType_Temp, temp)
3 print(ret_list[0]) # success or faild
4 print(ret_list[1]) # path
BeginAction ( )
Perform undo and redo actions. This function is currently incomplete.
Parameters
- strAction [IN] action name - string
1 RLPy.RGlobal.BeginAction('ActionName')
2 RLPy.RGlobal.EndAction()
EndAction ( )
Perform undo and redo actions. This function is currently incomplete
1 # undo / redo
2 RLPy.RGlobal.BeginAction("Motion")
3 # do something
4 RLPy.RGlobal.EndAction()
Play ( )
Controls the timeline playback.
Parameters
1 start_time = RLPy.RTime(0)
2 end_time = RLPy.RTime(1000.0)
3 RLPy.RGlobal.Play(start_time,end_time)
Pause ( )
Pause the timeline playback and keep the playhead in place.
1 RLPy.RGlobal.Play(RLPy.RTime(0), RLPy.RTime(1000))
2 RLPy.RGlobal.Pause()
Stop ( )
Stop the timeline playback and return the playhead to the start marker.
1 RLPy.RGlobal.Play(RLPy.RTime(0), RLPy.RTime(1000))
2 RLPy.RGlobal.Stop()
IsPlaying ( )
Check if timeline playback is in progress.
Returns
- Returns true when application playing - bool
1 if(not RLPy.RGlobal.IsPlaying()):
2 RLPy.RGlobal.Play(RLPy.RTime(0), RLPy.RTime(1000))
3 if(RLPy.RGlobal.IsPlaying()):
4 RLPy.RGlobal.Stop()
GetTime ( )
Get the current time for the scene according to the location of the playhead.
Returns
- current time - RTime
1 time = RLPy.RGlobal.GetTime()
2 print(time)
SetTime ( )
Change the current time for the scene and update the playhead.
See Also: GetTime
Parameters
- kTime [IN] Specifies the time to set - RTime
Returns
- Success - RLPy.RStatus.Success
- Failure - RLPy.RStatus.Failure
1 result = RLPy.RGlobal.SetTime(RLPy.RTime(1000))
2 print(result) # Success or fail
3
4 time = RLPy.RGlobal.GetTime()
5 print(time)
GetStartTime ( )
Get the start time for the current project.
Returns
- Start frame time - RTime
1 time = RLPy.RGlobal.GetStartTime()
2 print(time)
GetEndTime ( )
Get the end time for the current project.
Returns
- End frame time - RTime
1 time = RLPy.RGlobal.GetEndTime()
2 print(time)
GetMocapManager ( )
Access the Mocap Manager and member functions for RIMocapManager.
See Also: RIMocapManager
Returns
- Pointer to mocap manager - RIMocapManager
1 mocap_manager = RLPy.RGlobal.GetMocapManager()
2 print(mocap_manager.IsRunning()) # True or False
RemoveAllAnimations ( spObject )
Remove all animations on a given object and return RLPy.RStatus.Success if successful, else RLPy.RStatus.Failure. Currently supports characters, props, accessories, particles, PopcornFX, lights, motion paths, cameras, wind, images, and global illumination. The timeline needs to update after execution in order to show the changes.
Parameters
- spObject [IN] The object to remove animations - RIObject
Returns
- Success - RLPy.RStatus.Success
- Failure - RLPy.RStatus.Failure
1 avatar_list = RLPy.RScene.GetAvatars()
2 result = RLPy.RGlobal.RemoveAllAnimations( avatar_list[0] )
3 print(result)
RenderVideo ( )
Use the current iClone render settings to output a video. Returns RLPy.RStatus.Success when successful, else RLPy.RStatus.Failure.
Returns
- Success - RLPy.RStatus.Success
- Failure - RLPy.RStatus.Failure
1 result = RLPy.RGlobal.RenderVideo()
2 print(result)
GetScreenSize ( self, nWidth, nHeight )
Get the render output size for the current scene.
Parameters
- nWidth [IN] screen width in pixels - int
- nHeight [IN] screen height in pixels - int
Returns
- [Success/Fail, Width, Height] - list
- Success - RLPy.RStatus.Success
- Failure - RLPy.RStatus.Failure
- Width - int
- Height - int
1 width = 0
2 height = 0
3 result = RLPy.RGlobal.GetScreenSize(width, height)
4 print(result[0]) # successful or failed
5 print(result[1]) # width
6 print(result[2]) # height