IC Python API:RLPy RScene

From Reallusion Wiki!
Revision as of 22:45, 14 April 2020 by Chuck (RL) (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Main article: Modules.
Last modified: 04/14/2020

Description

An animation project will usually contain all sorts of objects, such as characters, props, lights, cameras, particle systems, etc. The RScene class is used to manage these objects in the scene. It provides many functions for users to find and access these objects. RScene is a static class that can be used directly without having to create an instance. This class provides functions for finding objects by name or type, deleting object, showing / hiding objects, getting and setting selected object, and so on.

See Also: RIObject, RIAvatar, RIProp

Member Functions

ClearSelectObjects ( )

Deselect everything in the scene.

1 RLPy.RScene.ClearSelectObjects()

FindObject ( eType, strName )

Searches for an object by name and type. Returns the first object that fulfills the search criteria.

Parameters

eType [IN] Object type - RLPy.EObjectType
  • RLPy.EObjectType_Object
  • RLPy.EObjectType_Avatar
  • RLPy.EObjectType_Prop
  • RLPy.EObjectType_Camera
  • RLPy.EObjectType_Particle
  • RLPy.EObjectType_Light
  • RLPy.EObjectType_SpotLight
  • RLPy.EObjectType_PointLight
  • RLPy.EObjectType_DirectionalLight
strName [IN] Object name - string

Returns

First object that fulfills the search criteria - RIObject
 1 # find avatar
 2 avatar = RLPy.RScene.FindObject( RLPy.EObjectType_Avatar, "avatar_name" )
 3 print(type(avatar)) #RLPy.RIAvatar
 4 # find prop
 5 prop = RLPy.RScene.FindObject( RLPy.EObjectType_Prop, "prop_name" )
 6 print(type(prop)) #RLPy.RIProp
 7 # find camera
 8 camera = RLPy.RScene.FindObject( RLPy.EObjectType_Camera, "camera_name" )
 9 print(type(camera)) #RLPy.RICamera
10 # find particle
11 particle = RLPy.RScene.FindObject( RLPy.EObjectType_Particle, "particle_name" )
12 print(type(particle)) #RLPy.RIParticle

FindObjects ( args )

Searches for all objects that match by name and type.

See Also: FindObject

Parameters

eType [IN] Object type - RLPy.EObjectType
  • RLPy.EObjectType_Object
  • RLPy.EObjectType_Avatar
  • RLPy.EObjectType_Prop
  • RLPy.EObjectType_Camera
  • RLPy.EObjectType_Particle
  • RLPy.EObjectType_Light
  • RLPy.EObjectType_SpotLight
  • RLPy.EObjectType_PointLight
  • RLPy.EObjectType_DirectionalLight
strName [IN] Object name - string

Returns

All objects that fullfill the search criteria - RIObject list
1 props = RLPy.RScene.FindObjects( RLPy.EObjectType_Prop, "prop_name" )

GetAvatars ( eAvatarType )

Get all the characters in the scene. The search results can be filtered by avatar type.

See Also: FindObject, FindObjects

Parameters

eAvatarType [IN] Character type - RLPy.EAvatarType
  • RLPy.EAvatarType_Standard
  • RLPy.EAvatarType_NonStandard
  • RLPy.EAvatarType_NonHuman
  • RLPy.EAvatarType_StandardSeries
  • RLPy.EAvatarType_All

Returns

All avatars that fulfill the search criteria - RIAvatar list
 1 # Find standard avatars
 2 avatars = RLPy.RScene.GetAvatars( RLPy.EAvatarType_Standard )
 3 
 4 # Find avatars and props
 5 result = RLPy.RScene.FindObjects( RLPy.EObjectType_Avatar | RLPy.EObjectType_Prop, "same_name" )
 6 print(len(result))
 7 for i in range(len(result)):
 8    print(type(result[i]))  #RLPy.RIAvatar or IC_Python_API:RLPy_RIProp|RIProp
 9   
10 result = RLPy.RScene.FindObjects( RLPy.EObjectType_Avatar | RLPy.EObjectType_Prop )
11 print(len(result)) # All avatars and props

GetProps ( )

Get all the props in the scene.

See Also: FindObject, FindObjects

Returns

All props - RIObject list
1 props = RLPy.RScene.GetProps()

GetSelectedObjects ( )

Get all the selected object in the scene. If no objects are selected then return an empty list.

See Also: SelectObject, SelectObjects, ClearSelectObjects

Returns

All selected objects - RIObject list
1 # get selected objects
2 selection_list = RLPy.RScene.GetSelectedObjects()
3 print(selection_list) #print selected objects

Hide ( spObject )

Hide an object in the scene.

See Also: Show

Parameters

spObject [IN] Object to be hidden - RIObject
1 avatar = RLPy.RScene.FindObject( RLPy.EObjectType_Avatar, "name" )
2 RLPy.RScene.Hide(avatar)

RemoveObject ( spObject )

Remove an object from the scene.

See Also: Show

Parameters

spObject [IN] Object for removal - RIObject

Returns

Success - RLPy.RStatus.Success
Failure - RLPy.RStatus.Failure
1 avatar = RLPy.RScene.FindObject( RLPy.EObjectType_Avatar, "name" )
2 RLPy.RScene.RemoveObject(avatar)

SelectObject ( spObject )

Select an object in the scene.

See Also: SelectObjects, ClearSelectObjects, GetSelectedObjects

Parameters

spObject [IN] Object to be selected - RIObject

Returns

Success - RLPy.RStatus.Success
Failure - RLPy.RStatus.Failure
1 avatar = RLPy.RScene.FindObject( RLPy.EObjectType_Avatar, "name" )
2 RLPy.RScene.SelectObject(avatar)

SelectObjects ( kObjects )

Select several objects in the scene.

See Also: SelectObject, ClearSelectObjects, GetSelectedObjects

Parameters

kObjects [IN] Objects for seletion - RIObject list

Returns

Success - RLPy.RStatus.Success
Failure - RLPy.RStatus.Failure
1 avatars = RLPy.RScene.FindObjects( RLPy.EObjectType_Avatar )
2 RLPy.RScene.SelectObjects(avatars)

Show ( spObject )

Display an object in the scene.

See Also: Hide

Parameters

spObject [IN] Object to be shown - RIObject
1 avatar = RLPy.RScene.FindObject( RLPy.EObjectType_Avatar, "name" )
2 RLPy.RScene.Show(avatar)