MotionBuilder插件开发常用功能——python_My梦的博客-CSDN博客_motionbuilder python
MotionBuilder的场景对象基类是FBComponent。您在大纲中看到的所有内容都是一个组件。
全名采用 groupname::namespace:name 的形式,并且在场景中必须是唯一的。组名是静态的,基于组件的类型。
每个组件都有一个包含其所有属性的 FBPropertyManager 实例。属性可以通过 PropertyList.Find()按名称获取。当您需要根据名称、命名空间或选择状态获取对场景对象的引用时,可以使用 pyfbsdk 模块中定义的全局函数。如果做不到这一点,您可以通过 FBScene 类访问特定类型的所有组件的列表。
FBFindModelByLabelName 返回一个给定其确切长名称的模型。FBFindObjectByFullName 返回一个给定其全名的组件。
FBFindObjectsByNamespace 和 FBFindObjectsByName 根据名称搜索多个组件。它们通过填充 FBComponentList 返回其结果。FBGetSelectedModels 使用当前选择的所有模型填充 FBModelList。
FBScene 类(可通过 FBSystem().Scene) 可用于循环访问特定类型的所有组件。
FBScene.Components是场景中每个组件的列表。
FBScene还为各种组件子类提供了许多列表,包括
Cameras
,Actors
,ControlSets(control rigs)
,Groups
等。与其他类型的组件不同,模型是分层的(即,它们具有子级)。FBScene.RootModel 是场景中最顶层的单个模型。FBModel.子函数允许我们迭代模型,我们通常使用递归函数对整个分支进行操作。
- Actors and Characters (and, as it happens, story tracks) 是FBConstraint的特定子类。
- 默认摄像机(Producer Perspective, Producer Front, etc.)位于“摄像机”列表中,并且它们是实际的 FBCamera 对象。但是,它们不存在于场景中作为模型,删除它们会使 MotionBuilder 崩溃. 这些默认摄像机的FBCamera.SystemCamera属性是True
Group Name | Associated Navigator Categories | Base Class |
---|---|---|
Model | Scene, Cameras, Lights | FBModel |
Constraint | Constraints, Actors, Characters | FBConstraint |
MarkerSet | Marker Sets | FBMarkerSet |
Audio | Audio | FBAudioClip |
Device | Devices | FBDevice |
Material | Materials | FBMaterial |
Pose | Poses | FBPose |
Shader | Shaders | FBShader |
Take | Takes | FBTake |
Texture | Textures | FBTexture |
Video | Videos | FBVideo |