NUKE STUDIOの特徴の一つに、プロジェクトの中心となりショットやシーケンスをマネージメントして、コンポジットワークを効率的に押し進める事ができる点があります。NUKE STUDIOではエクスポートのプリセット機能を利用してショットやラウンドトリップの管理をおこないます。
今回から複数回にわたりショットやシーケンスを他のアーティストに配布する際の、ショット管理とエクスポート機能を中心にご紹介します。また、タイムラインとコンポジット環境の間でCreate Compがどのようにデータを受け渡すのかを選択するプリセットについてもご説明します。今回はNUKE STUDIOのエクスポートに関する概要やプリセットの説明、エクスポート時のバーンインやノードの追加についてご紹介します。
NUKE STUDIOのエクスポート機能は、トランスコード、タイムラインまたはビンからのクリップを選択してのエクスポート、EDLおよびXMLの書き出し、そしてタイムライン全体を1つのクリップとして必要な配信形式でベイクすることができます。より使いやすくするために、これらはある程度プリセット化されています。
エクスポートプリセットにはローカルプリセットとプロジェクトプリセットがあり、Create CompがNUKE STUDIOのタイムラインとコンポジット環境の間でクリップをどのようにやりとりするかを管理するためにも使用されます。
NUKE STUDIOには、いくつかのコンテキスト依存型とアドホック型のエクスポートオプションが用意されています。
• シーケンスおよびクリップインスタンスのエクスポート – シーケンスまたは個々のクリップインスタンスをエクスポートするための準備をおこない、コンポジット作業後のクリップをNUKE STUDIOに戻すために利用します。
• トランスコード – あるファイル形式を別の形式に変換します。シーケンス、タイムラインでの選択、およびビンからクリップを選択してトランスコードすることができます。
• アドホック・エクスポート – EDLやXMLのエクスポートなど、プロジェクト単位で実行できない可能性のあるエクスポートをカバーする機能です。
• Create Comp – Create Comp時に使用されるプリセットを編集または作成し、ソースクリップまたはクリップインスタンスをNUKEのCompositing環境に送り、レンダリングされたWriteノードをノードグラフからタイムラインに戻します。Create Compの詳細については、こちらをご覧ください。
同じ機能を実行するのにPythonバインディングを利用できます。このインフラストラクチャは、パイプラインがGUIであるかコマンドラインであるかにかかわらず、非常に柔軟性をワークフローに提供します。
ノート:NUKE STUDIOは非破壊的であり、既存のファイル構造を反映するようにショットテンプレートを設定すると、既に構築されてるパイプラインに挿入することができます。
エクスポートダイアログの概要
NUKE STUDIOは、プリセットとショットテンプレートを使用して、コンポジット環境とのラウンドトリップやEDL / XML作成などのエクスポートを実行します。 Exportダイアログは、エクスポートされる内容と場所、およびNUKEからのラウンドトリップの一部としてバージョニングされたクリップがどこにあるかを制御します。
Exportダイアログは、Fileメニューから、ビンおよびタイムラインメニューでの右クリック、またはキーボードショートカットCtrl / Cmd + Shift + Eを使用してアクセスできます。
ショットテンプレートは、Create Compで使用されるプリセットの作成、コンポジット環境からのクリップインスタンスの受け渡しとレンダリングされたWriteノードをノードグラフからタイムラインへの送り返しにも使用されます。
NUKE STUDIOでは、すべてのショットテンプレートでContent Presetsを使用するため、一般的に使用されるエクスポート設定をあらかじめ作成しておき、すべてのプロジェクトで利用できます。一部のプリセットは特定のエクスポータでのみ使用できます。たとえば、EDLエクスポータプリセットはショットエクスポートでは使用できません。
トラックエクスポート時にTagsリストを利用したフィルター機能を使用してエクスポートをフィルタリングし、特定のタグでマークされた特定のトラックまたはクリップインスタンスのみをエクスポートすることもできます。Tags機能の詳細については、こちらおよびこちらを覧ください。
使い易くするためにNUKE STUDIOには多くのコンテンツプリセットが準備されていますが、必要に応じて編集することができます。エクスポートしたいコンテンツの内容に合わせてコンテンツプリセットを切換えます。コンテンツプリセットを切換えるにはExportダイアログのContentカラムをクリックして選択します。各コンテンツプリセットの詳細はExport Controlsで設定します:
• Transcode Images – イメージを保存する際に、最もよく使用されるファイルタイプのトランスコードパラメータを定義します。
• Nuke Project File – ラウンドトリップまたはCreate Compを作成する際に、Nuke ReadおよびWriteノードが使用するスクリプト名とパスを定義します。
• Nuke Write Node – Nuke Writeノードのレンダーフォーマットを定義します。複数のNuke Write Nodeプリセットを追加して、Nukeスクリプトに複数のWriteノードを作成できます。
• Nuke Annotations File – ラウンドトリップまたはCreate Compを作成する際に、Nuke WriteノードとPrecompグループが使用するスクリプト名とパスを定義します。
• EDL Exporter – シーケンスをEDL形式にエクスポートするために使用されます。
• SymLink Exporter – コピーを作成するのではなく、ソースファイルの場所へのシンボリックリンクを作成します。
• XML Exporter – シーケンスをXML形式にエクスポートするために使用されます。
• Copy Exporter – シンボリックリンクではなく、指定された場所にソースファイルのコピーを作成します。
• Audio Export – 任意のオーディオトラックを指定された場所にある.wavファイルにコピーします。
ローカルプリセットとプロジェクトプリセットの使用
プリセットは、ファイルの構造や形式、トラック、タグ、フレーム範囲などのエクスポート設定のコンテナです。頻繁に使用されるエクスポートタスクを作成するには、次の2種類のプリセットを使用できます。
• ローカルプリセット – これらのプリセットは、異なるプラットフォーム上のアーティスト間で往復を設定したり、タイムラインとコンポジット環境の間でファイルの受け渡しを管理するために使用されます。Create Compの詳細については、こちらをご覧ください。ローカルプリセットは、XMLファイル形式を使用してタスクプリセットフォルダに保存されます。
• プロジェクトプリセット – ローカルプリセットをこのパネルにドラッグアンドドロップすると、プリセットをプロジェクトの.hroxファイルに保存できます。このオプションは共同作業用に設計されており、エクスポートプリセットを共有することができます。
ショットテンプレートの使用
ショットテンプレートは、アノテーション付きのNuke Shotの作成やDPXファイルの作成、タイムラインとコンポジット環境の間でCreate Compがクリップをやりとりする方法など、エクスポートプリセットのフォルダ階層と命名規則を設定します。テンプレートに記述されているフォルダが、エクスポートする際に存在しない場合は自動的に作成され、すでに存在する場合は既存のフォルダに書き込まれます。
NUKE STUDIOにはデフォルトテンプレートが付属していますが、エクスポート時に使用する関連情報に基づいてフォルダ情報やトークンを変更して、カスタムテンプレートを簡単に作成できます。
ヒント:ショットテンプレートの項目をクリックすると、Version token numberフィールドの下に参照されたトークンを含むプレビューファイルパスが表示されます。
エクスポートでは、次のトークンを利用できます。
トークン | 引数 |
_nameindex | シーケンス内のショット名のインデックス。同じ名前のショットとの衝突を避けるために、先頭に_(アンダースコア)が付いています。 |
{ampm} | エクスポート開始時のAMまたはPM |
{binpath} | ビンの構造を維持します。このトークンを使用すると最も近い上位ビンまでのビン構造を再生成します。 |
{clip} | ショットで使用されたクリップ名 |
{day} | Mon, Tueなどの省略曜日名 |
{DD} | 01, 02などの2桁の日付 |
{event} | トラックアイテムに関連付けされたタイムラインイベントナンバー |
{ext} | .dpx, .movなどの出力するファイルの拡張子 |
{filebase} | 処理するクリップ名の基数。Shot01_####.dpxであればShot01_####が基数となります。 |
{fileext} | .dpx, .movなどの処理するクリップのフォーマット |
{filehead} | フレームパディングや拡張子を含まないソースクリック名。 Shot01_####.dpxであればShot01がファイルヘッドとなります。 |
{filename} | 処理するメディアのソースクリップ名 |
{filepadding} | ソースファイル名にパディング(%04d)を追加します。フレームインデックスのフォーマッティングに使用できます。 |
{filepath} | エクスポート時に参照されるソースメディアのフルファイルパスを再生成します。 |
{fullbinpath} | ビンの構造を完全に維持します。このトークンを使用するとプロジェクトレベルでビン構造を再生成します。 |
{fullday} | Monday, Tuesdayなどの完全な曜日名 |
{fullmonth} | January, Februaryなどの完全な月名 |
{hierotemp} | Preferencesで指定された一時ディレクトリ |
{hour12} | エクスポート開始時刻(時)(12時間形式) |
{hour24} | エクスポート開始時刻(時)(24時間形式) |
{MM} | 01, 02などの2桁の月名 |
{minute} | エクスポート開始時刻(分) |
{month} | Jan, Febなどの省略月名 |
{project} | エクスポートアイテムの親プロジェクト名 |
{projectroot} | Timeline Environment Project Settingsで設定されているrootエクスポートパスを再生成します。 |
{second} | エクスポート開始時刻(秒) |
{sequence} | 処理するシーケンス名 |
{shot} | 処理するトラックアイテム名 |
{timestamp} | エクスポート開始時刻(時分)(24時間形式) |
{track} | 処理するトラック名。このトークンを使用してEDLをエクスポートするとトラック毎に個別のEDLが生成されます。 |
{user} | 現在のログインユーザー名 |
{version} | エクスポート設定のバージョンセクションで設定された番号(#)で定義される文字列v# |
{YY} | 01, 02などの2桁の西暦年号 |
{YYYY} | 4桁の西暦年号 |
ヒント:パス列をダブルクリックしてから右クリックし、Select Keyword を選択すると、使用可能なエクスポートトークンのリストが表示され、現在選択されているアイテムに有効なトークンのみがリストされます。
トークン部分文字列は、引数とされた文字列の特定の部分を抽出する必要がある場合に有効です。 たとえば、{shot}が引数としてJB100を参照している場合、次のようになります。
• {shot [0:2] } – 引数として JB を参照します。
• {shot [-3:] } – 引数として100 を参照します。
同様に、外側の括弧内のものはPython文字列として認識されます。 たとえば、{shot}が引数としてJB_10_20を参照している場合、次のようになります。
• {shot.split(’_’) [0] } – 引数として JB を参照します。
• {shot.split(’_’) [2] } – 引数として20 を参照します。
カスタムショットテンプレート
ショットテンプレートを使用すると、プロジェクトに必要な数のNuke ReadおよびWriteノードを作成できます。一般的な使用例として、.jpgクリップをレビュー用に、.dpxクリップを納品用に同時に作成する事ができます。
マルチフォーマットエクスポート
次の例では、シーケンスの.movクリップをエクスポートし、Nukeに .dpxクリップと .jpgクリップを作成するノードを作成し、.dpxクリップをタイムラインに戻すためのショットテンプレートを作成する方法を説明します。
1. ExportダイアログのLocal Presetsパネルで、プリセット値でショットテンプレートが作成されたBasic Nuke Shotを選択します。
2. Duplicate selected preset をクリックし、プリセットを複製して新しいプリセットに名前を付けます。(Basic Nuke Shot 1)
3. レンダリングフォルダの名前を renderers_dpx に変更します。
4. Nukeフォルダを選択し、フォルダアイコンをクリックして新しいフォルダを追加します。 新しいフォルダには、renders_jpgという名前を付けます。
5. renders_jpgフォルダを選択し、+(プラス)ポタンをクリックして新しいエントリを追加します。
6. {filename}トークンを{shot}_comp{_nameindex}_{version}.####.{ext}に書き換えます。これは、renders_dpx内にあるエントリと同じです。
ノート:####マークはイメージシーケンスのフレーム番号を表します。 .movクリップを作成していた場合は省略されます。
ショットテンプレートは次のようになります:
7. Contentカラムをクリックし、Nuke Write Node を選択します。
ノート:VFX作業にサードパーティ製のアプリケーションを使用する場合は、Nuke Write Node の代わりに、ExternalRender を選択します。
8. Content settings タブの File Typeドロップダウンメニューから jpeg を選択します。
使用可能な設定は、選択したファイルの種類によって変わります。
9. ショットテンプレートのscriptフォルダにあるNuke Project Fileエントリ を選択し、Content タブ上で両方のWriteノードが有効になっていることを確認してください。
10. エクスポートの残りの部分を設定し、Export をクリックします。
エクスポートにBurn-in Text を追加する
NUKE STUDIOは、シンプルなNuke gizmo機能を使用して、エクスポート時にテキストをバーンインすることができます。バーンインは、Nuke Write NodeまたはTranscode Imagesエントリのコンテンツパネル下部にあるBurn-inメニューで有効にできます。gizmoにはこのメニューからアクセスできます。
このgizmoには、フォントスタイルとテキストの位置を調整するフィールドが含まれています。 Burn-in Soft Effectを使用して、タイムラインに直接バーンインを追加することもできます。 Soft Effectsの詳細については、こちらをご覧ください。
ノート:Fontフィールドは、使用するフォントファイルの完全なファイルパスと名前のみを受け入れます。 たとえば、Mac OS Xの場合は ~/ Library / Fonts / Verdana.ttfとなります。
使用可能なコントロールを表示するには、Edit をクリックします。
Burn-inテキストを作成する際に、以下の方法を混在させることができます。
• テキストを手動で入力します。 そのままバーンインされます。
• Burn-inトークンとしてショットテンプレートで有効なトークンを使用します。
例: {shot}_comp
ショットの名前をタイムラインから抽出し、_compを追加します。
• クリップおよびクリップインスタンスに適用されたタグのメタデータを使用する。
例: [metadata hiero/tags/Approved]
Approvedタグをクリップまたはクリップインスタンスから抽出します。
また、タグに関連付けられたメモを抽出して追加するすることもできます。
[metadata hiero/tags/Approved/note]
ノート:Nuke Studioでタグ名を正しく処理するには、タグ名のスペースとスラッシュの前に\\(バックスラッシュ)を付ける必要があります。
例:[metadata hiero / tags / Blue \\ Screen / note]
ノート:クリップインスタンスの持つメタデータのキーや値がわからない場合は、Text SoftEffectを追加してTcl記述([メタデータ値]など)やTcl変数を利用し、すべてのメタデータをビューアに表示できます。Soft Effectsの詳細については、こちらをご覧ください。
エクスポートにノードを追加する
NUKE STUDIOは、Node Graphからスクリプトをコピーして貼り付けるだけで、Nuke Project FileまたはShot TemplateのTranscodeエクスポートにノードを追加する事ができます。
ショット、トラック、シーケンスにノードを追加したり、スクリプト内に非接続アドホックノードとしてノードを追加したり、必要に応じてタグを利用してフィルタリングしたりすることができます。
1. ショットテンプレートのscriptフォルダにあるNuke Project FileまたはTranscode Imagesエントリ を選択し、Contentタブの下部にあるAdditional Nodesを有効にし、Edit をクリックします。
Additional Nodes Setupダイアログが表示されます。
2. +(プラス)ボタンをクリックしてエントリを追加します。
3. Apply To フィールドをクリックし、現在のエントリが適用される対象を選択します。
• Shot – エクスポートされる各ショットのスクリプトに追加ノードが追加されます。
• Track – エクスポートされる各トラックのスクリプトに追加ノードが追加されます。
• Sequence – シーケンス全体のスクリプトに追加ノードが追加されます。
• Unconnected – 追加ノードはスクリプトに追加されますが、エクスポートノードツリーには接続されません。
• None – 現在のエントリを一時的に無効にします。
4. 追加するノードを適用する対象をフィルタリングするために使用するタグを選択します。
たとえば、Greenタグが適用されているクリップのみに影響を与えたい場合は、Greenタグを選択します。 そのタグのないすべての項目は無視されます。
5. ノードグラフからノードをコピーして Script パネルにペーストします。
ノート:複数のノードが必要な場合は、ノードグラフにグループを作成し、それを Script パネルに貼り付けます。
6. 追加するノードを有効にするには、OK をクリックします。
7. エクスポートの残りの部分を設定し、Export をクリックします。
次回は引き続きエスクポートに関するプロジェクトファイルやWriteノードの具体的設定方法をご紹介します。またエクスポート時のハンドル設定についてもご説明します。