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

From Reallusion Wiki!
Jump to: navigation, search
m (Description)
m
Line 5: Line 5:
 
== Description ==
 
== Description ==
  
'''RIProp''' 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.
+
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: [[IC_Python_API:RLPy_RIBase|RIBase]] > [[IC_Python_API:RLPy_RIObject|RIObject]] > '''RIProp'''.
+
=== Inheritance ===
  
<syntaxhighlight lang="Python">
+
[[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="Python">
+
<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="Python">
+
<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="Python">
+
<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="Python">
+
<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="Python">
+
<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="Python">
+
<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="Python">
+
<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 01: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)