ジャンプ先: 概要. 戻り値. キーワード. 関連. フラグ. Python 例.

概要

prepareRender([defaultTraversalSet=string], [deregister=string], [invokePostRender=boolean], [invokePostRenderFrame=boolean], [invokePostRenderLayer=boolean], [invokePreRender=boolean], [invokePreRenderFrame=boolean], [invokePreRenderLayer=boolean], [invokeSettingsUI=boolean], [label=string], [listTraversalSets=boolean], [postRender=script], [postRenderFrame=script], [postRenderLayer=script], [preRender=script], [preRenderFrame=script], [preRenderLayer=script], [restore=boolean], [saveAssemblyConfig=boolean], [settingsUI=script], [setup=boolean], [traversalSet=string], [traversalSetInit=script])

注: オブジェクトの名前と引数を表す文字列は、カンマで区切る必要があります。これはシノプシスに示されていません。

prepareRender は、取り消し可能、照会可能、および編集可能です。

このコマンドは、レンダー縦断を登録、管理および呼び出すために使用されます。レンダー縦断は、シーンを構成してレンダリングの準備をするために使用されます。

このコマンドは、シーン アセンブリ ノードに対して特別なサポートを提供します。シーン アセンブリ ノードをレンダリングするために、レンダリング縦断はシーン内の各アセンブリ ノードのために適切なリプリゼンテーションをアクティブにすることができます。レンダリングが完了すると、このコマンドはそれに応じて各アセンブリ上でレンダリング前にアクティブだったリプリゼンテーションを復元することができます。レンダー縦断は縦断のセットにグループ化されています。レンダー縦断セットには、以下に示す 1 つまたは複数のレンダリングの手順に対するコールバック、またはレンダー縦断が、粒度レベルの低い順に含まれています。レンダー縦断コールバックは、MEL または Python の任意のスクリプトで、レンダリング目的で Maya シーンをトランスフォームすることができます。

preRender
縦断は、レンダリングの実行前に、レンダーごとに一度実行されます。
postRender
縦断は、すべてのレンダリングの実行後に、レンダーごとに一度実行されます。
preRenderLayer
縦断は、各レンダー レイヤのレンダリング前に実行されます。
postRenderLayer
縦断は、各レンダー レイヤのレンダリング後に実行されます。
preRenderFrame
縦断は、各フレームのレンダリング前に実行されます。
postRenderFrame
縦断は、各フレームのレンダリング後に実行されます。
レンダー ビューまたはバッチ レンダー中に、Maya は同じ縦断セット、既定の縦断セットからレンダー縦断を実行します。縦断セットには名前を付けることができるので、このコマンドに複数の縦断セットを登録し、既定のレンダー縦断セットをこれらの登録された任意の縦断セットに切り替えることができます。既定の縦断セットを変更する場合、異なるレンダー縦断コールバック(preRender、preRenderLayer、preRenderFrame、postRender、postRenderLayer、postRenderFrame)が 1 つの単位として切り替えられます。

レンダー時に、ソフトウェアのレンダリング コードは、既定の縦断セットのコールバックを呼び出します。prepareRenderスクリプト機能によって、複数のレンダリング準備スクリプトを開発することができます。これにはプラグインの使用も含まれ、単一の実装に制約されない拡張性を提供します。

特殊な縦断セットに「null」縦断セットがあります。これは最初の既定の縦断セットで、登録解除することはできません。実行する機能はなく、アセンブリ ノードのアクティブ リプリゼンテーション設定の保存や復元を行いません。アセンブリノードの WYSIWYG (What You See Is What You Get)レンダリングを提供し、レンダリング対象の別のリプリゼンテーションに切り替わりません。

レンダー縦断は、このコマンドの作成モードを使用して、Maya によって呼び出されます。これは Maya のレンダリング インフラストラクチャによって行われるもので、新しいレンダー ビューまたはバッチ レンダー コードを開発しない限り必要はありません。このコマンドのほとんどの用途は、単純に編集モードを使用してレンダー縦断をレンダー縦断セットに登録するか、または照会モードを使用してレンダー縦断セット内のレンダー縦断の名前を照会することです。

レンダー縦断とレンダー MEL スクリプト

レンダー縦断は、その目的において、ユーザ指定のプリ(およびポスト)レンダー、プリ(およびポスト)レンダー レイヤ、およびプリ(およびポスト)レンダー フレーム MEL スクリプト機能に似ています。ユーザ MEL スクリプトとの違いは、prepareRender は、ユーザの MEL スクリプトに加え、またそれを別の機能に置き換えることなく、複数のレンダー縦断セットを登録し、それらを切り替え、また MEL と Python の両方をサポートするということです。MEL レンダー スクリプトはレンダー縦断の範囲の内部で実行されます。すなわち、preRender 縦断はプリレンダー MEL スクリプトの前に実行され、postRender 縦断はポストレンダー MEL スクリプトの後に実行されます。preRenderLayer 縦断はプリレンダー レイヤ MEL スクリプトの前に実行され、postRenderLayer 縦断はポストレンダー レイヤ MEL スクリプトの後に実行されます。最後に、preRenderFrame 縦断はプリレンダー フレーム MEL スクリプトの前に実行され、postRenderFrame 縦断はポストレンダー フレーム MEL スクリプトの後に実行されます。

状態の保存と復元

prepareRender コマンドは、シーン内のアセンブリ ノードのアクティブ リプリゼンテーションの保存と復元をサポートします。saveAssemblyConfig フラグは、レンダー縦断セットが、レンダリングの開始前にアセンブリ ノードのアクティブ リプリゼンテーションを保存し、レンダリングの終了後に復元することを必要とすることを示すために使用します。

レンダー縦断がアセンブリ ノードのアクティブ リプリゼンテーション変更以外の方法でシーンを変更する場合、シーンを以前の状態に復元するのは、そのレンダー縦断の責任です。この場合は通常 postRender、postRenderLayer、および postRenderFrame 縦断を使用します。

Maya は、バッチ レンダーの完了時に prepareRender -restore コマンドを呼び出しません。バッチ レンダリングはレンダリングが終了すると破棄されるシーンのコピーに対して実行されるためです。レンダー縦断のインプリメンタは、同じ最適化を実装するために、自分がバッチ モードで実行しているかどうかを確認する必要があります。

戻り値

なし

照会モードでは、戻り値のタイプは照会されたフラグに基づきます。

キーワード

render, assembly

関連

assembly

フラグ

defaultTraversalSet, deregister, invokePostRender, invokePostRenderFrame, invokePostRenderLayer, invokePreRender, invokePreRenderFrame, invokePreRenderLayer, invokeSettingsUI, label, listTraversalSets, postRender, postRenderFrame, postRenderLayer, preRender, preRenderFrame, preRenderLayer, restore, saveAssemblyConfig, settingsUI, setup, traversalSet, traversalSetInit
ロング ネーム(ショート ネーム) 引数タイプ プロパティ
defaultTraversalSet(dt) string queryedit
既定の縦断セットを設定または照会します。prepareRender コマンドは、-traversalSet フラグを使用して縦断セットを明示的に指定しない限り、既定の縦断セット上で操作を実行します。
deregister(d) string edit
登録された縦断セットを登録解除します。登録解除された縦断セットが既定の縦断セットの場合、新しい既定の縦断セットは「null」縦断セットになります。
saveAssemblyConfig(sac) boolean queryedit
シーン全体のアクティブ リプリゼンテーション設定を特定の縦断セットに対して保存するかどうかを設定または照会します。縦断セットは、-traversalSet フラグを使用して縦断セットを明示的に指定しない限り、既定になります。
label(lbl) string queryedit
特定の縦断セットのラベルを設定または照会します。ラベルは UI 表示の目的で使用され、ローカライズできます。縦断セットは、-traversalSet フラグを使用して縦断セットを明示的に指定しない限り、既定になります。
listTraversalSets(lt) boolean query
サポートされているレンダー縦断セットを照会します。
preRender(prr) script queryedit
特定の縦断セットに対する preRender レンダー縦断を設定または照会します。この縦断はレンダー前に実行されます。縦断セットは、-traversalSet フラグを使用して縦断セットを明示的に指定しない限り、既定の縦断セットになります。
postRender(por) script queryedit
特定の縦断セットに対する postRender レンダー縦断を設定または照会します。この縦断はレンダー後に実行されます。縦断セットは、-traversalSet フラグを使用して縦断セットを明示的に指定しない限り、既定の縦断セットになります。
preRenderLayer(prl) script queryedit
特定の縦断セットに対する preRenderLayer レンダー縦断を設定または照会します。この縦断はレンダー レイヤがレンダリグされる前に、レンダー内で実行されます。縦断セットは、-traversalSet フラグを使用して縦断セットを明示的に指定しない限り、既定の縦断セットになります。
postRenderLayer(pol) script queryedit
特定の縦断セットに対する postRenderLayer レンダー縦断を設定または照会します。この縦断はレンダー レイヤがレンダリグされた後に、レンダー内で実行されます。縦断セットは、-traversalSet フラグを使用して縦断セットを明示的に指定しない限り、既定の縦断セットになります。
preRenderFrame(prf) script queryedit
特定の縦断セットに対する preRenderFrame レンダー縦断を設定または照会します。この縦断は、レンダー レイヤを持つ単一フレームのレンダーの前に実行されます。縦断セットは、-traversalSet フラグを使用して縦断セットを明示的に指定しない限り、既定の縦断セットになります。
postRenderFrame(pof) script queryedit
特定の縦断セットに対する postRenderFrame レンダー縦断を設定または照会します。この縦断は、レンダー レイヤを持つ単一フレームのレンダーの後に実行されます。縦断セットは、-traversalSet フラグを使用して縦断セットを明示的に指定しない限り、既定の縦断セットになります。
invokePreRender(irr) boolean create
特定の縦断セットに対する preRender レンダー縦断を呼び出します。縦断セットは、-traversalSet フラグを使用して縦断セットを明示的に指定しない限り、既定の縦断セットになります。
invokePostRender(ior) boolean create
特定の縦断セットに対する postRender レンダー縦断を呼び出します。縦断セットは、-traversalSet フラグを使用して縦断セットを明示的に指定しない限り、既定の縦断セットになります。
invokePreRenderLayer(irl) boolean create
特定の縦断セットに対する preRenderLayer レンダー縦断を呼び出します。縦断セットは、-traversalSet フラグを使用して縦断セットを明示的に指定しない限り、既定の縦断セットになります。
invokePostRenderLayer(iol) boolean create
特定の縦断セットに対する postRenderLayer レンダー縦断を呼び出します。縦断セットは、-traversalSet フラグを使用して縦断セットを明示的に指定しない限り、既定の縦断セットになります。
invokePreRenderFrame(irf) boolean create
特定の縦断セットに対する preRenderFrame レンダー縦断を呼び出します。縦断セットは、-traversalSet フラグを使用して縦断セットを明示的に指定しない限り、既定の縦断セットになります。
invokePostRenderFrame(iof) boolean create
特定の縦断セットに対する postRenderFrame レンダー縦断を呼び出します。縦断セットは、-traversalSet フラグを使用して縦断セットを明示的に指定しない限り、既定の縦断セットになります。
setup(stp) boolean create
縦断の saveAssemblyConfig フラグが true に設定されている場合、レンダー準備を設定します。これにはシーン全体のアセンブリ アクティブ リプリゼンテーション設定の保存が含まれます。以前に保存された設定は上書きされます。縦断セットは、-traversalSet フラグを使用して縦断セットを明示的に指定しない限り、既定の縦断セットになります。
restore(rtr) boolean create
縦断の saveAssemblyConfig フラグが true に設定されている場合、レンダリングをクリーン アップします。これにはシーン全体のアセンブリ アクティブ リプリゼンテーション設定の復元が含まれます。縦断セットは、-traversalSet フラグを使用して縦断セットを明示的に指定しない限り、既定の縦断セットになります。
traversalSet(ts) string createqueryedit
指定した登録済み縦断セットのプロパティを設定または照会します。

照会モードでは、このフラグに値が必要になります。

settingsUI(sui) script queryedit
特定の縦断セットに対する設定 UI コールバックを設定または照会します。縦断セットは、-traversalSet フラグを使用して縦断セットを明示的に指定しない限り、既定の縦断セットになります。
invokeSettingsUI(isu) boolean create
特定の縦断セットに対する、設定 UI コールバックを呼び出してレイアウトに UI コントロールを設定します。現在の UI の親はフォーム レイアウトであり、コールバック は setParent コマンドを使用してクエリを実行できます。縦断セットは、-traversalSet フラグを使用して縦断セットを明示的に指定しない限り、既定の縦断セットになります。
traversalSetInit(tsi) script queryedit
特定の走査セットに対する走査セット初期化コールバックを設定または照会します。縦断セットは、-traversalSet フラグを使用して縦断セットを明示的に指定しない限り、既定の縦断セットになります。このコールバックは、指定された走査セットが既定の走査セットになるたびに呼び出されます。

フラグはコマンドの作成モードで表示できます フラグはコマンドの編集モードで表示できます
フラグはコマンドの照会モードで表示できます フラグに複数の引数を指定し、タプルまたはリストとして渡すことができます。

Python 例

import maya.cmds as cmds

# Query what the default render traversal set is.
cmds.prepareRender(query=True, defaultTraversalSet=True)
# Set the render traversal set to 'MyPrepareRender'.
cmd.prepareRender(edit=True, defaultTraversalSet='MyPrepareRender')
# Set the preRender traversal to the adskPrepareRender.preRender function,
# for the default render traversal set.
cmd.prepareRender(edit=True, preRender=adskPrepareRender.preRender)
# Set the default render traversal set to require saving the assembly node
# configuration before render, and restore it once rendering completes.
cmd.prepareRender(edit=True, saveAssemblyConfig=True)
# Set the label of traversal set 'MyPrepareRender' to be 'Custom Render'.
cmd.prepareRender(edit=True, label='Custom Render', traversalSet='MyPrepareRender')