COFFEE(「COFFEE」と表記されることが多い)は、独自の3DグラフィックアプリケーションであるCINEMA 4Dの一部を構成するコンピュータ スクリプト言語である。頭字語として提示されているが、 COFFEEという単語の文字は、Cinema Object-ordinate Fery Fast Environment Enhancerの略であると言われているが、[1]主に、はるかに有名なコンピュータ言語であるJavaへの冗談めいた言及である。
COFFEE は、2018 年の Cinema 4D リリース 20 で廃止されました。
目的
ほとんどのスクリプト言語と同様に、COFFEE はホスト ソフトウェアの機能を拡張または変更するために使用されます。この手法は、Cなどの従来の言語を使用していわゆるプラグインモジュールを作成するよりも優れています。その理由としては、次のようなものがあります。
- スクリプト言語はユーザーに代わって暗黙的にメモリ管理を処理しますが、C ではそうではありません。
- 言語インタープリタでは、プログラムを使用する前に、プログラムを別の手順でコンパイルする必要はありません。
- 専用のスクリプト言語は、意図した用途に合わせてカスタマイズできます。たとえば、COFFEE には、3D グラフィックス プログラミングに必要な数学関数が組み込まれています。
CINEMA 4D の操作には、COFFEE スクリプトを使用してカスタマイズできるさまざまな側面があります。特に、ユーザー インターフェイスの追加、新しいファイル形式の読み取りと書き込み、テクスチャシェーダーの作成のための拡張機能などです。アプリケーションのほぼすべての主要機能は COFFEE プログラムからアクセスできるため、カスタマイズされた機能は標準で提供される機能とほぼ同じように見え、同じように動作します。
構文と言語機能
COFFEE は、かなり典型的な中括弧言語なので、C/C++、Java、Perlなどの以前のユーザーにとっては馴染みのある言語です。関数とオブジェクト クラスの定義は、C++ の定義を忠実にモデル化しています。ただし、COFFEE は動的に型付けされるため、変数は、その型を参照せずに、単純なvarキーワードで定義されます。SquirrelやJavaScriptなどの類似のスクリプト言語とは異なり、COFFEE では関数を導入するためにfunctionキーワードを使用しません。また、C/C++ のように戻り値の型や "void" 戻り値も必要ありません。関数定義は、単に関数名で始まります。
COFFEE のメモリ管理は、ガベージ コレクションプロセスによって完全に処理されます。つまり、基本的にプロセス自体が管理されるため、プログラマが気にする必要はほとんどありません。ただし、必要に応じてプロセスを明示的に制御することは可能です。
3D グラフィックス プログラミングでは、三角法やベクトル演算などの特定の数学的手法が広く使用されます。COFFEE は、優れた数学関数セットと組み込みのベクトル データ型を備えており、この分野で十分に機能しています。
CINEMA 4Dとのインターフェース
COFFEE は CINEMA 4D を拡張するために使用されるため、ある程度ホスト プログラムの機能を利用する必要があります。アプリケーション プログラミング インターフェイス(API) を通じて、ユーザーが作成した 3D オブジェクトを検索し、その内部データ構造にアクセスできます。たとえば、スクリプトから新しいオブジェクトを作成したり、既存のオブジェクトを変更したり、変形したりできます。COFFEE の主な目的は新しいファイル形式を使用できるようにすることです。そのため、Cinema API は、このタスクに役立つ機能を提供します。ファイル入力/出力クラスが使用可能で、これによりバイナリ データの個々の項目 (整数や浮動小数点数など) の読み取りと書き込みが可能になります。
参考文献
- ^ Sterner, Mikael. 「What means COFFEE ? - Plugin Cafe Forums」. www.plugincafe.com . 2019年7月14日閲覧。
外部リンク
- Maxon の Web サイト - CINEMA 4D と COFFEE のメーカー。
