スクリプト集へ戻る
マスターサーフェス付エクスポート・インポートスクリプト
スクリプト名:

MasterExport for R6 ver1
MasterImport for R6 ver1

整理番号:script_005及びscript_006
file名:

MasterExport.vbs
MasterImport.vbs

ダウンロード MasterExpImp.lzh (ANSI版)
概略:

Shade標準のエキスポート及びインポートはマスターサーフェスに対応していません。
表面材質を維持しながらエキスポートする為にはプラグインの「マスターサーフェスから独立」を使用する事になります。
しかし、これではマスターサーフェスの再構築が大変です。
このスクリプトはマスターサーフェスを表面材質ファイルと言う形で形状とともに同じフォルダに保存し(MasterExporT.vbs)、その保存した形状ファイルと表面材質ファイルをインポートしてマスターサーフェスとして再現させる(MasterImport.vbs)ものです。
スクリプト作成の参考にしていただければと思います。

2つのスクリプトが圧縮されてセットになっています。

Faustさん(プラグイン)、TANIMOTOさん(jscript)がより機能的なものを作成しておられますのでそちらも参考にして下さい。Shadeプラグイン/スクリプト検索で検索できます。
2004/02/08:新規フォルダ作成のお手数ですが不具合修正しましたので新しいスクリプトに差し替えてください。

Topへ
----------ご使用の前に(重要)----------
最初に このスクリプトでは操作を楽にする為ディフォルトのパスを設定するようになっています。
下記の指示に従って正しいパス名を設定してください。
自動的にフォルダを作る仕様にはなっていませんので設定したデフォルトのパスの位置に必ずフォルダが存在するようにしてください。 もしデフォルトのフォルダがないと正しく機能しません。


実はスクリプトではエクスポートの「設定」は制御できません
前回実行したShadeのエキスポート設定がそのまま適用されます。
ですから一部の形状をエキスポートする時はスクリプト実行前にShadeの[ファイル]メニューの[エキスポート](左図参照)で設定をして「OK」を押してファイル保存メニューでキャンセルして変更してください。

ここで表面材質にチェックを入れるとスクリプトでもマスターサーフェス以外の表面材質が個々に設定され、チェックしないとマスターサーフェスを設定したものだけが設定されるようになります。


最後の「注意事項」は必ずお読みください。

フォルダ作成

最初にデータを保管したいフォルダを使いやすい場所に作成してください。
(スクリプト内でフォルダを移動できますがデフォルトを設定しておくことで入力が楽になります。)
次に、ダウンロードした「MasterExpInp.lzh」を解凍して、MasterExport.vbsをメモ帳で開くと最初の方に
const DEFAULT_PATH="c:\Shade\部品withMaster"
const DEFAULT_NAME="temp"

という記述があります。
このDEFAULT_PATHにデータを作成したフォルダのパスを指定してください。(最後に\は必要ありません)

次にMasterImport.vbsにメモ帳で開き、こちらについても全く同じように設定してください。


Topへ
参考 初期設定でのフォルダの位置

初期設定(圧縮ファイルを解凍した段階)では右図のようにc:直下に「Shade」というフォルダを、その中に「部品withMaster」というフォルダがある状態になっています。

初期設定で設定する場合は右図の位置に同じ名前のフォルダを作ってください。但し英数字は半角、カタカナは全角になっていますので注意してください。


-----使用方法(マスターサーフェス付エクスポート)----- Topへ

1.

エクスポート設定チェック

ご使用の前にで説明したようにエキスポート設定を予め確認して希望の設定になっているか確認し、そうでない場合は変更しておいてください。

2.

ブラウザで選択

Shadeのブラウザでエクスポートしたい形状、パートを選択してからスクリプトを起動します。

しつこいようですがエキスポート設定は前回設定した設定がそのまま適用されますのでこの例のように、選択したものをエクスポートしたい時は、必ずエクスポートダイアログの設定 出力(O)が「選択された形状」になっていることを確認してください。

選択したらスクリプトを起動します。

3.

スクリプトの起動


3-1

メインダイアログ




スクリプトを実行すると左のダイアログボックス表示されます。
これはこのスクリプトのディレクトリ選択メニューになります。
ここでキャンセルを押すとスクリプトを中断できます。






サブフォルダの内容を見ると「確定」「新規作成」「上のフォルダに戻る」の3つがあります。
確定・・・上のフォルダーパスのディレクトリに確定する。
新規作成・・・上のフォルダの下に別のフォルダを作成する。
上のフォルダに戻る・・・この場合なら"c:\Shade"に移動します。

確定以外が指定された場合はその指示にしたがって処理したあと、一番上の「フォルダーのパス」が更新されて同じ画面が出てきます。




表面材質セットの項目には「--新規作成--」とそのフォルダーに現在登録されているセット名が表示されます。
もし何も登録されていなければ「--新規登録--」だけが表示されます。

ここで既存のセットを選択するとそのセット(実体はフォルダ名)を上書きすることになり、新規作成を選択して「OK」を押すと次のダイアログが現れて新しいセット(フォルダ)を作成することになります。

先頭に付加されている"_MS_"は一般のフォルダーと区別する為にスクリプトが勝手に付け加えたものです。

※サブフォルダーで「--確定--」以外を選択して「OK」を押した場合は表面材質セットでの選択は無視されます。


3-1

セット名入力ダイアログ
2で「新規作成」を選択して「OK」を押すと、新規登録するセット名入力ダイアログが現れます。
上部にすでに登録されているセット名(実体はフォルダ名)が一覧表示されますので、それ以外の名前を付けてください。
この名前はそのままフォルダ名になりますのでフォルダ名に使えない文字で入力すると警告が出ます。
設定名を入力したら「OK」を押します。
キャンセルを押すとメニューに戻ります。

ダイアログにもありますが先頭についている"_MS_”は自動的につきますので入力の必要はありません。


3-2

確認ダイアログ
新規セット名を入力して「OK」を押すと左図のようなダイアログが現れます。

確認して「OK」を押すとマスターサーフェス付エキスポートが完了します。
必要なデータは先ほど作成した一つのフォルダにまとめて保存されます。あとはマスターサーフェス付インポートでインポートするだけです。

ここでキャンセルを押すと作業を中止して最初のダイアログに戻ります。


-----使用方法(マスターサーフェス付インポート)----- Topへ


今回は説明なのでファイルメニューの新規作成でルートパートしかないものにインポートします。

ルートパートを選択してスクリプト「マスターサーフェス付インポート」を起動します。



最初に出てくる画面はエクスポートの時とほぼ同じですがドロップダウンリストの中身は少し違います。

サブフォルダーの中を見ると「--新規作成--」がありません。
今回はインポートするセットを選択するだけなので(当然ですが)必要ないのです。

フォルダーのパスに表示されたフォルダーに別のフォルダーがあるときは上のフォルダにもドルの下にリストで表示されます。



サブフォルダーで「上のフォルダに戻る」を使ったりフォルダリストにあるフォルダを選択するなどして別のフォルダーに移動することもできます。

そのフォルダに表面材質セット(フォルダ名の頭に_MS_がついているもの)がなければ左図のような表示になります。




表面材質セットはどうしょう。

やはり同様の理由から「--新規作成--」がありません。

ここでは上で確定したフォルダーにあるセットを選択するだけでいいのです。

それでは先ほどエクスポートした「_MS_temp」(この例ではシステム収納のデータが入っているという想定)を選択して「OK」を押して下さい。

形状が複雑で数が多い場合には時間が掛かる場合があります。
※この段階での強制終了は誤作動の原因になりますので極力避けてください。(注意事項参照)

Shadeのブラウザを見ると、スクリプトを起動する前に選択したルートパートの中にインポートした形状とマスターサーフェスが追加されているはずです。

Topへ
----------注意事項----------

何度も出てきてますが実行前にShadeのエクスポートで設定を確認することを忘れないで下さい。

複数パート選択にはこのバージョンでは対応しておりません。

R6のリンクを使用していた場合オリジナル形状が含まれないと、ただのパートに変換されてしまいますので注意してください。

掲載用に色々操作ミス防止の措置をとりました(自分で使っている時はそこまで作らないので)。
逆にそのことが起因になった不具合が発生する可能性もありますのでそのような場合はご一報くださると助かります。

スクリプトのダイアログでc:のより下位ならどこでも動き回ることができますがデフォルトより上位への移動は混乱を避ける為あまりお勧めしません。できるだけ保存する場所は固定したフォルダーの傘下で済ませるようにしてください。

インポートされたマスターサーフェスの名前の前に「i_」がついています。
これは既存のものと区別できるようにしたものです。
必要なければ削除してください。
また、たまにマスターサフェスの名前の一部が「#」に置き換えられることがあります。
これはエクスポートする際にマスターサフェスの名前がファイル名に使えない文字を含んでいた場合に、その使えない文字を自動的に「#」に置き換えたものです。マスターサーフェスの情報はマスターサーフェスの名を使って表面材質ファイル(shdsfc)として保存するのでこのような方法をとっています。

エクスポートされるセットはフォルダー名の先頭に"_MS_"をつけて管理していますので他にフォルダ名にこのような命名をしている場合はセットフォルダと勘違いして混乱する場合があります。その場合は使用しないで下さい。

フォルダの中にあるファイルを削除または移動すると正しく機能しなくなる事がありますのでご注意ください。

(ないとは思うのですが)エクスポートの最中に何らかの不具合で中断した場合、形状名の末尾に情報が追加された状態で停止することになります。この場合名前は変更されても形状は何ら変更はされていません。
複数形状で処理に時間がかかり、誤ってCtr+.で強制終了してしまった場合などに起こる可能性があります。
同様に強制終了のタイミングが悪いとファイルがcloseされずに終了する可能性があります。
この場合Shadeのスクリプトウィンドウで「fso.close」と記述して「実行」を押してcloseするか、Shadeを再起動しないとそれ以降のファイル操作が正しく行われなくなりますので注意してください。

このスクリプトの使用により発生した、いかなる不具合、損害に関して当方は一切責任は負いません。自己責任でお使いください。

スクリプト集へ戻る Topへ