Returns a ClusterElementCollection which provides access to the mapping between the indices of the Envelope and the associated vertex indices. This is important for Envelopes applied on partial clusters. This is equivalent to calling Cluster.Elements on the Cluster that the Envelope is attached to.
Parameter | Type | Description |
---|---|---|
Time | Double | Time (in frames) at which to get property
Default Value: Current time in frames |
'vbscript example that demonstrates how Envelope indices are mapped 'to indices of the points on the Geometry via the Envelope.Elements property newscene ,false set oSphere = ActiveSceneRoot.AddGeometry( "Sphere", "MeshSurface" ) 'Create a cluster that only contains some of the points. 'These are the only points that will be inflenced by the skeleton set oCluster = oSphere.ActivePrimitive.Geometry.AddCluster( _ siVertexCluster, "MyFrontPoints", Array( 5,10,12 ) ) 'Create the skeleton set oChainRoot = ActiveSceneRoot.Add3DChain set oEnvelope = oCluster.ApplyEnvelope( oChainRoot, siBranch ) aWeights = oEnvelope.Weights.Array for iElement=lbound(aWeights,2) to ubound(aWeights,2) 'Calculate the index of the point that corresponds to this 'index in the cluster iVertex = oEnvelope.Elements.Item( iElement ) logmessage "Envelope Weight " & iElement & _ " refers to point " & iVertex & " on the Geometry" next 'Output of this script is: 'INFO : "Envelope Weight 0 refers to point 5 on the Geometry" 'INFO : "Envelope Weight 1 refers to point 10 on the Geometry" 'INFO : "Envelope Weight 2 refers to point 12 on the Geometry" |