Difference between revisions of "IC Python API:RLPy RIAvatar"

From Reallusion Wiki!
Jump to: navigation, search
m
m
 
(5 intermediate revisions by the same user not shown)
Line 5: Line 5:
 
== Description ==
 
== Description ==
  
這個類別主要是場景上角色物件的類別,它提供訪問該對象所有組件的方法,例如 : [[IC_Python_API:RLPy_RISkeletonComponent|RISkeletonComponent]], [[IC_Python_API:RLPy_RIVisemeComponent|RIVisemeComponent]], RIFaceComponent.......等,藉由取得相關組件後,便可進行該類操作以及控制。
+
This class provides methods to access all components of a character, for example: [[IC_Python_API:RLPy_RISkeletonComponent|RISkeletonComponent]], [[IC_Python_API:RLPy_RIVisemeComponent|RIVisemeComponent]], [[IC_Python_API:RLPy_RIFaceComponent|RIFaceComponent]], etc. Retrieved component operations are thus available for usage.
  
 
=== Inheritance ===
 
=== Inheritance ===
  
This class inherits public member functions from:
+
[[IC_Python_API:RLPy_RINode|RINode]] > [[IC_Python_API:RLPy_RIObject|RIObject]] > [[IC_Python_API:RLPy_RIAvatar|RIAvatar]]
 
+
*[[IC_Python_API:RLPy_RIObject|RLPy.RIObject]]
+
  
 
=== Examples ===
 
=== Examples ===
  
<syntaxhighlight lang="Python">
+
<syntaxhighlight lang="python" line='line'>
 
avatar = RLPy.RScene.FindObject( RLPy.EObjectType_Avatar, "Jade" )
 
avatar = RLPy.RScene.FindObject( RLPy.EObjectType_Avatar, "Jade" )
  
Line 74: Line 72:
 
:Failure - RLPy.RStatus.Failure
 
:Failure - RLPy.RStatus.Failure
  
<syntaxhighlight lang="Python">
+
<syntaxhighlight lang="python" line='line'>
 
avatar_list = RLPy.RScene.GetAvatars()
 
avatar_list = RLPy.RScene.GetAvatars()
 
avatar = avatar_list[0]     
 
avatar = avatar_list[0]     
Line 90: Line 88:
 
:Pointer to the Skeleton Component object - [[IC_Python_API:RLPy_RISkeletonComponent|RISkeletonComponent]]
 
:Pointer to the Skeleton Component object - [[IC_Python_API:RLPy_RISkeletonComponent|RISkeletonComponent]]
  
<syntaxhighlight lang="Python">
+
<syntaxhighlight lang="python" line='line'>
 
avatar_list = RLPy.RScene.GetAvatars()
 
avatar_list = RLPy.RScene.GetAvatars()
 
avatar = avatar_list[0]     
 
avatar = avatar_list[0]     
Line 107: Line 105:
 
:Pointer to the Viseme Component object - [[IC_Python_API:RLPy_RIVisemeComponent|RIVisemeComponent]]
 
:Pointer to the Viseme Component object - [[IC_Python_API:RLPy_RIVisemeComponent|RIVisemeComponent]]
  
<syntaxhighlight lang="Python">
+
<syntaxhighlight lang="python" line='line'>
 
avatar_list = RLPy.RScene.GetAvatars()
 
avatar_list = RLPy.RScene.GetAvatars()
 
avatar = avatar_list[0]     
 
avatar = avatar_list[0]     
Line 123: Line 121:
 
:Pointer to the Morph Component object - [[IC_Python_API:RLPy_RIMorphComponent|RIMorphComponent]]
 
:Pointer to the Morph Component object - [[IC_Python_API:RLPy_RIMorphComponent|RIMorphComponent]]
  
<syntaxhighlight lang="Python">
+
<syntaxhighlight lang="python" line='line'>
 
avatar_list = RLPy.RScene.GetAvatars()
 
avatar_list = RLPy.RScene.GetAvatars()
 
avatar = avatar_list[0]     
 
avatar = avatar_list[0]     
Line 139: Line 137:
 
:Pointer to the Material Component object - [[IC_Python_API:RLPy_RIMaterialComponent|RIMaterialComponent]]
 
:Pointer to the Material Component object - [[IC_Python_API:RLPy_RIMaterialComponent|RIMaterialComponent]]
  
<syntaxhighlight lang="Python">
+
<syntaxhighlight lang="python" line='line'>
 
avatar_list = RLPy.RScene.GetAvatars()
 
avatar_list = RLPy.RScene.GetAvatars()
 
avatar = avatar_list[0]     
 
avatar = avatar_list[0]     
Line 155: Line 153:
 
:Pointer to the HIK Effector Component object - [[IC_Python_API:RLPy_RIHikEffectorComponent|RIHikEffectorComponent]]
 
:Pointer to the HIK Effector Component object - [[IC_Python_API:RLPy_RIHikEffectorComponent|RIHikEffectorComponent]]
  
<syntaxhighlight lang="Python">
+
<syntaxhighlight lang="python" line='line'>
 
avatar_list = RLPy.RScene.GetAvatars()
 
avatar_list = RLPy.RScene.GetAvatars()
 
avatar = avatar_list[0]     
 
avatar = avatar_list[0]     
Line 171: Line 169:
 
:Pointer to the Face Component object - [[IC_Python_API:RLPy_RIFaceComponent|RIFaceComponent]]
 
:Pointer to the Face Component object - [[IC_Python_API:RLPy_RIFaceComponent|RIFaceComponent]]
  
<syntaxhighlight lang="Python">
+
<syntaxhighlight lang="python" line='line'>
 
avatar_list = RLPy.RScene.GetAvatars()
 
avatar_list = RLPy.RScene.GetAvatars()
 
avatar = avatar_list[0]     
 
avatar = avatar_list[0]     
Line 181: Line 179:
  
 
Get the CC avatar standard generation for the character.
 
Get the CC avatar standard generation for the character.
 
*RLPy.EAvatarGeneration_None  =  0
 
*RLPy.EAvatarGeneration_CC_G1_Avatar = 1
 
*RLPy.EAvatarGeneration_CC_G3_Avatar = 2
 
*RLPy.EAvatarGeneration_CC_Game_Base_One = 3
 
*RLPy.EAvatarGeneration_CC_Game_Base_Multi = 4
 
  
 
==== Returns ====
 
==== Returns ====
 
:Character Creator Avatar generation - enum
 
:Character Creator Avatar generation - enum
 +
:*RLPy.EAvatarGeneration_None  =  0
 +
:*RLPy.EAvatarGeneration_CC_G1_Avatar = 1
 +
:*RLPy.EAvatarGeneration_CC_G3_Avatar = 2
 +
:*RLPy.EAvatarGeneration_CC_Game_Base_One = 3
 +
:*RLPy.EAvatarGeneration_CC_Game_Base_Multi = 4
  
<syntaxhighlight lang="Python">
+
<syntaxhighlight lang="python" line='line'>
 
avatar_list = RLPy.RScene.GetAvatars()
 
avatar_list = RLPy.RScene.GetAvatars()
 
avatar = avatar_list[0]     
 
avatar = avatar_list[0]     
Line 201: Line 198:
  
 
Get the character's avatar type.
 
Get the character's avatar type.
 
*RLPy.EAvatarType_None = 0
 
*RLPy.EAvatarType_Standard = 1
 
*RLPy.EAvatarType_NonStandard = 2
 
*RLPy.EAvatarType_NonHuman = 3
 
*RLPy.EAvatarType_StandardSeries = 4
 
*RLPy.EAvatarType_All = 5
 
  
 
==== Returns ====
 
==== Returns ====
 
:Avatar Type - enum
 
:Avatar Type - enum
 +
:*RLPy.EAvatarType_None = 0
 +
:*RLPy.EAvatarType_Standard = 1
 +
:*RLPy.EAvatarType_NonStandard = 2
 +
:*RLPy.EAvatarType_NonHuman = 3
 +
:*RLPy.EAvatarType_StandardSeries = 4
 +
:*RLPy.EAvatarType_All = 5
  
<syntaxhighlight lang="Python">
+
<syntaxhighlight lang="python" line='line'>
 
avatar_list = RLPy.RScene.GetAvatars()
 
avatar_list = RLPy.RScene.GetAvatars()
 
avatar = avatar_list[0]     
 
avatar = avatar_list[0]     

Latest revision as of 22:34, 14 April 2020

Main article: Modules.
Last modified: 04/14/2020

Description

This class provides methods to access all components of a character, for example: RISkeletonComponent, RIVisemeComponent, RIFaceComponent, etc. Retrieved component operations are thus available for usage.

Inheritance

RINode > RIObject > RIAvatar

Examples

 1 avatar = RLPy.RScene.FindObject( RLPy.EObjectType_Avatar, "Jade" )
 2 
 3 # set the name of the character
 4 avatar.SetName("new_name")
 5 
 6 # Get the name of the character
 7 avatar_name = avatar.GetName()
 8 print(avatar_name) # Jade
 9 
10 # Set a Transform key
11 control = avatar.GetControl("Transform")
12 transform = RLPy.RTransform.IDENTITY
13 transform.T().x = 100.0
14 transform.T().y = 100.0
15 transform.T().z = 100.0
16 control.SetValue(RLPy.RTime(0), transform)
17 
18 # Link and unlink to other objects; iClone Avatar can't set Parent
19 prop2 = RLPy.RScene.FindObject(RLPy.EObjectType_Prop, "Box2")
20 result = avatar.LinkTo(prop2, RLPy.RTime(0))
21 result = avatar.UnLink(RLPy.RTime(0))
22 
23 # Get the bounds
24 ret_max = RLPy.RVector3()
25 ret_center = RLPy.RVector3()
26 ret_min = RLPy.RVector3()
27 ret = avatar.GetBounds( ret_max, ret_center, ret_min )
28 print(ret)
29 
30 # Get the pivot point
31 ret_pos = RLPy.RVector3()
32 ret_rot = RLPy.RVector3()
33 avatar.GetPivot( ret_pos, ret_rot )
34 print(ret)
35 
36 # Clone the character
37 clone_avatar = avatar.Clone()
38 print( clone_avatar )
39 
40 # Check character selection
41 RLPy.RScene.SelectObject(avatar)
42 print(avatar.IsSelected()) #True

Member Functions

SetVisible (self, kTime, bVisible )

Set a visibility key by a given time.

Parameters

kTime [IN] Time at which to change visibility - RTime
bVisible [IN] Visibility status - bool

Returns

Success - RLPy.RStatus.Success
Failure - RLPy.RStatus.Failure
1 avatar_list = RLPy.RScene.GetAvatars()
2 avatar = avatar_list[0]    
3 avatar.SetVisible(RLPy.RTime(0), True)
4 avatar.SetVisible(RLPy.RTime(10), False)

GetSkeletonComponent (self)

Get the character's Skeleton Component, used for retrieving the entire skeleton.

See Also: RISkeletonComponent

Returns

Pointer to the Skeleton Component object - RISkeletonComponent
1 avatar_list = RLPy.RScene.GetAvatars()
2 avatar = avatar_list[0]    
3 skeleton_component = avatar.GetSkeletonComponent()
4 print(type(_component).__name__)
5 print(skeleton.GetClipCount())

GetVisemeComponent (self)

Get the character's Viseme Component, which provides operations related to lip-syncing.

See Also: RIVisemeComponent

Returns

Pointer to the Viseme Component object - RIVisemeComponent
1 avatar_list = RLPy.RScene.GetAvatars()
2 avatar = avatar_list[0]    
3 viseme_component  = avatar.GetVisemeComponent()
4 print(type(viseme_component).__name__)

GetMorphComponent (self)

Get the character's Morph Component, used to edit Morph Animation Keys or retrieve the current morph weighting.

See Also: RIMorphComponent

Returns

Pointer to the Morph Component object - RIMorphComponent
1 avatar_list = RLPy.RScene.GetAvatars()
2 avatar = avatar_list[0]    
3 morph_component  = avatar.GetMorphComponent()
4 print(type(morph_component).__name__)

GetMaterialComponent (self)

Get the character's Material Component, used for setting material related parameter values.

See Also: RIMaterialComponent

Returns

Pointer to the Material Component object - RIMaterialComponent
1 avatar_list = RLPy.RScene.GetAvatars()
2 avatar = avatar_list[0]    
3 material_component  = avatar.GetMaterialComponent()
4 print(type(material_component).__name__)

GetHikEffectorComponent (self)

Get the character's HIK Effector Component, used for controlling and managing the IK skeleton.

See Also: RIHikEffectorComponent

Returns

Pointer to the HIK Effector Component object - RIHikEffectorComponent
1 avatar_list = RLPy.RScene.GetAvatars()
2 avatar = avatar_list[0]    
3 material_component  = avatar.GetMaterialComponent()
4 print(type(material_component).__name__)

GetFaceComponent (self)

Get the Face Component for the character. Face Component is used to control the facial and head settings for the character.

See Also: RIFaceComponent

Returns

Pointer to the Face Component object - RIFaceComponent
1 avatar_list = RLPy.RScene.GetAvatars()
2 avatar = avatar_list[0]    
3 face_component  = avatar.GetFaceComponent()
4 print(type(face_component).__name__)

GetGeneration (self)

Get the CC avatar standard generation for the character.

Returns

Character Creator Avatar generation - enum
  • RLPy.EAvatarGeneration_None = 0
  • RLPy.EAvatarGeneration_CC_G1_Avatar = 1
  • RLPy.EAvatarGeneration_CC_G3_Avatar = 2
  • RLPy.EAvatarGeneration_CC_Game_Base_One = 3
  • RLPy.EAvatarGeneration_CC_Game_Base_Multi = 4
1 avatar_list = RLPy.RScene.GetAvatars()
2 avatar = avatar_list[0]    
3 avatar_generation = avatar.GetGeneration()
4 print(avatar_generation)

GetAvatarType (self)

Get the character's avatar type.

Returns

Avatar Type - enum
  • RLPy.EAvatarType_None = 0
  • RLPy.EAvatarType_Standard = 1
  • RLPy.EAvatarType_NonStandard = 2
  • RLPy.EAvatarType_NonHuman = 3
  • RLPy.EAvatarType_StandardSeries = 4
  • RLPy.EAvatarType_All = 5
1 avatar_list = RLPy.RScene.GetAvatars()
2 avatar = avatar_list[0]    
3 avatr_type = avatar.GetAvatarType()
4 print(avatr_type == RLPy.EAvatarType_StandardSeries)