Mayaからcmdjob、もー少し続く

久しぶりに天気のいい週末です。残念ながら今日はお仕事。

さて、MELでcmdjob叩き込んでやりました。
でもまだUIがついてません。ここからが面倒くさい。

submitfrommayatobb_2.jpg

参考までにMEL載っけときます。適切な変数を書き換えれば動くと思いますが、プロシージャにすらなってません、ScriptEditerに貼っつけて評価するだけです。おすすめしません! 続きを読む “Mayaからcmdjob、もー少し続く”


cmdjob 続き

MayaシーンをBackburnerでネットワークレンダリングゥ。前回の続きです。

「Mayaから」って書けないのが残念なところですけど。とりあえずはコマンドラインからサブミットする事に成功しました。

mayabb_2.jpg

何で行き詰まってたかっていうと、画像の出力フォーマットをtgaファイルにしていたのが原因でした。なぜかレンダリングが止まってしまうんですよね。iffファイルなら問題なかったので、ひとまず成功ってことでMELでフロントエンドを用意する前にメモ。

まずはタスクファイルの用意(例えばtasklist.txt)。1frameから25frameまでの25枚のレンダリングをしたい場合。下のようなテキストファイルを用意、タブ区切りでね。下の例ではtask1は1フレから5フレまでレンダリングしますよって意味。「task1」とかの部分はただの名前なのでなんでもOK。

task1   1  5
task2   6  10
task3   11  15
task4   16  20
task5   21  25

1タスク1フレでもいい、例えば「task1 1 1」「task2 2 2」とかでもかまわないです。その場合は全部で25タスク記述することになります。
1つのPCに1タスクずつアサインされて行き、終わったら次の未アサインのタスクって感じでマネージャが管理します。

コマンドの実行の前に知っておく必要があるのは、ジョブの名前(なんでもいい普通はシーンファイル名)、Backburnerマネージャの名前、レンダリングさせるPC or マネージャに登録されているグループ名、画像の出力先。

終わったらコマンドの実行。

cmdjob -jobname MYJOB -manager MANAGERNAME -group MAYA7 -tasklist TASKLIST.TXT -taskname 1 "render -s %tp2 -e %tp3 -rd OUTPUT_IMAGE_PATH SCENENAME.MB"

大文字で書いているところを適当に書き換えます、出力先やシーンファイルは全てのレンダーPCから参照できる場所にないとダメなのでUNCパス等で記述します。なので上のコマンド例よりもはかなり長くなります。あとrenderコマンドも実際はフルパスで記述する必要ありです。

めんどくさいですねぇ。

ってことでこれからMELをボチボチ書いて行くわけですが、忘れました。
5年前に自分が書いたメモをたよりに書き始めます。変数名の前に「$」がいるんだーとかそのレベル、、、


cmdjob

iPhoneはソフトバンクからですってね。僕はムービーや曲の入れ替えが頻繁なので電話とプレーヤは別にしておきたい派です。かといってiPhoneとTouchを二つ持つのも間が抜けてますし。

さて、インターンさんにネットワークレンダリングをさせてあげたいんですけどMaya7を使うんであきらめかけてました。が、Maxのマニュアルを見てて「cmdjob」ってBackburnerにジョブを送るコマンドがあるのを知りました。Backburnerのネットを探してもたいした情報が見当たらなかったし、CGWorldにはヒントしか書いてなかったりします(2007年6月号)。

タスクリストを作ってレンダーサーバ側で実行するコマンドといっしょにどーんと投げちゃえばいいみたいです、結構簡単にできそうです。

cmdjob_2.jpg
maxリファレンスより、「cmdjob」で見つかります

あとはMAYA上のフロントエンドを作る必要があるんですけど、MELかぁ、、、
そもそもMayaにBackburnerを同梱しないのはなぜ?

そのうちつくります。

AfterEffectsのジョブも管理できますし、コマンドラインで操作を受け付けるアプリなら何だってサブミットできるんじゃないでしょうか。


MAYAで2点透視(あおり補正)

「MAYAであおり補正が出来ないんですけど、調べてもらえます?」ちゅーお達しが出たので調べた。のでここで公開。

確かに3dsmaxには「あおり補正モディファイア」って言う一目瞭然な機能がついてますがMAYAにはないですね。マニュアル調べても「あおり補正」とか「2点透視投影」ってワードはみつからないですけど、もちろん出来ます。

あ、「2点透視投影」は建築パースでよく見る高さ方向にパースがつかない投影法です。

(追記)出典は→Two-point perspective camera correction?[CGTalk]

まずはカメラを水平にします。

2pt-pers-correct-ss1.jpg

この段階でCGのカメラなら高さ方向にパースがつかない状態になります。被写体はスクリーン上下方向にずれた状態になってます。カメラを上にむけると高さ方向にパースがついちゃいます。

ここで調整するのはカメラのアトリビュート「FilmBack」の「FilmOffsetY」です。(Yとはかかれてませんが、、、)

2pt-pers-correct-ss2.jpg

適当な数値を入れて被写体をフレームにおさめたら出来上がりです。

2pt-pers-correct-ss3.jpg

おしまい。

問題解決するのにGoogleで日本語で検索して見つからなければ、適当な英単語の組み合わせでもかまわないので、英語でも調べてみる事をお勧めします。ほぼ見つかりますから。

ちなみに「あおり補正 MAYA」って検索すると、「finalRenderで実現できるのか、じゃ会社に買ってもらお」ってなっちゃいますが、英語で調べると標準で出来るTipsが出てきます。