VFXソフトウェア向けの開発者パッケージ—プラグイン、API、DaVinci、Nuke、After Effectsを拡張するツール。コアソフトウェアを改変せずカスタムソリューションを実現。
After Effectsでプラグインをロードしたり、Nukeでカスタムノードが必要になったコンポジターなら、誰でもSDKを間接的に扱ったことがあるはずだ。ソフトウェア開発キット(SDK)は、基本的にソフトウェアメーカーが提供する「建設現場」であり、ツール、コードライブラリ、ドキュメント、APIなどが含まれており、既存のアプリケーションにシームレスに統合される独自の機能を作成できる。システムをハッキングするのではなく、公式のインターフェース上に構築するのだ。
実際には、C++、Python、または提供されているスクリプト言語のスキルが必要となる。例えば、DaVinci SDKを使えば、カスタムFusionツールを開発したり、グレーディングプラグインを作成したりできる。NukeはPython APIとC++ SDKを提供しており、ビューアからレンダリングノードまであらゆるものを拡張できる。After Effectsはどうだろうか?AdobeはExpression Engineやカスタムパネル用のSDKを提供しているが、古いバージョン(AE CC 2014以前)はより包括的な機能を持っていた。新しいバージョンでは、UI要素のためのCEP(Common Extensibility Platform)に重点が置かれている。
SDKが実用的に価値があるのは、スタジオが必要とする独自のパイプラインツールを作成できることだ。自動LUT適用、カスタムデノイザー、プロダクションシステムからカメラデータを抽出するノードなど、ソフトウェア自体を操作することなく実現できる。これにより、アップデートの手間が省け、テクノロジーの保守性が維持される。同時に、コンポジターだけでなく、開発者も必要となる。これがトレードオフだ:真の柔軟性は専門知識を必要とする。
SDKを完全なプログラミング環境として期待するのはよくある間違いだ。そうではない。SDKは、拡張できる範囲とその方法を定義する。時にはその境界線は狭く(歴史的にAfter Effects)、時には寛大(Nuke)だ。ツール開発を決定する前に、各メーカーのSDKドキュメントを確認する価値は常にある。そして、SDKを学ぶのは確かに大変な作業だ。しかし、パイプライン自動化や非常に特定のVFXワークフローを必要とするスタジオにとっては、不可欠なものなのだ。