わかりにくいMayaのアトリビュート取得方法 その1

数あるMayaのAttributeの中で、取得方法に困ったAttributeの取得方法メモ。
ほとんど旧サイトからの転載

renderableCameraの取得方法

 

renderingCameraの設定は、基本renderGlobalの中でやることが多いですが、renderSetting周りのアトリビュートからは
取得できず、悩むこと数ヶ月…どこにあるかと思ったら、CameraAttributeの中にありました。

CameraShapeノード内のOutput SettingsのRenderable チェックボックス

 

まぁ、たしかにCameraの設定だからCameraのノードにあるのは当たり前か…とも言えるんですけどね(´・ω・`)
以下は、RenderableCameraの一覧を取得するMel.

Frame/Animation ext の設定をmelで変更する 情報を取得する

Frame/Animation extは、 name.###.extなどのレンダリングファイル名の形式を決める項目ですが、これは1つのアトリビュートでは設定することができず、3つのアトリビュートの組み合わせで設定がきまります。

その3つが
defaultRenderGlobals.outFormatControl(0 or 1)
defaultRenderGlobals.periodInExt(0 or 1 or 2)
0 名前とFrameの間になにも置かない
1 名前とFrameのあいだにピリオドをつける
2 名前とFrameのあいだに_をつける
defaultRenderGlobals.putFrameBeforeExt(0 or 1)
0 後ろの拡張子をつけない
1 後ろに拡張子をつける

青字は たぶん こういう意味だろうという意味です
outFormatControlはイマイチよくわからないのですが、拡張子をつけない とかかなぁとか勝手に考えてます
以下が、組み合わせで、RenderGlobalのFrame/Animation extをつけた例

periodInExt outFormatContorol putFrameExt

name.###.ext1 01
name.ext.###100
name.###11 1
name###.ext0 01
name_###.ext2 0 1

File name prefix

アトリビュートの取得にはこまらないが、 挙動が不思議なのがこのFileNamePrefix.
値の習得は、 getAttr “defaultRenderGlobals.imageFilePrefix”;

 

基本MayaはレンダリングのImg保存場所はProjectフォルダのimageで設定されているフォルダに保存されます(空欄だとProjectフォルダのRoot)
しかし、ここのフォルダにファイルパスを入れると、Batch Renderをした時のImgの保存先がここで設定したパスに保存されるようになります
ただし、その場合 Imgの名前の最後に _tmp がつくようになるのと、1枚フレームをレンダリングしたとき、保存しなくてもFileNamePrefixに設定してあるフォルダの該当のフレームの画像を上書きしてしまうため
あまりオススメはできません。

それ以外の挙動として、
/folder/prefixName
のように、/から始まるパスを記述した場合、プロジェクト設定しているドライブレターの直下(上記の例で、プロジェクトがCドライブを使っているなら C:folderprefixName.###.ext に保存されます。
(おそらく、LinuxやMac絡みなのかな?)

というように、MayaUI上からレンダリングを投げる場合でも、Projectに依存しないレンダリングImageの書き出しは出来るようですが
想定外の挙動だったり、そもそも使えないだったりするので、Projectフォルダ以外に保存する場合は、素直にBatを使いなさい! という話。

コメントを残す

メールアドレスが公開されることはありません。

*