v5.0
Reparents the objects in the input list under a transform group object. A transform group is a special
type of null that allows you to parent a number of objects for group transformations. Transform groups
are not visible by default. Transform groups can be made visible in Camera Visibility > Objects > Control
Objects > Transform Groups. Note that a transform group is not the same as a Group.
Unlike transform groups, groups are not 3D objects and do not affect the parenting of their members.
This command positions a transform group null at the location of the nearest common ancestor of all the
objects in the input list. If there are no input objects, the transform group will be placed under the
scene root. The command branch selects the new transform group.
Note: Bones cannot be part of a transform group because they cannot be reparented.
oReturn = CreateTransformGroup( [Name], [InputObjs] ); |
Returns the transform-group (an X3DObject object).
Parameter | Type | Description |
---|---|---|
Name | String |
Name of the group Default Value: "Group" |
InputObjs | String |
List of objects to put in the group. Default Value: Selected objects |
/* This example will transform group a cone twice, making a hierarchy 3 objects deep. Each object will be offset by 5 units in Y. */ // Make transform groups visible in the camera view SetValue("Camera.camvis.objctrltransfogroups", true, null); // Create and position the cone var oCone = CreatePrim("Cone", "MeshSurface"); var pos = XSIMath.CreateVector3(); pos.Set(0,5,0); oCone.LocalTranslation = pos; // Transform group the cone and offset the group 5 units in Y var oXfmGroup = CreateTransformGroup(null, "cone"); LogMessage("---1st group created---"); LogMessage("1st group's parent:" + oXfmGroup.Parent); LogMessage("1st group :" + oXfmGroup.Name); LogMessage("1st group's child :" + oXfmGroup.Children(0)); oXfmGroup.LocalTranslation = pos; // Group the cone again offset the new group. var oXfmGroup2 = CreateTransformGroup(null, "cone"); //Move the Transform Group up oXfmGroup2.LocalTranslation = pos; LogMessage("-----------------------"); LogMessage("---2nd group created---"); LogMessage("1st group's parent:" + oXfmGroup.Parent); LogMessage("1st group :" + oXfmGroup.Name); LogMessage("1st group's child :" + oXfmGroup.Children(0)); LogMessage("-----------------------"); LogMessage("2nd group's parent:" + oXfmGroup2.Parent); LogMessage("2nd group :" + oXfmGroup2.Name); LogMessage("2nd group's child :" + oXfmGroup2.Children(0)); ///////////////////////////////////// // Output from running this script: ///////////////////////////////////// //INFO : ---1st group created--- //INFO : 1st group's parent:Scene_Root //INFO : 1st group :transfogroup //INFO : 1st group's child :cone //INFO : ----------------------- //INFO : ---2nd group created--- //INFO : 1st group's parent:Scene_Root //INFO : 1st group :transfogroup //INFO : 1st group's child :transfogroup1 //INFO : ----------------------- //INFO : 2nd group's parent:transfogroup //INFO : 2nd group :transfogroup1 //INFO : 2nd group's child :cone |