要查询的动画属性,我们需要得到一个列表中的所有节点的连接,并找出其中是动画曲线的链接。
//this function takes the name of a node and prints the names of all animated attributes.
proc listAttachedAnimCurves(string $node)
{
//get the connections and connected nodes
$src_a = `listConnections -s true -d false -c true $node`;
$src_n = `listConnections -s true -d false $node`;
print($node+"\n");
for($i = 0;$i<size($src_n);$i++)
{
$j = $i * 2;
//query the node type of the connected node
$type = `nodeType $src_n[$i]`;
//see if it's a
//time to angular curve
//time to length curve or a
//time to unitless curve
if($type == "animCurveTA" || $type == "animCurveTL" || $type == "animCurveTU")
{
print("\t"+$src_a[$j+1]+"\n");
}
}
}
作者这么写的意图我没有理解到,实在不明白什么意思,我就贸然地修改了一下,获取物体有关键帧的节点:
//this function takes the name of a node and prints the names of all animated attributes.
proc listAttachedAnimCurves(string $node)
{
//get the connections and connected nodes
$src_a = `listConnections -s true -d false -c true $node`;
print($node+"\n");
for($i = 0;$i<size($src_a);$i++)
{
//query the node type of the connected node
$type = `nodeType $src_a[$i]`;
//see if it's a
//time to angular curve
//time to length curve or a
//time to unitless curve
if($type == "animCurveTA" || $type == "animCurveTL" || $type == "animCurveTU")
{
print("\t"+$src_a[$i]+"\n");
}
}
}