This reference page is linked to from the following overview topics: MotionBuilder 2014, MotionBuilder 2013, Your First Python Program, FBSystem - The System Class, Scene Elements, FBScene - The Scene Class, FBModel - Transformation Data and the Scene Graph.
Access to the MotionBuilder scene.
In MotionBuilder, the scene is the environment where your models exist. The scene contains models which you can import, select, transform, copy, tweak, and animate.
The FBScene object is obtained from the scene attribute of FBSystem.
The FBScene class contains many attributes that you can use to access objects, e.g cameras, characters, lights, and takes, essentially everything you see in the Navigator in the UI. A project can only contain one scene, and if you try to create an instance of a scene you will get an error, so you must access the scene by getting a handle through FBSystem.
See also the C++ code sample in toolscene.
#include <fbscene.h>
Public Member Functions | |
FBScene (HIObject pObject) | |
Constructor. | |
virtual void | FBDelete () |
Virtual FBDelete function. | |
void | Clear () |
Clears the elements part of the scene. | |
bool | Evaluate () |
Evaluate the scene. | |
bool | CandidateEvaluationAndResolve () |
Resolving the Candidate. | |
bool | EvaluateDeformations () |
Evaluate the deformations of the scene. | |
void | GetScriptsPaths (FBStringList &pPathList) |
Get paths of all the python scripts object in the scene. | |
Namespace Management. | |
int | NamespaceGetChildrenList (FBStringList &pNamespaceList, const char *pNamespace=NULL, bool pRecursive=true) |
Get list of children namespaces in the given namespace. | |
FBFileReference * | NamespaceGetOwnerFileReference (const char *pNamespace) |
Get Owner FileReference object if the namespace is originated from File Reference. | |
FBNamespace * | NamespaceGet (const char *pNamespace) |
Get Namespace object. | |
bool | NamespaceExist (const char *pNamespace) |
Query if namespace exists. | |
bool | NamespaceEmpty (const char *pNamespace) |
Query if namespace is empty. | |
void | NamespaceGetContentList (FBComponentList &pContentList, const char *pNamespace, FBPlugModificationFlag pModificationFlags=kFBPlugAllContent, bool pRecursive=true, int pTypeInfo=FBPlug::TypeInfo, bool pExactTypeMatch=false) |
Get List of the namespace content. | |
void | NamespaceSelectContent (const char *pNamespace, bool pSelect, FBPlugModificationFlag pModificationFlags=kFBPlugAllContent, bool pRecursive=true, int pTypeInfo=FBPlug::TypeInfo, bool pExactTypeMatch=false) |
Select (or de-select) the namespace content. | |
bool | NamespaceRename (const char *pNameSpace, const char *pNewNamespace, bool pRecursive=true, int pTypeInfo=FBPlug::TypeInfo, bool pExactTypeMatch=false) |
Rename the namespace. | |
bool | NamespaceDelete (const char *pNamespace) |
Delete the namespace & all its content. | |
bool | NamespaceCleanup () |
Remove all empty namespaces. | |
bool | NamespaceDeleteContent (const char *pNamespace, FBPlugModificationFlag pModificationFlags=kFBPlugAllContent, bool pRecursive=true, int pTypeInfo=FBPlug::TypeInfo, bool pExactTypeMatch=false) |
Delete the namespace content. | |
bool | NamespaceImport (const char *pNamespace, const char *pFilePath, bool pAsFileReference=false) |
Import file into Namespace (or as file reference) | |
bool | NamespaceImportToMultiple (const FBStringList &pDstNamespaceList, const char *pFilePath, bool pAsFileReference=false) |
Import file into multiple Namespaces (or as file references) | |
bool | NamespaceExport (const char *pNamespace, const char *pFilePath, bool pASCIIFormat=false) |
Export scene content within namespace to file. | |
Public Attributes | |
FBPropertyListTake | Takes |
List: Takes for scene. | |
FBPropertyModel | RootModel |
Read Only Property: Scene Root model for that scene | |
FBPropertyListCamera | Cameras |
List: Cameras in scene. | |
FBPropertyListMaterial | Materials |
List: Materials for scene. | |
FBPropertyListTexture | Textures |
List: Textures for scene. | |
FBPropertyListShader | Shaders |
List: Shaders for scene. | |
FBPropertyListDeformer | Deformers |
List: Deformers for scene. | |
FBPropertyListDevice | Devices |
List: Devices for scene. | |
FBPropertyListConstraint | Constraints |
List: Constraints in scene. | |
FBPropertyListLight | Lights |
List: Lights in scene. | |
FBPropertyListAudioClip | AudioClips |
List: Audio clips in scene. | |
FBPropertyListVideoClip | VideoClips |
List: Video clips in scene. | |
FBPropertyListMotionClip | MotionClips |
List: Motion clips in scene. | |
FBPropertyListFolder | Folders |
List: Folders in scene. | |
FBPropertyListNote | Notes |
List: Notes in scene. | |
FBPropertyListPose | Poses |
List: Poses in scene. | |
FBPropertyListObjectPose | ObjectPoses |
List: ObjectPoses in scene. | |
FBPropertyListActor | Actors |
List: Actors in scene. | |
FBPropertyListActorFace | ActorFaces |
List: ActorFaces in scene. | |
FBPropertyListMarkerSet | MarkerSets |
List: Marker sets in scene. | |
FBPropertyListCharacterMarkerSet | CharacterMarkerSets |
List: Character marker sets in scene. | |
FBPropertyListControlSet | ControlSets |
List: Control set rigs in scene. | |
FBPropertyListCharacter | Characters |
List: Characters in scene. | |
FBPropertyListCharacterFace | CharacterFaces |
List: Character faces in scene. | |
FBPropertyListCharacterPose | CharacterPoses |
List: Character poses in scene. | |
FBPropertyListCharacterExtension | CharacterExtensions |
List: Character extensions available in the scene. | |
FBPropertyListUserObject | UserObjects |
List: User objects | |
FBPropertyProjectSettings | ProjectSettings |
Read Only Property: Local project settings | |
FBPropertyRenderer | Renderer |
Read Only Property: Local renderer. | |
FBPropertyListComponent | Components |
List: Generic List of components. | |
FBPropertyListGroup | Groups |
List: Groups available in the scene. | |
FBPropertyListSet | Sets |
List: Sets available in the scene. | |
FBPropertyListNamespace | Namespaces |
List: Namespace (include FileReference) available in the scene | |
FBPropertyListFileReference | FileReferences |
List: FileReference available in the scene. | |
FBPropertyListHandle | Handles |
List: Handles present in the scene. | |
FBPropertyListHUD | HUDs |
Read Only Property: Heads Up Displays in the scene. | |
FBPropertyListConstraintSolver | ConstraintSolvers |
List: Constraint Solvers present in the scene. | |
FBPropertyListPhysicalProperties | PhysicalProperties |
List: PhysicalProperties present in the scene. | |
FBPropertyString | FilePath |
Read Write Property: File path of the scene. | |
FBPropertyListKeyingGroup | KeyingGroups |
Read Write Property: Keying Groups in the scene. | |
FBPropertyListModelSkeleton | ModelSkeletons |
Read Write Property: Bones (Skeletons) in the scene. | |
FBPropertyListModelOptical | ModelOpticals |
Read Write Property: Optical Data in the scene. | |
FBPropertyEvent | OnChange |
Event: Something in the scene has happened. | |
FBPropertyEvent | OnTakeChange |
Event: Something related to a take has happened. |
FBScene | ( | HIObject | pObject | ) |
Constructor.
Client code cannot instantiate objects of this class. The FBSystem class provides access to the current scene object.
pObject | Internal parent object. |
virtual void FBDelete | ( | ) | [virtual] |
void Clear | ( | ) |
Clears the elements part of the scene.
Not those that belong to all the scenes.
bool Evaluate | ( | ) |
Evaluate the scene.
bool CandidateEvaluationAndResolve | ( | ) |
bool EvaluateDeformations | ( | ) |
void GetScriptsPaths | ( | FBStringList & | pPathList | ) |
Get paths of all the python scripts object in the scene.
pPathList | Out parameter, to collect the path of python scripts. |
int NamespaceGetChildrenList | ( | FBStringList & | pNamespaceList, |
const char * | pNamespace = NULL , |
||
bool | pRecursive = true |
||
) |
Get list of children namespaces in the given namespace.
pNamespaceList | the list of namespace to return. |
pNamespace | specify the parent namespace, NULL for the whole scene. |
pRecursive | True only work on the direct children level namespace, otherwise will work on the whole children namespace hierarchy recursively. |
FBFileReference* NamespaceGetOwnerFileReference | ( | const char * | pNamespace | ) |
Get Owner FileReference object if the namespace is originated from File Reference.
pNamespace | the namespace to work on, could be nested namespace inside the FileReference's namespace. |
FBNamespace* NamespaceGet | ( | const char * | pNamespace | ) |
Get Namespace object.
pNamespace | the namespace to query |
bool NamespaceExist | ( | const char * | pNamespace | ) |
Query if namespace exists.
pNamespace | the namespace to query |
bool NamespaceEmpty | ( | const char * | pNamespace | ) |
Query if namespace is empty.
pNamespace | the namespace to query, NULL for whole scene. |
void NamespaceGetContentList | ( | FBComponentList & | pContentList, |
const char * | pNamespace, | ||
FBPlugModificationFlag | pModificationFlags = kFBPlugAllContent , |
||
bool | pRecursive = true , |
||
int | pTypeInfo = FBPlug::TypeInfo , |
||
bool | pExactTypeMatch = false |
||
) |
Get List of the namespace content.
pContentList | the list of content to return. |
pNamespace | the namespace to work on, NULL for whole scene. |
pModificationFlags | bitwise combination of kFBConnectionSrcObjectModified, kFBConnectionDstObjectModified, kFBConnectionSrcPropertyModified, kFBConnectionDstPropertyModified flags. kFBPlugAllContent means all the content. Modification flags beside kFBPlugAllContent will only work on FileReference Namespace. |
pRecursive | True only work on the direct children level namespace, otherwise will work on the whole children namespace hierarchy recursively. |
pTypeInfo | the typeInfo of the type of interested object, 0 for all the objects. |
pExactTypeMatch | if True, the derived typeInfo won't be considered (For example, FBCamera won't be considered when passing FBModel::TypeInfo). |
void NamespaceSelectContent | ( | const char * | pNamespace, |
bool | pSelect, | ||
FBPlugModificationFlag | pModificationFlags = kFBPlugAllContent , |
||
bool | pRecursive = true , |
||
int | pTypeInfo = FBPlug::TypeInfo , |
||
bool | pExactTypeMatch = false |
||
) |
Select (or de-select) the namespace content.
pNamespace | the namespace to work on, NULL for whole scene. |
pSelect | True (or False) indicate to select (or de-select) |
pModificationFlags | bitwise combination of kFBConnectionSrcObjectModified, kFBConnectionDstObjectModified, kFBConnectionSrcPropertyModified, kFBConnectionDstPropertyModified flags. kFBPlugAllContent means all the content. Modification flags beside kFBPlugAllContent will only work on FileReference Namespace. |
pRecursive | True only work on the direct children level namespace, otherwise will work on the children namespace hierarchy recursively. |
pTypeInfo | the typeInfo of the type of interested object, default for all the objects. |
pExactTypeMatch | if True, the derived typeInfo won't be considered (For example, FBCamera won't be considered when passing FBModel::TypeInfo). |
bool NamespaceRename | ( | const char * | pNameSpace, |
const char * | pNewNamespace, | ||
bool | pRecursive = true , |
||
int | pTypeInfo = FBPlug::TypeInfo , |
||
bool | pExactTypeMatch = false |
||
) |
Rename the namespace.
pNameSpace | the namespace to work on, NULL for whole scene. |
pNewNamespace | the new namespace |
pRecursive | True only work on the direct children level namespace, otherwise will work on the children namespace hierarchy recursively. |
pTypeInfo | the typeInfo of the type of interested object, default for all the objects. |
pExactTypeMatch | if True, the derived typeInfo won't be considered (For example, FBCamera won't be considered when passing FBModel::TypeInfo). |
bool NamespaceDelete | ( | const char * | pNamespace | ) |
Delete the namespace & all its content.
pNamespace | the namespace to work on |
bool NamespaceCleanup | ( | ) |
Remove all empty namespaces.
During some namespace operations, empty namespace may left over, while this is not harmful but could be annoying. Save the scene and load it back those empty namespaces will disappear. And this function also allow user to remove all empty namespaces from the scene easily via SDK.
bool NamespaceDeleteContent | ( | const char * | pNamespace, |
FBPlugModificationFlag | pModificationFlags = kFBPlugAllContent , |
||
bool | pRecursive = true , |
||
int | pTypeInfo = FBPlug::TypeInfo , |
||
bool | pExactTypeMatch = false |
||
) |
Delete the namespace content.
pNamespace | the namespace to work on |
pModificationFlags | bitwise combination of kFBConnectionSrcObjectModified, kFBConnectionDstObjectModified, kFBConnectionSrcPropertyModified, kFBConnectionDstPropertyModified flags. kFBPlugAllContent means all the content. Modification flags beside kFBPlugAllContent will only work on FileReference Namespace. |
pRecursive | True only work on the direct children level namespace, otherwise will work on the children namespace hierarchy recursively. |
pTypeInfo | the typeInfo of the type of interested object, default for all the objects. |
pExactTypeMatch | if True, the derived typeInfo won't be considered (For example, FBCamera won't be considered when passing FBModel::TypeInfo). |
bool NamespaceImport | ( | const char * | pNamespace, |
const char * | pFilePath, | ||
bool | pAsFileReference = false |
||
) |
Import file into Namespace (or as file reference)
pNamespace | the namespace to import to, must be in editable scope. |
pFilePath | the referenced file path to import. |
pAsFileReference | import the file as file reference. The default value is false. |
bool NamespaceImportToMultiple | ( | const FBStringList & | pDstNamespaceList, |
const char * | pFilePath, | ||
bool | pAsFileReference = false |
||
) |
Import file into multiple Namespaces (or as file references)
pDstNamespaceList | the Dst namespaces list to import, must not exist or be self contained. |
pFilePath | the referenced file path to import. |
pAsFileReference | import the file as file reference. The default value is false. |
bool NamespaceExport | ( | const char * | pNamespace, |
const char * | pFilePath, | ||
bool | pASCIIFormat = false |
||
) |
Export scene content within namespace to file.
pNamespace | the namespace to use, must exist |
pFilePath | the referenced file path to export. |
pASCIIFormat | save the file in ASCII format. |
FBPropertyModel RootModel |
Read Only Property: Scene Root model for that scene
List: Character marker sets in scene.
List: Control set rigs in scene.
List: Character faces in scene.
List: Character poses in scene.
List: Character extensions available in the scene.
FBPropertyProjectSettings ProjectSettings |
Read Only Property: Local project settings
FBPropertyRenderer Renderer |
Read Only Property: Local renderer.
List: Generic List of components.
Reimplemented from FBComponent.
List: Groups available in the scene.
List: Sets available in the scene.
List: Namespace (include FileReference) available in the scene
List: FileReference available in the scene.
List: Handles present in the scene.
Read Only Property: Heads Up Displays in the scene.
List: Constraint Solvers present in the scene.
List: PhysicalProperties present in the scene.
Read Write Property: File path of the scene.
Read Write Property: Keying Groups in the scene.
Read Write Property: Bones (Skeletons) in the scene.
Read Write Property: Optical Data in the scene.
Event: Something in the scene has happened.
Event: Something related to a take has happened.