モデルを用意するとき、目や体の一部のパーツを光らせたい事があります。例えばロボの目は光っているべきですし、ロボっ娘の回りには無駄に光るパーツが付いてたり浮いてたりします。
それが別パーツであればEmissionをとりあえず上げてれば良いのですが、別パーツにするということはメッシュを分割するって事です。そうなるとSetPassやら透明時の扱いやらで色々と面倒な事になります。
ので、パーツの一部を光らせる方法についてです。
目次
モデルの一部を光らせる
UnityのStandardShaderは、パーツの発光にマスクをかける事が出来ます。例えばCubeをそのまま光らせるとCube自体が発光しますが、Cubeにグリッド状のマスクをかけてやる事で、四隅のみを光らせたりする事が出来ます。
このマスクの位置はモデルのテクスチャのUVと一致します。つまりテクスチャをコピーし光ってほしいパーツを白・光ってほしくないパーツを黒に設定することで、パーツを光らせることが出来ます。
テクスチャを加工する
せっかくなのでロボの目を光らせてみます。目が光っていないロボはロボではありません。唯の鉄くずです。
(加工方法は正直専門外なのでもっと良い方法があるかもしれません)
テクスチャの複製
とりあえずロボのテクスチャを複製します。
複製した方(Emissionのマスクに使う方)は解像度が高い必要が無い場合は解像度下げちゃっても問題ありません。UVが一致するならば。
テクスチャを編集します。今回は無料で有名なGimpを使用して見ます。ちゃんとUV展開しているモデルであれば、概ねどこらへんのパーツが何に該当しそうなのか見当が付きます。付かない場合は…Mayaとかで確認するのが良さそうです(他の方法を知らない)
光る部分の色を指定
今回は目なので、左上の赤点二つを白、それ以外を黒に染めます。
まずレイヤーを用意します。レイヤーの左下ボタンで新規レイヤーが作成出来るので「描画色」を選択して黒い背景を作ります。
作った背景は目玉マークを押して非表示にしておきます(Alphaを減らす方が現実的かもしれません)
選択ツールで目二つを選択します。Shiftを押しながら選択ツールを使用すると、追加で選択できるみたいです。
あとは選択中のロボ目を「塗りつぶし」を使って白くします。作業実行後は
を再設定しマスクだけ表示されるようにします。
モデルを光らせる
これを保存し、マテリアルのEmissionに設定します。Emissionの輝度は2とか3に設定しておきます。
これでモデルの一部が影や暗闇の影響を受けなくなりました。
後はもっと光ってる感を出すためにBloomを設定します。
CameraのHDRをON
メニューバー>Project Settings > Quality SettingsでQuality Settingsを開きAntiAliasingをDisabledに設定
CameraにBloomコンポーネントをアタッチ(Bloomが無ければメニューバー > Assets > Import Package > Effectsでインポート)
Bloomの設定はThresholdとIntensityが1、BlurとSample Distanceが広いとソレっぽくなります。輝度が足りなければEmissionを上げます。
ぴかー
キュピーン・ゴゴゴ
ちなみに、キュピーンみたいなのをやりたい場合はレンズフレアを使った方が楽に出来ます。遮るのにColliderが必要になるけど、まあ。