サポートチケットを作成する
フォローする

Q100091:Katana GUIモードで複数のフレームをレンダリングする

概要

この記事では、Pythonを介してKatanaで複数のフレームをレンダリングする方法について説明します。

詳しくは

Katana UI内での複数フレームのレンダリングは現在サポートされていません。このための推奨ワークフローはバッチモードでのレンダリングです。バッチレンダリングコマンド内では、 ' - t'引数を使用してプロジェクトレンダリングのフレーム範囲を指定できます。

そうは言っても、現在はPythonを介してKatana UI内でレンダリングをトリガーすることが可能です。これは、既存のプロジェクトで次の例を使用するか、またはKatana File.Load(yourKatanaScene)コマンドを使用してPython実行の一部としてプロジェクトをロードすることで実行できます。

import NodegraphAPI
from Katana import KatanaFile
from Katana import RenderManager
def messageHandler( sequenceID, message ):
  print message

RenderNode = NodegraphAPI.GetNode('Render') # Getting Render node
renderSettings = RenderManager.RenderingSettings()
renderSettings.frame=1
renderSettings.mode=RenderManager.RenderModes.DISK_RENDER
renderSettings.asynchRenderMessageCB=messageHandler
renderSettings.asynch=False
RenderManager.StartRender('diskRender', node=RenderNode, settings=renderSettings)

StartRenderコマンドは一度に1フレームのレンダリングしかサポートしていませんが、フレーム範囲を繰り返し処理して毎回新しいStartRenderコマンドを実行することで、複数のフレームをレンダリングできます。これにより、UIモードで目的のフレーム範囲全体をレンダリングできます。

これを行うには、次のコマンドを置き換える必要があります。

RenderManager.StartRender('diskRender', node=RenderNode, settings=renderSettings)
次のようなコマンドをループ処理します。

for frame in range(1, 6):
    print '-' * 80
    print '\nRendering Node "%s" frame %s...' % (RenderNode.getName(), frame)
    renderSettings.frame = frame
    RenderManager.StartRender('diskRender', node=RenderNode, settings=renderSettings)

注: 「バッチ」モードでレンダリングを起動する前にKatanaプロジェクトを変更する場合は、上記の情報を使用して、「スクリプト」モードでKatanaを起動するためのPythonスクリプトを作成できます。

参考文献

GUIの外部またはレンダリングファームを介して複数のフレームをレンダリングするには、Katanaバッチモードを使用できます。詳細およびコマンド例は、Katanaオンラインヘルプの[ Command-line Interface]> [Batch Mode]セクションにあります。

この記事は役に立ちましたか?
/

We're sorry to hear that!

Please tell us why.
8人中8人がこの記事が役に立ったと言っています

コメント