Difference between revisions of "IC Python API:RLPy RIProp"
From Reallusion Wiki!
Chuck (RL) (Talk | contribs) m (→Description) |
Chuck (RL) (Talk | contribs) m |
||
Line 5: | Line 5: | ||
== Description == | == 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 === | |
− | <syntaxhighlight lang=" | + | [[IC_Python_API:RLPy_RIBase|RIBase]] > [[IC_Python_API:RLPy_RIObject|RIObject]] > [[IC_Python_API:RLPy_RIProp|RIProp]] |
+ | |||
+ | <syntaxhighlight lang="python"> | ||
prop = RLPy.RScene.FindObject(RLPy.EObjectType_Prop, "Box") | prop = RLPy.RScene.FindObject(RLPy.EObjectType_Prop, "Box") | ||
# get Name | # get Name | ||
Line 61: | Line 63: | ||
:Material component of the prop - [[IC_Python_API:RLPy_RIMaterialComponent|RIMaterialComponent]] | :Material component of the prop - [[IC_Python_API:RLPy_RIMaterialComponent|RIMaterialComponent]] | ||
− | <syntaxhighlight lang=" | + | <syntaxhighlight lang="python"> |
prop = RLPy.RScene.FindObject(RLPy.EObjectType_Prop, "Box") | prop = RLPy.RScene.FindObject(RLPy.EObjectType_Prop, "Box") | ||
# get component | # get component | ||
Line 89: | Line 91: | ||
:Morph component of the prop - [[IC_Python_API:RLPy_RIMorphComponent|RIMorphComponent]] | :Morph component of the prop - [[IC_Python_API:RLPy_RIMorphComponent|RIMorphComponent]] | ||
− | <syntaxhighlight lang=" | + | <syntaxhighlight lang="python"> |
prop = RLPy.RScene.FindObject(RLPy.EObjectType_Prop, "Box") | prop = RLPy.RScene.FindObject(RLPy.EObjectType_Prop, "Box") | ||
# get component | # get component | ||
Line 113: | Line 115: | ||
:Skeleton component for the prop - [[IC_Python_API:RLPy_RISkeletonComponent|RISkeletonComponent]] | :Skeleton component for the prop - [[IC_Python_API:RLPy_RISkeletonComponent|RISkeletonComponent]] | ||
− | <syntaxhighlight lang=" | + | <syntaxhighlight lang="python"> |
prop = RLPy.RScene.FindObject(RLPy.EObjectType_Prop, "Box") | prop = RLPy.RScene.FindObject(RLPy.EObjectType_Prop, "Box") | ||
# get component | # get component | ||
Line 137: | Line 139: | ||
:Whether or not the prop is a Dummy object - bool | :Whether or not the prop is a Dummy object - bool | ||
− | <syntaxhighlight lang=" | + | <syntaxhighlight lang="python"> |
prop = RLPy.RScene.FindObject(RLPy.EObjectType_Prop, "Box") | prop = RLPy.RScene.FindObject(RLPy.EObjectType_Prop, "Box") | ||
# dummy | # dummy | ||
Line 158: | Line 160: | ||
:Failure - RLPy.RStatus.Failure | :Failure - RLPy.RStatus.Failure | ||
− | <syntaxhighlight lang=" | + | <syntaxhighlight lang="python"> |
prop = RLPy.RScene.FindObject(RLPy.EObjectType_Prop, "Box") | prop = RLPy.RScene.FindObject(RLPy.EObjectType_Prop, "Box") | ||
# dummy | # dummy | ||
Line 178: | Line 180: | ||
:Failure - RLPy.RStatus.Failure | :Failure - RLPy.RStatus.Failure | ||
− | <syntaxhighlight lang=" | + | <syntaxhighlight lang="python"> |
prop = RLPy.RScene.FindObject(RLPy.EObjectType_Prop, "Box") | prop = RLPy.RScene.FindObject(RLPy.EObjectType_Prop, "Box") | ||
#set pivot | #set pivot | ||
Line 199: | Line 201: | ||
:Failure - RLPy.RStatus.Failure | :Failure - RLPy.RStatus.Failure | ||
− | <syntaxhighlight lang=" | + | <syntaxhighlight lang="python"> |
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> |
Revision as of 00:29, 9 April 2020
- Main article: Modules.
- Last modified: 04/9/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
prop = RLPy.RScene.FindObject(RLPy.EObjectType_Prop, "Box")
# get Name
prop_name = prop.GetName()
print(prop_name) # Box
# set name
prop.SetName( "new_name" )
# set Transform key
control = prop.GetControl("Transform")
transform = RLPy.RTransform.IDENTITY
transform.T().x = 100.0
transform.T().y = 100.0
transform.T().z = 100.0
control.SetValue(RLPy.RTime(0), transform)
# set Parent
result = prop.SetParent(prop2)
result = prop.SetParent(None) #detach from parent
# link to & unlink
result = prop.LinkTo(prop2, RLPy.RTime(0))
result = prop.UnLink(RLPy.RTime(0))
#get bound
ret_max = RLPy.RVector3()
ret_center = RLPy.RVector3()
ret_min = RLPy.RVector3()
ret = prop.GetBounds( ret_max, ret_center, ret_min )
print(ret)
#get pivot
ret_pos = RLPy.RVector3()
ret_rot = RLPy.RVector3()
prop.GetPivot( ret_pos, ret_rot )
print(ret)
#clone object
clone_prop = prop.Clone()
print( clone_prop )
#is selected
RLPy.RScene.SelectObject(prop)
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
prop = RLPy.RScene.FindObject(RLPy.EObjectType_Prop, "Box")
# get component
material_component = prop.GetMaterialComponent()
mesh_list = prop.GetMeshNames()
mesh_name = mesh_list[0]
material_list = material_component.GetMaterialNames(mesh_name)
material_name = material_list[0]
# Modify material light - ambient channel
ambient_color = RLPy.RRgb.RED
# Create Key
key = RLPy.RKey()
key.SetTime(RLPy.RTime(1200))
key.SetTransitionType(RLPy.ETransitionType_Linear)
key.SetTransitionStrength(50)
material_component.AddAmbientKey(key, mesh_name, material_name, ambient_color)
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
prop = RLPy.RScene.FindObject(RLPy.EObjectType_Prop, "Box")
# get component
morph_component = prop.GetMorphComponent()
result = morph_component.AddKey( "your_mesh_name", "your_morph_name", RLPy.RTime(67), 0.5, False, False )
f_ret_weight = 0
return_list = morph_component.GetWeight( "your_mesh_name", "your_morph_name", RLPy.RTime(67), f_ret_weight )
f_ret_weight = return_list[1]
print(f_ret_weight) # is 0.5
result = morph_component.RemoveAllKeys("your_mesh_name", "your_morph_name")
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
prop = RLPy.RScene.FindObject(RLPy.EObjectType_Prop, "Box")
# get component
bone = prop.GetSkeletonComponent()
print(bone.GetClip(0))
# get selected bone
selected_bones = bone.GetSelectedBones()
print(len(selected_bones))
# get root bone
root_bone = bone.GetRootBone()
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
prop = RLPy.RScene.FindObject(RLPy.EObjectType_Prop, "Box")
# dummy
prop.SetDummy( True )
is_dummy = prop.IsDummy()
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
prop = RLPy.RScene.FindObject(RLPy.EObjectType_Prop, "Box")
# dummy
prop.SetDummy( True )
is_dummy = prop.IsDummy()
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
prop = RLPy.RScene.FindObject(RLPy.EObjectType_Prop, "Box")
#set pivot
pos = RLPy.RVector3( 10, 10, 10 )
rot = RLPy.RVector3( 0, 0, 0 )
ret = prop.SetPivot( pos, rot )
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
prop = RLPy.RScene.FindObject(RLPy.EObjectType_Prop, "Box")
ret = prop.SetVisible( RLPy.RTime( 67 ), false )
print(ret)