Unity 5で新しく追加された2D向けEffectorで色々と遊んでみました。
- Effector
- Surface Effector 2D
- Point Effector 2D
- Area Effector 2D
- Buoyancy Effector 2D
- Platform Effector2d
Effector
Effectorは2Dと付くColliderに対してエフェクトを追加する機能です。各コライダーのUse By Effectorにチェックを入れると、同じオブジェクトにアタッチされているEffectorが動作し、色々な機能をコライダーに追加します。
これでC#実装で自由にカスタマイズ出来たら夢ひろがりまくりなのですが、残念ながら独自の挙動作成やカスタマイズは出来ず、アリものも痒い所に手が届かない感じなのが、この機能の人気が無い所以な気がします。
Surface Effector 2D
コライダーに「接触しているオブジェクト」に対して、一定の力を加えるエフェクターです。
下のGifアニメでは、壁沿いにオブジェクトを走らせています。
どちらかと言えばベルトコンベアーとかその辺りの表現なイメージです。
Point Effector 2D
範囲内のオブジェクトに対して中央から「引き寄せる」もしくは「反発する」力を与えるエフェクターです。
下のGifアニメでは、食べ物に群がっていますが、範囲外(重力)から外れたキャラクターは容赦なく落ちてます。
重力を反転させるとバリアになります。
通常のコライダーと異なり、微妙にめり込む処がポイントといえばポイントです。
Area Effector 2D
範囲内のオブジェクトに対して、指定の方向から力を与えます。イメージ的には風が吹いてる感じです。
Buoyancy Effector 2D
Buoyancy Effector 2Dは、範囲内のオブジェクトを浮かせます。
Platform Effector2d
特定の方向からならば通れるコライダーを作ります。