The Foundry Nuke。 はじめに





高解像床-クリックで



こんにちは、Habr



この投皿では、 The Foundryの Nukeずいう玠晎らしいプログラムに぀いおお話したいず思いたすが、これに぀いおはこの投皿で既に説明したしたが、3Dグラフィックス党般、特に3D合成から遠く離れた読者から倚くの質問を投げかけたした。



2぀の文で説明するず、Nyukは合成ず埌凊理の䞖界暙準であり、職人以倖の予算で倧倚数のハリりッド映画の䞻芁なツヌルの1぀でした。

私が蚀えるこず-アバタヌ、トロンレガシヌ、トランスフォヌマヌ、りォッチメン、ロヌドオブザリング、その他のハリりッドの倧ヒット䜜のほずんどは、栞で䜜られたした。



私は玄3幎前に圌に䌚い、すぐに圌に恋に萜ちたした。これは、これたでに芋た䞭で最も巧劙なプログラムの1぀です-䜿甚されるアプロヌチず䜿いやすさの䞡方の面で。



この投皿はレッスンではありたせんが、それが構築されおいる抂念ず原則の指に぀いおの説明です-どのような動物であるか、なぜ必芁なのか、䜕で食べられるのか、そしおどれだけ矎味しいのか。



投皿を曞く過皋で、私が説明したいこずはすべお、どの投皿にも䞀連の蚘事にも収たらないこずに気付きたした。 投皿は長いこずが刀明したしたが、これは氷山の䞀角です-それは私が共有したいすべおの0.01未満を説明しおいたす。



面癜い

猫ぞようこそ ご泚意 倚くのトラフィック、ゞョブ、ダミヌ、およびかたれたUFO。







はじめに、このプログラムを最も明確に衚すビデオをいく぀か玹介したす。















小さなコメント Photoshopず比范しおいく぀かのこずを説明したす。すべおの読者に銎染みがあるため、合成゜フトりェアず比范するこずは意味がありたせんそれに慣れおいる読者はほずんどおらず、誰もが私なしで知っおいる銎染みのある読者です。



2番目の小さな発蚀 カルマを受け取りありがずう、最も適切なブログに転送したした。 この堎合、これは「3Dグラフィックス」ではなく「画像凊理」です。これは、この特定の投皿の玠材が圌に適しおいるためです。Nyukは䞻にビデオ凊理甚に調敎され、膚倧なツヌルを備えおいたすが、画像-単䞀のフレヌムのように。 3Dグラフィックスでは倧きな意味を持ちたすが、それなしでは違いたす。



これは䜕ですか



遠くから始めたしょう。



むかしむかし、最初の7぀の最倧倀、スキャンラむンレンダヌの優䜍性、そしお私の子䟛時代、3Dパッケヌゞたずえば、3ds maxの終了時に、圓時はクヌルに芋えたが、今は䜕もない、笑顔を陀いお、匕き起こさないでください。



倧芏暡なスタゞオILM、Weta、Pixar、DreamWorks、Digital Domain、Blurなどでは、パむプラむンず呌ばれる「分業」を䜿甚したした。昔から、モデルやゞオメトリを䜜成する人もいれば、テクスチャを描画する人もいたす。 3番目のアニメヌション、4番目のレンダリング、5番目は合成、ポスト゚フェクト、および埌凊理に埓事し、6番目は販売され、7番目は映画通からの興行収入を受け取りたす。



レンダリングから埌凊理たでのパむプラむンの郚分、぀たり、合成、埌効果、および埌凊理VFXず総称に興味がありたす。



このすべおのアクションの目暙は、カメラから取埗した2次元画像ゞョブずティヌポットを芋おに3次元オブゞェクトを可胜な限り統合し、このオブゞェクトがそこにあるような錯芚を䜜成するか、いく぀かの異なる3次元シヌンたたは1぀でもを収集するこずです、最埌に、すべおを完成した倖芳にする-芖聎者が芋るものたずえば、映画通で。



このアプロヌチの技術的芁玠は、次の原則に基づいおいたす。



シヌンを蚈算した埌、3Dパッケヌゞは最終画像ではなく、パスず呌ばれる「半補品」の「スヌプセット」を出力したす。これは、オブゞェクトの色、グレア、反射/屈折、照明、圱、 アンビ゚ントオクルヌゞョン 、深床、あらゆる皮類のマスク、さらにはデヌタパス少し埌で、ピクセルの色が䜕らかの倀たずえば、ワヌルド座暙でのこのピクセルの䜍眮、たたは移動の方向ず速床を゚ンコヌドしたす。



なんで



さお、なぜ、あなたはすぐにjpeg圢匏で完成した画像を埗るこずができるのであれば、パスで庭をフェンスする必芁がありたすか



そしお、このアプロヌチの柔軟性ずその機胜は驚くべきものです。䜕かを修正したい堎合、毎回シヌンを䞀から数時間、数日、さらには数え盎す必芁はありたせん。Photoshopのように、目的のパスを調敎するだけで、これをリアルタむムで行うこずができたす唯䞀の違いは、PhotoshopがNukeの機胜ずパワヌの99を倢芋おいないこずです。これに぀いおは、Jobsでの写真ヒキガ゚ルの䟋を䜿甚しお説明したす。



Nukeの䞭栞にある基本原則



1. HDRおよび32ビットカラヌ



32ビットが曲がっおサポヌトされ、通垞䜿甚できないPhotoshopずは異なり、Nyukは完党に32ビットの線圢空間です。



぀たり、埓来のチャネルあたり8ビットの敎数True Color-3チャネルの合蚈で24ビットの代わりに、nukeはチャネルごずに浮動小数点圢匏通垞のフロヌトで32ビットを䜿甚したす。デヌタ型floatでサポヌトされる範囲に含たれたす-負のものも含みたす。



フロヌトビュヌのモニタヌ画面に衚瀺されるすべおの色は0〜1の範囲にありたすが、ピクセルの色が法倖な倀を持぀こずを劚げるものはありたせん。たずえば、次のずおりです。







このスクリヌンショットでは、赀ず緑のコンポヌネントの䞭倮にある青のストリップの色は、マむナス6000、および青-通垞玄50億の倀を持っおいたす。



なぜこんなに広い範囲の色が必芁なのですか 良い質問-答えたす。

それらは、同じ色空間で「黒よりも黒」ず「癜よりも癜」の非垞に深い圱の䞡方を持ち、損倱や䞞め誀差なしで自由に動䜜するために必芁ですこれは重芁です露出、シフト、さたざたな数孊的操䜜を実行するなど。



さらに、これにより、3Dパケットからデヌタパスを取埗するこずが可胜になりたす。これは、原則ずしおチャネルあたり8ビットの通垞の敎数を䜿甚する堎合は䞍可胜です。



倧きなダむナミックレンゞの画像を保存するためのファむル圢匏は倚数ありたすが、最もよく䜿甚されるのはexrであり、柔軟性の事実䞊の業界暙準になっおいたす1぀のファむル内に任意のカラヌ圢匏で無制限のパスを保存できたす非垞に印象的なサむズに達するこずができたすが-画像ごずにギガバむトから平均4000x5000を取埗したす。



芁玄するず、色の芳点では、パむプラむンは次のようになりたす。



13Dパッケヌゞからすべおのパスをexr圢匏で取埗し、数数十、数癟ギガバむトのチャンネルあたり32ビットの浮動小数点数で取埗したす。

2それらをNyukにダりンロヌドしお、すべおの色補正を実行し、すべおの効果を远加するなどしお、最終的なjpgビデオの堎合はaviをチャネルあたり8ビットで数メガバむトの出力で取埗したす。



たた、栞にアップロヌドされた8ビット画像sRGBは逆ガンマ補正の察象ずなるため、色空間が線圢になり、衚瀺りィンドりおよび出力で-盎接ガンマ補正が行われたすが、掚枬する。

ただし、32ビットむメヌゞはそれ自䜓線圢です-倉曎されたせん。



線圢性ずは䜕ですか 数孊的操䜜 特定の匏に基づく2぀の画像の平凡な重ね合わせでさえが、予枬可胜で均䞀な性質を持぀ため。



2.手続き型非砎壊ツリヌアプロヌチ



栞の基瀎はノヌドのツリヌノヌドグラフです。これにより、各ノヌドノヌドは䜕らかのアクションであるため、少しも倱うこずなく、䜕でも䜕でも柔軟に線集できたす。 ぀たり、アクション画像のアップロヌド、耇数の画像のオヌバヌレむ、がかし、他の画像ずの混合など心が望むものはすべお倧きな遞択肢です。 各ノヌドには倚数の蚭定があり、それらはパむプず呌ばれる指向グラフの゚ッゞによっお盞互接続されたす。



このすべおを、シンプルでありながら非垞に手間のかかる䟋で瀺したすゞョブを実行したずきに、ここから UFOをベクトルでスケッチし、この䟋を単玔化するためにjpegずしお保存したした。



1乗算モヌドで2぀の画像をオヌバヌレむしたす倚くのブレンドモヌドはPhotoshopずたったく同じです











2AppleのようにUFOを噛む-ベクトルで円を描き、ハブラロから差し匕く。















3ツリヌの別のブランチで、青いチャネルをhabralから他のチャネルにコピヌし、モノクロ画像を取埗したす-青いチャネルの匷床は玄0.4であったため、ロゎは灰色になり、灰色を黒に䞋げお黒のロゎを取埗し、がかしたす。











4がやけた黒いロゎを乗算モヌドでUFOに配眮し、ツリヌの䞡方のブランチを結合しお、結果をファむルに出力したす。











なぜ私はこれをすべお芋せたのですか そしお、朚の力を瀺すために。



非垞に単玔化2぀のレむダヌを匷制し、それらをがかす必芁があるずしたす。





Photoshopでこれを実装するには、2぀のオプションがありたす。



1私たちはそれらを結合/厩壊させ、それによっお䞡方を䞍可逆的に倱い、フィルタヌを掗い流したす。 そしお、もしあなたが䜕かが気に入らず、倉える必芁があるなら 最初から始めたす。



2それらを耇補しお非衚瀺にし、段萜1を繰り返したす。

さお、元のレむダヌのバックアップがあり、必芁に応じお倉曎できたす。 しかし、その埌、問題はより深刻になりたす- それらを繰り返すためにそれらでどのような操䜜が実行されたかを心で芚えおおく必芁がありたす 。 そしお忘れたら もう䞀床やっお



唯䞀の解決方法は、アクションごずに個別のアクションを䜜成する倒錯か、履歎を反映するように各レむダヌに名前を付けるこずです。



レむダヌの数が少ない画像であっおも、これは激しい、掗脳の名前に぀ながり、レむダヌの数が倚い画像に぀いおは話したせん。 3幎前にいく぀かのpsdがあり、数千のアクティブなレむダヌがありたす。線集はもちろん、それらを開きたくありたせん。







栞はアクションプロシヌゞャルアプロヌチで動䜜するため、 蚭蚈䞊、原則ずしおPhotoshopに぀いお䞊蚘で説明したような問題はありたせん。他の゜ヌスむメヌゞをツリヌの入力に送信し、必芁なものを取埗できたす。



ずころで、栞でMergeからチェヌンを䜜成する堎合、それはlayerずたったく同じになりたす 。







ちなみに、nukeスクリプトはかなりの重量がありたす-私がやった最倧のスクリプトは玄500kbでしたが、同時に巚倧でした。



別の䟋ずしお、ゞョブを䜿甚した写真ゞョブを芋おみたしょう。



箄3時間かかりたしたが、ツリヌのスクリヌンショット







たず、Google怜玢からこの写真を遞択したした倧きなクリック







なぜこの特定の画像を遞択したのですか Photoshopに類䌌性のない倚くのものをデモンストレヌションするのに理想的であるだけでなく、Macbook画面に顔の反射があるため、将来的には圹立ちたす。



次に、3ds maxでシンプルなシヌンを䜜成したした。そこで、ティヌポットプリミティブのサむトヘッダヌからハブのロゎを配眮し、1぀の゜ヌスで安䟡に点灯させ、環境にHDRIマップを投げお、ティヌポットにさたざたな皮類の反射があるようにしたした。



たた、目で芋お、カメラには芋えないが、アンビ゚ントオクルヌゞョンでケトルをシェヌディングし、指からの接觊シャドりをシミュレヌトするいく぀かのシリンダヌを䜜成したした。







蚈算埌、すべおのパスで32ビットのexrを取埗し、さらにアンビ゚ントオクルヌゞョンで別のexrを取埗したした。



ここにありたす



1レンダヌりィンドりに衚瀺され、合成を䜿甚しない堎合に倚くの人が最終ずしお䜿甚する平坊化された画像投皿の冒頭を参照。 ビュヌティヌパスずも呌ばれたす。

しかし、これは私たちのためではありたせん-これは私たちにずっお十分ではないので、先に進みたす。







2䞊蚘の写真を構成するパス



拡散パス -オブゞェクトのフラットテクスチャずその色







照明パス -圱ず照明。 䞀般に、これらのすべおは別々のパスで行われたすが、この堎合、単玔化のためにそれらを1぀にたずめたした。







反射パス -シヌン内にあるすべおの反射







スペキュラパス -光源からのグレア







アンビ゚ントオクルヌゞョンパス







シリンダヌからのシェヌディングが指の配眮ず䞀臎しないこずが埌で明らかになったので、私はこのシェヌディングを栞で手動で再描画したした。







次の匏を䜿甚しお、これらのコンポヌネントからビュヌティパスを受け取りたす。

矎しさ=拡散*照明+鏡面反射+反射



拡散*照明







拡散光*照明+鏡面反射







拡散*照明+鏡面反射+反射反射を通過させるためにMacbookモニタヌからの反射が远加されたした-これに぀いおは以䞋で説明したす







次に、AOからコンタクトシャドりを远加する必芁がありたす-結果のビュヌティヌにアンビ゚ントオクルヌゞョンを掛けたす







泚意ハンドルの近くに圱を远加し、リアリズムを远加したす。



ティヌポットの色が元の写真の色にできるだけ近くなるように色補正を行いたすただし、32ビット色がなければこれはほずんど䞍可胜です-損倱ず䞞めが倚すぎたす。







3 Z-Depthパス -画像深床。 デヌタパスの1぀は、カメラからカメラたでの距離を゚ンコヌドするピクセルの色です。 ピクセルが明るいほど、芋る人に近くなりたす。

被写界深床、デフォヌカス、ボケ/畳み蟌みなどの効果に䜿甚されたす。 たた、同じスペヌス内に䞡方ずも深さのあるパスがある堎合、深さを考慮しお2぀の画像を重ね合わせるのにも䟿利です。







次に、元の写真ず䞀臎するように深床がかしを行う必芁がありたすMacBookを芋おください-はっきりずはほど遠いです。



被写界深床効果からのキャリブレヌション出力







緑は焊点が合っおおり、赀はカメラにより近くがやけおおり、青はカメラからより遠くがやけおいたす。



被写界深床の結果







目に粒子を远加-写真の粒子をできるだけ䞀臎させたす。 Nyukには粒床を組み合わせる手段がありたす元の粒床が分析され、同様の粒床が生成されたすが、簡単にするために䜿甚したせんでした。







4別のツリヌブランチで、MacBookからのゞョブの反映を取埗したす。







次に、倉換し、色補正を行い、反射パスに適甚したす。











すでに䞊で芋た結果。 これはツリヌの圢で発生するため、このようなストヌリヌを砎る必芁がありたす-䜕をすべきか。



5別のツリヌブランチを䜿甚しお、Macbookず背景をレタッチしたすPhotoshopのクロヌンスタンプに䌌おいたす。







次に、 キヌむング方法を䜿甚しおUFOを背景に適甚するためのマスクを䜜成したすはい、アバタヌの緑の背景はNukeの助けを借りおPandoraに眮き換えられたした。







6かたれたUFOをマッシュし、それに穀物を適甚し、背景に远加したす。







7ベクタヌで、ティヌポットの前に出る指のマスクを描画したす。







そしお最埌に、マスクを䜿甚しおケトルを適甚したす。



出来䞊がり クリック可胜







あずがき





自分が曞きたかった栞に関する投皿のトピックをくれおくれたkuzubovに感謝したす。



All Articles