快盘下载:好资源、好软件、快快下载吧!

快盘排行|快盘最新

当前位置:首页软件教程电脑软件教程 → maya拼图随机打乱工具插件

maya拼图随机打乱工具插件

时间:2022-10-26 14:12:22人气:26作者:快盘下载我要评论

以前做的一个小案例;拼图打乱工具;效果如下图所示;
maya拼图随机打乱工具插件
打乱前需要record一下原始位置;之后;点击random打乱后的效果如下;

点击reset可以还原原始位置;

代码分享如下;

//coded by JingHai Tian in 2015
//this procedure can order the select objects randomly.
global proc tjh_random_order_proc()
{
if (;windowPref -exists tjh_random_order_proc_window ;)
windowPref -remove tjh_random_order_proc_window;
if (;window -exists tjh_random_order_proc_window ;)
deleteUI tjh_random_order_proc_window;
window -title ;南无阿弥陀佛; -w 300 -h 100 tjh_random_order_proc_window ;
columnLayout -w 100 ;
text -h 50 -l ; 随机顺序排列工具 Random Order Tool 1.0 ;;
rowLayout -numberOfColumns 3
-columnWidth3 100 100 100
-adjustableColumn 2
-columnAlign 1 ;right;
-columnAttach 1 ;both; 0
-columnAttach 2 ;both; 0;
button -w 100 -l ;record; -c ;tjh_random_order__recordOld;;
button -w 100 -l ;reset; -c ;tjh_random_order__restore;;
button -w 100 -l ;random; -c ;tjh_random_order__random;;
setParent ..;
showWindow tjh_random_order_proc_window;
}
//record the old order ids.
global proc tjh_random_order__recordOld()
{
global float $oldPosArrays_x[];
global float $oldPosArrays_y[];
global float $oldPosArrays_z[];
global string $oldSelects[];
string $selects[]= ; ls -sl ;;
$oldSelects = $selects;
for($i=0; $i<size($selects);$i;;)
{
$oldPosArrays_x[$i]= ; getAttr ($selects[$i];;.tx;) ;;
$oldPosArrays_y[$i]= ; getAttr ($selects[$i];;.ty;) ;;
$oldPosArrays_z[$i]= ; getAttr ($selects[$i];;.tz;) ;;
}
}
global proc tjh_random_order__restore()
{
global float $oldPosArrays_x[];
global float $oldPosArrays_y[];
global float $oldPosArrays_z[];
global string $oldSelects[];
select -r $oldSelects;
for($i=0; $i<size($oldSelects);$i;;)
{
setAttr ($oldSelects[$i];;.tx;) $oldPosArrays_x[$i];
setAttr ($oldSelects[$i];;.ty;) $oldPosArrays_y[$i];
setAttr ($oldSelects[$i];;.tz;) $oldPosArrays_z[$i];
}
}
global proc tjh_random_order__random() //
{
string $selects[] =;ls -sl;;
string $oldOrderIds[]= $selects;
//print $oldOrderIds;
string $newOrderIds[];
int $newIndex=0;
int $i,$j,$k;
int $selectTimes = size($oldOrderIds);
float $mx[],$my[],$mz[];
//random order & select method
while($selectTimes)
{
int $randselect = rand($selectTimes);
string $orderIdsTemp[];
int $tmpIndex=0;
for($k=0;$k<$selectTimes;$k;;)
{
if($k==$randselect){ $newOrderIds[$newIndex]=$oldOrderIds[$k]; $newIndex;;; };
//print $oldOrderIds;
//remove the select id from the old list.
if($k!=$randselect){ $orderIdsTemp[$tmpIndex]=$oldOrderIds[$k]; $tmpIndex;;; };
}
clear $oldOrderIds;
$oldOrderIds = $orderIdsTemp;
clear $orderIdsTemp;
$selectTimes --;
}
print $selects;
print $newOrderIds;
print (size($newOrderIds));
//transform the new list objects.
for($k=0;$k<size($selects);$k;;)
{
$mx[$k] = ; getAttr ($selects[$k];;.tx;);;
$my[$k] = ; getAttr ($selects[$k];;.ty;);;
$mz[$k] = ; getAttr ($selects[$k];;.tz;);;
}
//transform the new list objects.
for($k=0;$k<size($selects);$k;;)
{
setAttr ($newOrderIds[$k];;.tx;) $mx[$k];
setAttr ($newOrderIds[$k];;.ty;) $my[$k];
setAttr ($newOrderIds[$k];;.tz;) $mz[$k];
}
}
tjh_random_order_proc;

网友评论

快盘下载暂未开通留言功能。

关于我们| 广告联络| 联系我们| 网站帮助| 免责声明| 软件发布

Copyright 2019-2029 【快快下载吧】 版权所有 快快下载吧 | 豫ICP备10006759号公安备案:41010502004165

声明: 快快下载吧上的所有软件和资料来源于互联网,仅供学习和研究使用,请测试后自行销毁,如有侵犯你版权的,请来信指出,本站将立即改正。