カメラをオブジェクトやコンポーネントをフォーカスするスクリプトです。
この
サイトをみたけど、ダウンロードリンクが見つからなくて、自分で書いてみた。
書いた後に、右側にグレイ色に赤文字のリンクがあるのは分かった。
赤をグレー50%に乗せるのは駄目でしょう・・・。
まぁ、もう書いちゃったんだから良かったら見て下さい。
スクリプト内容:このスクリプトはオーソグラフィックカメラを作って、選択されたオブジェクト・コンポーネントにフォーカスして、CTRL押しながら実行したらこのカメラに変わります。CTRLを押さずに実行すると、ビューカメラをこのカメラに合わせててからそのカメラを削除する。
それだけです。
数学的にアングルを計算してビューカメラを合わせてるのではなく、単純に手動のやり方をワンクリックで出来るようにしただけです。だからちょっと遅いけど、1秒もかからないから別に良いじゃない?
mCam2Obj & mObj2Cam from myara on Vimeo.
mCam2Obj DOWNLOADmObj2Cam DOWNLOAD
実行方法
現段階ではただのスクリプトです。やっぱり便利かもと思ったらアドオンバージョンも公開します。
・スクリプトエディターにドラッグ&ドロップして、実行ボタン。
・ツールバーやシェルフにドラッグ&ドロップで登録してボタンを作り、ボタンにクリック。
スクリプトメモ今回の重要なメモとしては:
Commands( "Frame Selection" ).execute()
これで「Frame Selection」を実行できます。
同じく「Frame All」 「Switch To Animate Toolbar」とか、ログを残さないけど、キーに当てられるコマンドはこれで実行することが出来ます。
今日は久しぶりにこのプラグインを使ってみたんですけど、使うたびに
レンダーリングが出来なくなることに気づきました。
バグでした。
SIを再起動するとレンダーリングが元に戻るので、そこまでクリティカルなバグでもありません。
でも再起動は嫌ですね。
Diablo 3 を買おうと思ったけど、どうやらサーバーが混みすぎてBattlenet にも入れなかったので、 Diabloの代わりにSIを相手にしてみました。
SIと何時間も戦ってやっとこのノーレンダー野郎を見つけて倒しました!! ヤッター!
全然楽しくない戦いだったけど、達成感がはんぱないです。ちょー気持ちいい。ヤッタ!!
Diablo 3 やるなんかより・・・ や、そこまでないね。やっぱ、Diablo 3やりてーな。
また話がずれちゃった、
まぁ、要するに、犯人はフリーズファンクションだった !
MarkEdge オペレーターを探すために ConstructionHistory を Enumeratorでループしていて、type で確認して、このMarkEdgeだけをフリーズ。という内容です。
そこまで黒魔術でもないと思うんだけど、やっぱりこいつはダメでした。
で、Filterで試してみたらスムーズで綺麗に出来たのでこれでやってみたら、なんの不具合もなく動きました。
FreezeObj(oObj.ActivePrimitive.ConstructionHistory.Filter("MarkHardEdgeVertex"))
そして、前回Twitterで話していた Custom Property -> View にして、GUIをコンパクトにしてみました。
こんな感じです:

上記のスクリーンショットに 1_2 って書いて歩けど、アドオンの方には「1.3」って書いています。 v1.3です。
DOWNLOAD website更新内容をまとめると:・レンダーリングのバグ修理
・GUIをコンパクトに
・エラーキャッチを増やしました。
指定された角度でエッジが見つからない場合エラーが出ていたけど、今度はちゃんと「ないよ!」と言ってくれます。
最初のバージョンと比べて:

どうでしょうか? コンパクトで使いやすくなっていると思います!
では、おやすみなさい
前回にも書いたんですが、自分はSIの色んなバージョンを使うことが多いです。
それで忙しい時にわけが分からなくなって、2010 のファイルを 2011 で開いて上書きしちゃったりすることもあります。
そうすると元に戻すことはもう不可能ですね。
SIにはMAXみたいに古いバージョンで保存するオプションなんてないし、MAYAみたいにASCIIで編集することも出来ません。
こういうところはSIはとても不便です。
多分これからも変わらないと思います。
2011 で
保存されたファイルは 2011 以降のSIでしか開けません。
でも、
2011SP2 で保存されたファイルは
2011で開くことは可能です。
つまり、
メジャーバージョン(一番左の番号)
が変わるとSoftimageに「
前方互換」
がありませんが、
マイナーバージョン(右の番号、例 x.1, x.5, SP1, SAP, 等)
が変わっても大丈夫です。
いつもバックアップをとっているので今までは特に大きな問題がなかったんですが、やっぱり怖いですね。
なのでこのイベントプラグインを書いてみました:
mCheckFileVerDOWNLOAD機能内容:シーンを保存する時にこのプラグインが実行されます。
シーンファイルのバージョンを確認して、Softimageのバージョンと比べます。
シーンファイルのメージャーバージョンが違ったらメッセージボックスが出てきます
上書きするか・キャンセルするかは選べます。
インストール方法:SIのユーザーか、ワークグループのPluginフォルダに入れるだけです。

プラグインの解説保存する前にシーンのバージョンを確認出来たら良いな~と思ってたら、保存する前にイベント起動させればいいじゃない?と思いつきました。
しかしシーンファイルのバージョンの取得方法が分からなくて、マニュアルを探っても何も見つかりません。
Windowsのコマンドプロンプトで「
printver.exe」というスタンドアロンコマンドがありますが、
これ以外にもっと便利な方法があるんじゃないかな?
だって、ファイルを開くときにスクリプトエディターにちゃんと出てきますね。
INFO : 4034 - Loaded scene was created with build number: 8.0.201.0
みたいな。
残念ながらSIメールリストで聞いても、
printver か scntoc を読む しか方法がないと言われました。
scntocファイルがあると限らないから、この方法はNGなので printver を使うことにした。
printver.exe 「開いているシーン」 でバージョンが出てきますが、SIから返ってくる情報が取得出来ない。
(出来るかもしれないけど、その方法が知らない)
僕の少ない知識でなんとか出来ないかと思い、printverの結果を
テキストに書き出して、
その後に
そのテキストを読みこむことを思いつきました。
printver.exe scene.scn > text.txt
あとは、アプリバージョンと比べれば良いだけですね。
これにFSOとWSHを使えばやりやすいかなと思ってVBSで書くことにしました。
パスの取得:ファイルパス+ファイル名 = Application.ActiveProject2.ActiveScene.filename.value
テンポラリフォルダ = XSIUtils.Environment("TEMP")
WSH の run を使って printver で ファイルのバージョンを テンポラリフォルダに テキストで書き出します。
ここのポイントは 「Program Files」とかには
スペースが入っている為クォーテーションマークを入れる必要があります。
現在のシーンファイルのフォルダにも、テンポラリフォルダにもスペースが入ってるかもしれないので
全部にクォーテーションマークを入れた方が安全です。
クォーテーションマークを入れるには 「""」 を使います。これはストリングのなかににれると「" "" "」になります。
例:「"""" & テンポラリフォルダ & """" 」
→ 「 " テンポラリフォルダ " 」になります。
これでテキストが出来てるから、FSO の OpenTextFile と .ReadLine を使ってそのテキストを読み込みます。
スプリットとかでメージャーバージョンだけをとります。
上にも書いたとおり、マイナーバージョンが違っても特に問題ないからね。
で、メージャーバージョンを取得して、アプリバージョンと比較してマッチしなければ:
「上書きする?、保存をキャンセルする?」という注意msgboxが出てきます。
よし、これでもう
保存失敗はしないでしょうね
因みに、Stephen Blair氏は
eX SI blogでPythonでの取得方法を書いてくれましたが、
これを使うとコマンドプロンプトの画面が一瞬出てくるからちょっと嫌だから結局 > txt を使っています。
Read more
仕事でプロジェクトによってSIのバージョンが異なる場合が結構多いです。
2012だったり、2011だったり、2010だったり、7も使ったりします。
複数のラインを同時にやる時だって普通にあります。
Autodeskになる前まで微妙にアイコンが違った気がするけど、Autodeskになってから毎回
アイコンが全く同じで、Splash Screenも(起動する時の画面)ほぼ同じですね。
僕は
Windows 7 の QuickLaunchを使ってアイコン表示だけにしているので、全部同じアイコンになっているのはあまりにも不便だからアイコンを
カスタマイズすることにしました。
アイコン用のツールは多分いっぱいあると思うんですが、今回使ってみた無料ソフトを紹介します。
Icon Extracthttp://www.nirsoft.net/utils/iconsext.html
まずは、ソフトイマージのアイコンを書き出す必要があるので、このソフトを使ってみました。
英語だけど使い方は簡単です。「Scan icons in files」というオプションにして、ファイルを入力します。
例:
C:\Program Files\Autodesk\Softimage 2012\Application\bin\
xsi.exe「Search for Icons」にクリックすると、
そのファイルの中に入っているアイコン全部出てきます。
「Save Selected Icons」で書き出します。
このアイコンをPhotoshop で編集したいので、icon を書き読みを可能にしてくれるプラグインをフォトショップに入れる必要があります。
ICO (Windows Icon) Formathttp://www.telegraphics.com.au/sw/icoformat.ja.html
Windows 64 は CS4専用と書いてありますが、普通にCS5 64it でも動きます。
プラグインをインストールするともう好きに編集するだけですね。
僕のアイコンはこんな感じになっています:

そして、念のために今回作ったアイコンをアップしておく。
DOWNLOADこんなアイコンをアップするのは違法ですかね?