dA-tools.com

HOME > AfterFx > expression > 実践 > matchName

Match Name マッチネーム

万国共通のエフェクト名

エフェクト名が原因のエラー

  • 海外サイトのサンプルプロジェクトやエクスプレッションを日本語環境で実行しようとするとこんなエラーが表示されることがあります。

クラス’Effect’にはSliderという名前のプロパティまたはメソッドがありません。

  • このエラーの原因は日本語ではスライダ制御の記述が”スライダ”ですが、英語だと"Slider"になっていて参照する名前が違うからです。
  • この場合 "Slider"を"スライダ"に書き換えればエラーは回避できます。
  • CS5では別の理由から前バージョンで使えていたエクスプレッションが似たようなエラーになります。それは英語の日本語表記が「スライダ」から「スライダ」に変更されたからです。
  • この場合も長音符号「」を書き足せばエラーは回避できます。
  • 日本語以外の言語でも同じ問題が起きています。複数の言語環境を使う場合は書き換えないで済めばその方がいいですよね。

どの言語でも使える書き方

  • 日本語環境ではスライダ制御は次のようにエクスプレッションを書きます。

effect("スライダ制御")("スライダ")

  • これを別の書き方に換えることが出来ます。

1.スライダ制御の名前を変更する。

  • sliderName.jpeg図の2つめのようにするとエフェクトの名前は次のように記述できるので問題を回避することができます。レイヤー名の変更と同じやり方で書き換えることが出来ます。

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"で検索してみてください。