Match Name マッチネーム
万国共通のエフェクト名
エフェクト名が原因のエラー
- 海外サイトのサンプルプロジェクトやエクスプレッションを日本語環境で実行しようとするとこんなエラーが表示されることがあります。
クラス’Effect’にはSliderという名前のプロパティまたはメソッドがありません。
- このエラーの原因は日本語ではスライダ制御の記述が”スライダ”ですが、英語だと"Slider"になっていて参照する名前が違うからです。
- この場合 "Slider"を"スライダ"に書き換えればエラーは回避できます。
- CS5では別の理由から前バージョンで使えていたエクスプレッションが似たようなエラーになります。それは英語の日本語表記が「スライダ」から「スライダー」に変更されたからです。
- この場合も長音符号「ー」を書き足せばエラーは回避できます。
- 日本語以外の言語でも同じ問題が起きています。複数の言語環境を使う場合は書き換えないで済めばその方がいいですよね。
どの言語でも使える書き方
- 日本語環境ではスライダ制御は次のようにエクスプレッションを書きます。
effect("スライダ制御")("スライダ")
- これを別の書き方に換えることが出来ます。
1.スライダ制御の名前を変更する。
mm=effect("followSpeed")
2.スライダ制御名にMatch Name(マッチネーム)を使う
- マッチネームというのは、AfterFxのプログラムが使う内部的なエフェクト名称のことです。これは万国共通で、こんな書き方になります。
effect("ADBE Slider Control")
3.パラメーター番号を使う
- ("スライダ")の代わりにparam(1)と記述する。前に" ." ピリオドが必要です。
- この(1)はそのコントロールが持っているパラメーターの番号です。エクスプレッションコントロールでは一つしかパラメーターは無いので1になります。
- paramを省略して(1)だけでもOKです。この場合はピリオドは不要。
effect("ADBE Slider Control").param(1)
effect("ADBE Slider Control")(1)
これで日本以外の国でも使えるエクスプレッションになります。ただ、インハウスや国内だけしか使う予定が無ければわざわざ長い記述をする必要は無いかもしれません。
その他のエクスプレッション制御のMatch Nameは以下の通りです。
角度 | ADBE Angle Control |
---|---|
チェックボックス | ADBE Checkbox Control |
カラー | ADBE Color Control |
レイヤー | ADBE Layer Control |
ポイント | ADBE Point Control |
他のエフェクトに応用
マッチネームの記述方法はエクスプレッション制御以外のエフェクトにも使用することが出来ます。
たとえば スタイライズ > エンボス の場合、日本版の記述だと次のようになります。
effect("エンボス")("レリーフ")
これをMatch Name + param番号で記述するとこうなります。
effect("ADBE Emboss")(2)
- エンボスエフェクトはパラメーターが複数あるので、”レリーフ”はパラメーター番号が2になっています。
- 番号は基本的には表示されている上から順ですが、例外もありますので注意してください。
日本語のエフェクトがどんなマッチネームになるのかは、くわしいWEBがいくつかあるので"Match Name"で検索してみてください。