FUSION 8 ~スクリプティングガイド とリファレンスマニュアル~ - yasami5/sample GitHub Wiki
このドキュメントについて
このドキュメントは、「スクリプトガイド」と「スクリプトリファレンス」の2つのセクションに分かれています。 最初のセクション、スクリプトガイドでは、FusionScriptと呼ばれるFusionのスクリプトアプリケーションプログラミングインターフェイス(API)について説明します。 LuaまたはPythonプログラミング言語を介してアクセスできます。 FusionScriptは、反復的または複雑なタスクの自動化、アプリケーションの動作のカスタマイズ、Fusionの機能の拡張、またはサードパーティアプリケーションとのデータ交換に利用できます。
このガイドには、開始方法、スクリプト言語の違い、アプリケーションモデルを表すためにAPIがどのように配置されているか、そして実際にそれを処理する方法に関する情報が含まれています。
2番目のセクションの「スクリプトリファレンス」は、スクリプトの概念と最初のセクションのスクリプトの基本を理解していることを前提としています。 スクリプティングリファレンスでは、一般的なAPI、そのオブジェクト、メンバー、引数、および使用法について説明しています。
カスタムツールを記述したり、Fusionのコア機能を拡張したりするには、C ++ SDKまたはFuseのドキュメントを参照してください。 定期的なカスタマイズとマクロについては、Fusionユーザーガイドの対応する章を参照してください。
対象読者
このドキュメントは、プログラミングに詳しい開発者、テクニカルディレクター、およびユーザーを対象としています。 これは、プログラミングの概念を教えるために書かれたものではなく、プログラミング言語のリファレンスとして機能しません。 「スクリプト言語」の章でアドバイスされているように、それぞれの言語のドキュメントを参照してください。 ただし、可能な場合は実際的な例を示し、完全なチュートリアルでFusionScriptの最も一般的なアプリケーションを示します。
要件
このガイドに従うには、Blackmagic Design Fusion 8のコピーがインストールされている必要があります。 Fusion 8 Studioでのみ利用可能ないくつかの機能が強調表示されていますが、他のすべてのサンプルはFusion 8の通常バージョンで動作します。 Pythonを使用するには、「スクリプト言語」の章で詳細に説明されているように、CベースのバージョンのPythonをインストールする必要があります。 両方のスクリプト言語のソースコードはプレーンテキストとして保存する必要があり、メモ帳やTextEditなどの非フォーマットテキストプロセッサで記述できます。 構文の強調表示と言語固有の機能を活用するには、専用のコードエディターを使用することをお勧めします。
規約
重要なメモは次のようなテキストボックスに表示されます。
注意
ガイドに進む前に、はじめにの章をお読みください。
コードは、次のような等幅フォントのボックスで導入されます。
print(“Hello World from Fusion!”) -- Writes text to the console
通常のテキストは、等幅フォントで表されるインラインのコードステートメントを参照する場合があります。 たとえば、この文の「print」という文:
ステートメントprintは、コンソールにテキストを書き込みます。
ガイドに示されているほとんどの例は、完全なソースコードの抜粋であり、それ自体では機能しない場合があります。 これにより、ガイドが読みやすくなります。 ただし、Tutorialとしてマークされているすべてのパッセージには、完全なソースコードが含まれています。
ほとんどのコード例はLuaで示されています。 インラインステートメントは、特定のステートメントのLua実装を示します。 Luaと同様に、プロパティとメソッドを特定する方が簡単です。 LuaのタプルとPythonのタプルを混同しないようにするために、タプル、リスト、辞書などを表すために総称的な用語コレクションが使用されます。
ここのコードは教育目的で書かれています。 個別のメソッドにリファクタリングできるものは、明示的に、または最適化されていない方法で記述されることがあります。 APIの基本的なコンセプトがわかったら、遠慮なく自分の才能をコードに追加してください。
一貫性の理由から、命名規則はLuaとPythonの両方でAPI(cameCase)の命名にほぼ従います。 代わりにPEP8または独自の規約に自由に適応してください。
1. スクリプティングガイド
序論
スクリプトとは何ですか?スクリプティングは、理論上、特定のプログラミング言語を1行ずつ、またはコンパイル済みのバイトコードの形式で解釈します。プリコンパイルされたマシンコードを直接実行するのではありません。 実装の詳細に深く入り込むことなく、その性質上、Fusionなどの複雑なアプリケーションはホストとして機能し、専用のスクリプトAPIを介してその機能へのアクセスを提供できると結論付けることができます。 スクリプト環境は、基になるAPIをラップし、サードパーティのコードに欠陥がある場合にアプリケーション全体をクラッシュさせる可能性が低くなります。 ホストアプリケーションを再起動せずに、コードをその場で変更できます。 さらに、ガベージコレクターは、一般的なスクリプト環境でほとんどのメモリ管理を行います。 これらすべてにより、ネイティブコンパイル済みコードと比較して評価が遅くなりますが、パフォーマンスは通常のグラフィカルユーザーインターフェイスを使用してユーザーが実行できるものを超えています。 Fusionで使用されているLuaのJustInTime(JIT)フレーバーは、多くの場合、ネイティブコードとほぼ同じ速度で実行されることが特に知られています。