ひきつづきモデルのエクスポータを作成中
あとは複数選択出力できるようにするなり、オプションを適当に入力して
完成にしてしまおう。必要なものがあったら随時書き加えればよいし。
つぎのゲーム制作の工程に進もう。
自動で現在開いているシーンの直下にOutputフォルダを作って出力
ぐらいの親切処理は対応済み。
/** * @brief 出力先ブラウズボタンのクリックイベント */ global proc ModelEditor_OnChickBrouseOutputField() { string $sceneName = `file -q -sceneName`; string $dirName = `dirname $sceneName`; string $baseName = `basenameEx $sceneName`; string $results[] = `fileDialog2 -fileMode 3 -caption "出力先を指定してください" -startingDirectory $dirName`; if( 0<size($results) && $results[0]!="" ) { string $path = $results[0]+"/"+$baseName+".fbx"; textField -edit -text $path ModelEditor_OutputField; } } /** * @brief 選択出力ボタンイベント */ global proc ModelEditor_OnClickExportSelect() { // 出力先パスの取得 string $path = `textField -query -text ModelEditor_OutputField`; if( $path == "" ) { warning "出力先パスを入力してください"; return ; } string $result = `confirmDialog -title "メッセージ" -message ($path+"\nにFBXを出力してもよろしいですか?") -button "Yes" -button "No" -defaultButton "Yes" -cancelButton "No" -dismissString "No"`; if( $result == "Yes" ) { print( "========================================\n" ); print( " モデルの出力を開始します\n" ); print( "========================================\n" ); // メッシュを取得 string $selections[] = `ls -selection`; if( size($selections) != 1 ) { warning "ひとつのメッシュを選択してください"; return ; } print ("出力:"+$path+"\n"); // FBXの出力 file -force -options "" -type "FBX export" -exportSelected $path; print( "========================================\n" ); print( "モデルの出力を完了しました\n" ); select $selections; } } // // バージョン情報 // /** * @brief バージョン情報のオープン */ global proc ModelEditor_OpenVersion() { // 既存のウィンドウの破棄 if( `window -exists ModelEditorVersion` ) { deleteUI -window ModelEditorVersion; } // 新規ウィンドウの作成 string $win = `window -title "バージョン情報" -iconName "バージョン情報" -widthHeight 150 120 ModelEditorVersion`; columnLayout -adjustableColumn true; text -label "Model Editor 1.1" -align center; text -label "2020.05.15 update" -align center; setParent ..; showWindow $win; } // // ウィンドウ // /** * @brief ウィンドウのリロード */ global proc ModelEditor_ReloadWindow() { string $sceneName = `file -q -sceneName`; if( $sceneName != "" ) { string $dirName = `dirname $sceneName`; string $baseName = `basenameEx $sceneName`; string $path = $dirName + "/Output/" + $baseName + ".fbx"; textField -edit -text $path ModelEditor_OutputField; } print "ウィンドウリロードしました"; } /** * @brief ウィンドウのオープン */ global proc ModelEditor_OpenWindow() { // 既存のウィンドウの破棄 if( `window -exists ModelEditor` ) { deleteUI -window ModelEditor; } // 新規ウィンドウの作成 string $win = `window -title "ModelEditor" -iconName "ModelEditor" -widthHeight 300 360 ModelEditor`; // メニューバーレイアウト menuBarLayout; menu -label "ファイル"; menuItem -label "閉じる" -command "deleteUI -window ModelEditor"; menu -label "ヘルプ"; menuItem -label "バージョン情報" -command "ModelEditor_OpenVersion"; setParent ..; columnLayout -adjustableColumn true; // リロード rowLayout -numberOfColumns 1 -columnWidth1 80; button -label "リロード" -width 80 -command "ModelEditor_ReloadWindow()"; setParent ..; text -label ""; // 説明 text -label "説明:" -align left; text -label "モデルを選択してエクスポートボタンを押すことで\n指定したディレクトリに出力します。" -align left; text -label ""; // 出力先パス rowLayout -numberOfColumns 1 -columnWidth1 80; button -label "出力先パス:" -width 80 -command "ModelEditor_OnChickBrouseOutputField()"; setParent ..; // 出力先テキストフィールド textField -text "" ModelEditor_OutputField; text -label ""; // エクスポート button -label "エクスポート" - command "ModelEditor_OnClickExportSelect()"; setParent ..; // リロード ModelEditor_ReloadWindow(); showWindow $win; }