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

From Reallusion Wiki!
Jump to: navigation, search
m
m
 
Line 13: Line 13:
 
=== Examples ===
 
=== Examples ===
  
<syntaxhighlight lang="python">
+
<syntaxhighlight lang="python" line='line'>
 
prop = RLPy.RScene.FindObject(RLPy.EObjectType_Prop, "Box")
 
prop = RLPy.RScene.FindObject(RLPy.EObjectType_Prop, "Box")
 
# get Name
 
# get Name
Line 65: Line 65:
 
:Material component of the prop - [[IC_Python_API:RLPy_RIMaterialComponent|RIMaterialComponent]]
 
:Material component of the prop - [[IC_Python_API:RLPy_RIMaterialComponent|RIMaterialComponent]]
  
<syntaxhighlight lang="python">
+
<syntaxhighlight lang="python" line='line'>
 
prop = RLPy.RScene.FindObject(RLPy.EObjectType_Prop, "Box")
 
prop = RLPy.RScene.FindObject(RLPy.EObjectType_Prop, "Box")
 
# get component
 
# get component
Line 93: Line 93:
 
:Morph component of the prop - [[IC_Python_API:RLPy_RIMorphComponent|RIMorphComponent]]
 
:Morph component of the prop - [[IC_Python_API:RLPy_RIMorphComponent|RIMorphComponent]]
  
<syntaxhighlight lang="python">
+
<syntaxhighlight lang="python" line='line'>
 
prop = RLPy.RScene.FindObject(RLPy.EObjectType_Prop, "Box")
 
prop = RLPy.RScene.FindObject(RLPy.EObjectType_Prop, "Box")
 
# get component
 
# get component
Line 117: Line 117:
 
:Skeleton component for the prop - [[IC_Python_API:RLPy_RISkeletonComponent|RISkeletonComponent]]
 
:Skeleton component for the prop - [[IC_Python_API:RLPy_RISkeletonComponent|RISkeletonComponent]]
  
<syntaxhighlight lang="python">
+
<syntaxhighlight lang="python" line='line'>
 
prop = RLPy.RScene.FindObject(RLPy.EObjectType_Prop, "Box")
 
prop = RLPy.RScene.FindObject(RLPy.EObjectType_Prop, "Box")
 
# get component
 
# get component
Line 141: Line 141:
 
:Whether or not the prop is a Dummy object - bool
 
:Whether or not the prop is a Dummy object - bool
  
<syntaxhighlight lang="python">
+
<syntaxhighlight lang="python" line='line'>
 
prop = RLPy.RScene.FindObject(RLPy.EObjectType_Prop, "Box")
 
prop = RLPy.RScene.FindObject(RLPy.EObjectType_Prop, "Box")
 
# dummy
 
# dummy
Line 162: Line 162:
 
:Failure - RLPy.RStatus.Failure
 
:Failure - RLPy.RStatus.Failure
  
<syntaxhighlight lang="python">
+
<syntaxhighlight lang="python" line='line'>
 
prop = RLPy.RScene.FindObject(RLPy.EObjectType_Prop, "Box")
 
prop = RLPy.RScene.FindObject(RLPy.EObjectType_Prop, "Box")
 
# dummy
 
# dummy
Line 182: Line 182:
 
:Failure - RLPy.RStatus.Failure
 
:Failure - RLPy.RStatus.Failure
  
<syntaxhighlight lang="python">
+
<syntaxhighlight lang="python" line='line'>
 
prop = RLPy.RScene.FindObject(RLPy.EObjectType_Prop, "Box")
 
prop = RLPy.RScene.FindObject(RLPy.EObjectType_Prop, "Box")
 
#set pivot
 
#set pivot
Line 203: Line 203:
 
:Failure - RLPy.RStatus.Failure
 
:Failure - RLPy.RStatus.Failure
  
<syntaxhighlight lang="python">
+
<syntaxhighlight lang="python" line='line'>
 
prop = RLPy.RScene.FindObject(RLPy.EObjectType_Prop, "Box")
 
prop = RLPy.RScene.FindObject(RLPy.EObjectType_Prop, "Box")
 
ret = prop.SetVisible( RLPy.RTime( 67 ), false )
 
ret = prop.SetVisible( RLPy.RTime( 67 ), false )
 
print(ret)
 
print(ret)
 
</syntaxhighlight>
 
</syntaxhighlight>

Latest revision as of 22:48, 14 April 2020

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

Description

This class can be used to access basic information of prop objects and obtain the control or components of the prop to modify its the transform values and materials.

Inheritance

RIBase > RIObject > RIProp 

Examples

 1 prop = RLPy.RScene.FindObject(RLPy.EObjectType_Prop, "Box")
 2 # get Name
 3 prop_name = prop.GetName()
 4 print(prop_name)                # Box
 5 # set name
 6 prop.SetName( "new_name" )
 7 # set Transform key
 8 control = prop.GetControl("Transform")
 9 transform = RLPy.RTransform.IDENTITY
10 transform.T().x = 100.0
11 transform.T().y = 100.0
12 transform.T().z = 100.0
13 control.SetValue(RLPy.RTime(0), transform)
14 
15 # set Parent
16 result = prop.SetParent(prop2)
17 result = prop.SetParent(None) #detach from parent
18 # link to &  unlink
19 result = prop.LinkTo(prop2, RLPy.RTime(0))
20 result = prop.UnLink(RLPy.RTime(0))
21 #get bound
22 ret_max = RLPy.RVector3()
23 ret_center = RLPy.RVector3()
24 ret_min = RLPy.RVector3()
25 ret = prop.GetBounds( ret_max, ret_center, ret_min )
26 print(ret)
27 #get pivot
28 ret_pos = RLPy.RVector3()
29 ret_rot = RLPy.RVector3()
30 prop.GetPivot( ret_pos, ret_rot )
31 print(ret)
32 
33 #clone object
34 clone_prop = prop.Clone()
35 print( clone_prop )
36 #is selected
37 RLPy.RScene.SelectObject(prop)
38 print(prop.IsSelected()) #True

Member Functions

GetMaterialComponent ( self )

Get the prop's Material Component, used to adjust the prop's material settings.

See Also: RIMaterialComponent

Returns

Material component of the prop - RIMaterialComponent
 1 prop = RLPy.RScene.FindObject(RLPy.EObjectType_Prop, "Box")
 2 # get component
 3 material_component = prop.GetMaterialComponent()
 4 mesh_list = prop.GetMeshNames()
 5 mesh_name = mesh_list[0]
 6 material_list = material_component.GetMaterialNames(mesh_name)
 7 material_name = material_list[0]
 8 # Modify material light - ambient channel
 9 ambient_color = RLPy.RRgb.RED
10 # Create Key
11 key = RLPy.RKey()
12 key.SetTime(RLPy.RTime(1200))
13 key.SetTransitionType(RLPy.ETransitionType_Linear)
14 key.SetTransitionStrength(50)
15 material_component.AddAmbientKey(key, mesh_name, material_name, ambient_color)
16 print(material_component.GetAmbientColor(mesh_name, material_name))

GetMorphComponent ( self )

Get the prop's Morph Component, used to adjust the prop's morph targets.

See Also: RIMorphComponent

Returns

Morph component of the prop - RIMorphComponent
 1 prop = RLPy.RScene.FindObject(RLPy.EObjectType_Prop, "Box")
 2 # get component
 3 morph_component = prop.GetMorphComponent()
 4 result = morph_component.AddKey( "your_mesh_name", "your_morph_name", RLPy.RTime(67),  0.5, False, False )
 5  
 6 f_ret_weight = 0
 7 return_list = morph_component.GetWeight( "your_mesh_name", "your_morph_name", RLPy.RTime(67), f_ret_weight )
 8 f_ret_weight = return_list[1]
 9 print(f_ret_weight) # is 0.5
10  
11 result = morph_component.RemoveAllKeys("your_mesh_name", "your_morph_name")
12 morph_names = morph_component.GetMorphNames("your_mesh_name")

GetSkeletonComponent ( self )

Get the prop's Skeleton Component, used for retrieving bone or clip related data.

See Also: RISkeletonComponent

Returns

Skeleton component for the prop - RISkeletonComponent
 1 prop = RLPy.RScene.FindObject(RLPy.EObjectType_Prop, "Box")
 2 # get component
 3 bone = prop.GetSkeletonComponent()
 4 print(bone.GetClip(0))
 5  
 6 # get selected bone
 7 selected_bones = bone.GetSelectedBones()
 8 print(len(selected_bones))
 9  
10 # get root bone
11 root_bone = bone.GetRootBone()
12 print(root_bone)

IsDummy ( self )

Check whether or not the prop is a Dummy object.

See Also: SetDummy

Returns

Whether or not the prop is a Dummy object - bool
1 prop = RLPy.RScene.FindObject(RLPy.EObjectType_Prop, "Box")
2 # dummy
3 prop.SetDummy( True )
4 is_dummy = prop.IsDummy()
5 print( is_dummy )  #True

SetDummy ( self, bIsDummy )

Set the Dummy state for the prop.

See Also: IsDummy

Parameters

bIsDummy [IN] Whether to set as Dummy object - bool

Returns

Success - RLPy.RStatus.Success
Failure - RLPy.RStatus.Failure
1 prop = RLPy.RScene.FindObject(RLPy.EObjectType_Prop, "Box")
2 # dummy
3 prop.SetDummy( True )
4 is_dummy = prop.IsDummy()
5 print( is_dummy )  #True

SetPivot ( self, kPosition, kOrientation )

Set the transforma values for the prop's pivot point.

Parameters

kPosition [IN] Pivot position for the prop - RVector3
kOrientation [IN] Pivot orientation for the prop - RVector3

Returns

Success - RLPy.RStatus.Success
Failure - RLPy.RStatus.Failure
1 prop = RLPy.RScene.FindObject(RLPy.EObjectType_Prop, "Box")
2 #set pivot
3 pos = RLPy.RVector3( 10, 10, 10 )
4 rot = RLPy.RVector3( 0, 0, 0 )
5 ret = prop.SetPivot( pos, rot )
6 print(ret)

SetVisible ( self, kTime, bVisible )

Set the prop's visibility at a given point in time.

Parameters

kTime [IN] Specifies the time to set visible - RTime
bVisible [IN] Visible status - bool

Returns

Success - RLPy.RStatus.Success
Failure - RLPy.RStatus.Failure
1 prop = RLPy.RScene.FindObject(RLPy.EObjectType_Prop, "Box")
2 ret = prop.SetVisible( RLPy.RTime( 67 ), false )
3 print(ret)