C#
Unity
ネタ

Unity - パ○ツを遮る謎の光を実装してみた。

諸注意

アニメでよく見かけるあの輝かしい光をUnityで実装してみました。
パ○チラは男のロマンであり、夢であり、憧れであります。
安易な気持ちでアプリに組み込んで非難を浴びないようご注意ください(´・ω・`)

LensFlareの用意

空のGameObjectを用意して、そこにLensFlareコンポーネントを追加します。
LensFlare用のテクスチャはデフォルトで用意されてますが、光源が小さくスカート全体を隠しきれなかったのでAssetStoreから専用のテクスチャを追加でインポートしておくとよいです
Lens Flares - Asset Store

配置

LensFlareをスカートの中に仕込みます。
モデルが動いてもいいように必ず腰回りのジョイントの配下に設置しましょう。
プロ生ちゃんの場合であばlower_body配下に置く。
img

Colliderの設定

そのまま配置しただけだとフレアがスカートを貫通してしまいます。
img

LensFlareはColliderで隠せるのでスカートのジョイントにそれぞれBoxColliderを追加していきます。
img

腰回りから光がもれないようにフタ用のColliderも
img

IgnoreLayers(無視するレイヤー)の設定

Colliderを追加しただけだとレイヤー設定がDefaultのままなので、他の無関係なColliderを通して見たときフレア効果が消えてしまう場合があります。
そうならないようにLensFlareを隠すためのColliderには専用のレイヤーを設定しておくとよいです。
例として「Nazonohikari」としておきます。
img

次にLensFlareのIgnoreLayersにフレア効果を隠すレイヤーを設定します。
今回の例であれば「Nazonohikari」レイヤーのみチェックが外れた状態にしておけば、Nazonohikariレイヤーが設定されたスカートのColldierのみフレア効果を隠してくれます。
img

完成

gif

フレアの強さやフェード時間などはInspectorでいじれます。