LoginSignup
1
1

More than 5 years have passed since last update.

レンダーエレメントを操作するMAXScriptメモ

Posted at

これはなに?

windows10環境でレンダーエレメントを編集しようとしたら落ちるので、
スクリプト経由で設定を変更したい

前提

オートデスク製品の Windows 10 および .NET 4.6 のサポート(2015年11月17日)
https://knowledge.autodesk.com/ja/support/autocad/troubleshooting/caas/sfdcarticles/sfdcarticles/JPN/Windows-10-support-for-Autodesk-products.html

Windows 10 は、まだオートデスク製品ライン全体で正式にサポートされているオペレーティング システムではありません。

現象

Windows10で3dsMax 2015(17.0 SP3)のRender Elementsタブを開いて
レンダーエレメントを編集しようとすると激落ち君

(今思ったこと)

(2016だったら起きなかったりして。手元にないけど。)

書いてみた

やりたいこと

  • レンダーエレメントの一括ON
  • レンダーエレメント出力先パスの削除

lookdev済みのシーンを受け取って
アニメーションつけたあと、
レンダリング投げる時に使いたい。

スクリプト

import MaxPlus
msEval = MaxPlus.Core.EvalMAXScript

msString ='''
reMgr = maxOps.getCurRenderElementMgr()
reNum = reMgr.numRenderElements()

for i = 0 to (reNum-1) do(
    local re = reMgr.getRenderElement i
    ElementName = re.elementname

    DirfileNameType = getFilenameType (reMgr.GetRenderElementFilename i)
    reMgr.SetRenderElementFilename i ""

    re.enabled = true
    renderSceneDialog.update()
    )
'''

msEval(msString)

やったこと

local re = reMgr.getRenderElement iでレンダーエレメント取得
reMgr.SetRenderElementFilename i ""で出力先パスを空に
re.enabled = trueでレンダーエレメントをON

まとめ

MaxPlusの練習もかねてるけど
ほとんどMAXScriptをevalしてるだけだから意味ないよ!

参考

Executing MAXScript code from Python
http://help.autodesk.com/view/3DSMAX/2015/ENU/?guid=__files_GUID_050A2EBF_A176_49B8_8ED4_14FC2301531B_htm
※2016でこのページを探そうとすると、強制的に日本語版に飛ばされる上に、日本語版ドキュメントは無いよみたいなことをしれっと言ってくるので困ります。

Interface: RenderElementMgr
http://help.autodesk.com/view/3DSMAX/2015/ENU/?guid=__files_GUID_E8F75D47_B998_4800_A3A5_610E22913CFC_htm

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1