![](http://1.bp.blogspot.com/_Dy0VMx6TRSQ/ShIZK8rxsTI/AAAAAAAAAAM/b8nSKXBgIbo/s320/primng.jpg)
MAYAのカレントプロジェクトの仕様はXSIから来るとどうにも使いづらい。なのでXSI風のプロジェクトマネージャーを作成。ボタンを押せばカレントプロジェクトディレクトリが変わります。
見ればわかるとおり7個分のDBをベタ記述(汗)。そのうち直せればいいなあ。
//プロジェクトマネージャー
//ディレクトリと名称を変数宣言
//ここのパスを書き換えるだけで6つまでプロジェクトリストを登録できます(7つ以上はプロシージャとボタンの追加が必要)
//★注意★MAYAはパスの区切り記号の"\"を認識できません(よう気がする)。必ずスラッシュに置き換えてください
//あとリストウィンドウが更新されなくなるバグがあるようです。原因不明。症状が起きたら一旦ウィンドウを消してみてください(放置でも動作に支障なし)
string $DBdir01 = "C:/onogu2/MAYAproject";
string $DBname01 = "C/ローカルtempフォルダ1";
string $DBdir02 = "C:/onogu2/MAYAproject";
string $DBname02 = "C/ローカルtempフォルダ2";
string $DBdir03 = "C:/onogu2/MAYAproject";
string $DBname03 = "C/ローカルtempフォルダ3";
string $DBdir04 = "C:/users";
string $DBname04 =" (未登録) ";
string $DBdir05 = "C:/users";
string $DBname05 = " (未登録) ";
string $DBdir06 = "C:/users";
string $DBname06 = " (未登録) ";
///////////////////////////////////////////////////////////////////////////
if(`window -ex prjWindow`) deleteUI prjWindow;
//DBリスト1
proc changeDB01()
{
global string $DBdir01;
setProject $DBdir01;
//ディレクトリリスト更新
if(`window -ex listWindow`) deleteUI listWindow;
window -wh 250 120 listWindow;
paneLayout ProjPanes;
projFileViewer -dm 0 ProjFileView;
paneLayout -e -cn single -sp ProjFileView 1 ProjPanes;
projFileViewer -e -fr ProjFileView;
showWindow;
}
//DBリスト2
proc changeDB02()
{
global string $DBdir02;
setProject $DBdir02;
//ディレクトリリスト更新
if(`window -ex listWindow`) deleteUI listWindow;
window -rtf 0 -wh 250 120 listWindow;
paneLayout ProjPanes;
projFileViewer -dm 0 ProjFileView;
paneLayout -e -cn single -sp ProjFileView 1 ProjPanes;
projFileViewer -e -fr ProjFileView;
showWindow;
}
//DBリスト3
proc changeDB03()
{
global string $DBdir03;
setProject $DBdir03;
//ディレクトリリスト更新
if(`window -ex listWindow`) deleteUI listWindow;
window -rtf 0 -wh 250 120 listWindow;
paneLayout ProjPanes;
projFileViewer -dm 0 ProjFileView;
paneLayout -e -cn single -sp ProjFileView 1 ProjPanes;
projFileViewer -e -fr ProjFileView;
showWindow;
}
//DBリスト4
proc changeDB04()
{
global string $DBdir04;
setProject $DBdir04;
//ディレクトリリスト更新
if(`window -ex listWindow`) deleteUI listWindow;
window -rtf 0 -wh 250 120 listWindow;
paneLayout ProjPanes;
projFileViewer -dm 0 ProjFileView;
paneLayout -e -cn single -sp ProjFileView 1 ProjPanes;
projFileViewer -e -fr ProjFileView;
showWindow;
}
//DBリスト5
proc changeDB05()
{
global string $DBdir05;
setProject $DBdir05;
//ディレクトリリスト更新
if(`window -ex listWindow`) deleteUI listWindow;
window -rtf 0 -wh 250 120 listWindow;
paneLayout ProjPanes;
projFileViewer -dm 0 ProjFileView;
paneLayout -e -cn single -sp ProjFileView 1 ProjPanes;
projFileViewer -e -fr ProjFileView;
showWindow;
}
//DBリスト6
proc changeDB06()
{
global string $DBdir06;
setProject $DBdir06;
//ディレクトリリスト更新
if(`window -ex listWindow`) deleteUI listWindow;
window -rtf 0 -wh 250 120 listWindow;
paneLayout ProjPanes;
projFileViewer -dm 0 ProjFileView;
paneLayout -e -cn single -sp ProjFileView 1 ProjPanes;
projFileViewer -e -fr ProjFileView;
showWindow;
}
///////////////////////////////////////////////////////////////////////////
//ファイルのロード
proc load()
{
OpenScene;
}
//ファイルのセーブ
proc save()
{
SaveSceneAs;
}
//ファイルの上書き保存
proc saveOverwrite()
{
file -save;
}
//ファイルのインポート
proc import()
{
Import;
}
///////////////////////////////////////////////////////////////////////////
//ボタンつきウィンドウの設定
window -title "プロジェクトマネージャー" prjWindow;
columnLayout -adjustableColumn true;
text -label "プロジェクトDBの変更";
button -label $DBname01 -align "left" -command "changeDB01";
button -label $DBname02 -align "left" -command "changeDB02";
button -label $DBname03 -align "left" -command "changeDB03";
button -label $DBname04 -align "left" -command "changeDB04";
button -label $DBname05 -align "left" -command "changeDB05";
button -label $DBname06 -align "left" -command "changeDB06";
separator -height 20 ;
setParent ..;
rowLayout -numberOfColumns 4 -columnWidth4 60 60 90 60;
button -label " ロード " -command "load";
button -label " セーブ " -command "save";
button -label " 上書き保存 " -command "saveOverwrite";
button -label "インポート" -command "Import";
setParent ..;
showWindow;
window -e -h 280 -w 320 prjWindow;
///////////////////////////////////////////////////////////////////////////
0 件のコメント:
コメントを投稿