一括してボーンをリネームするスクリプト
/**************************************
ボーンをリネームする
プレフィックス、サフィックスの追加
特定の文字列の削除ができる***************************************/
@script generic
@name BoneRenamer
@version 2.3generic
{
obj = Mesh(0);
if( nil == obj ){
error("Select MeshObject.");
return;
}
bon = obj.bone();
if( nil == bon ){
error("The Object has no Bone.");
return;
}
reqbegin("BoneRenamer");
choices = @"+Prefix", "+Suffix", "-String"@;
c1 = ctlpopup("Type", 1, choices);
c2 = ctlstring("Name", obj.name);
c3 = ctlcheckbox("Add colon(:)", true);
return if !reqpost();
Type = getvalue(c1);
Name = getvalue(c2);
Colon = getvalue(c3);
reqend();
if( 1 == Type ){
if( Colon ) Name = Name + ":";
addPrefix(bon, Name);
}else if( 2 == Type ){
if( Colon ) Name = ":" + Name;
addSuffix(bon, Name);
}else if( 3 == Type ){
removeStr(bon, Name);
}
}
addPrefix: bon, name
{
while( nil != bon )
{
newName = name + bon.name;
SelectItem(bon.id);
Rename(newName);
bon = bon.next();
}
}addSuffix: bon, name
{
while( nil != bon )
{
newName = bon.name + name;
SelectItem(bon.id);
Rename(newName);
bon = bon.next();
}
}removeStr: bon, name
{
while( nil != bon )
{
newName = bon.name - name;
SelectItem(bon.id);
Rename(newName);
bon = bon.next();
}
}