うにty生活

UnityChanを生活させたい

Lightコンポーネント設定+Haloコンポーネント 勉強会#5.2

どうもラブへです

先日unityで仕事してる人に是非読んでほしいと渡された本が全て英語で書かれていて

まじか…と思いつつも乗り越えなければ行けない壁だなと感じました

 

f:id:tubakihimeLoveHate:20180813130353p:plain

最近のベストショット

 

ということで今回も引続きLightに関して基礎的な内容を勉強していきます!

 

◆Lightコンポーネント

 

Lightコンポーネントは主にLightを生成した時付いて来るコンポーネントで、Lightの種類や光の強さやなどを調節できます

 f:id:tubakihimeLoveHate:20180813125545p:plain

 

Type 

 Lightのタイプを変更できます

 

Directional

  3Dプロジェクトを立ち上げると必ず最初に存在しているLightで、

  全方位から均一に光が当てられる、まるで「太陽」みたいな役割をする

  このLightは「位置」は関係なく、「向き」を変更したとき明暗が変わっていく

 

f:id:tubakihimeLoveHate:20180817143812g:plain

 

Point

  小さい光の玉で「電球」のような役割をする

  PointライトにはRangeという項目が存在していて光の範囲を調節可能です

 

 ※Pointライトは建物の中ではRange項目を大きくしてInsensity(光の強さ)は小さく設定すれば自然な光になりますよ

 

Spot

  名前の通り「スポットライト」のように円錐状に照らします

  

f:id:tubakihimeLoveHate:20180817144104p:plain

 

Area

  イメージは壁一面が光っているようなLightです

  このLightは置いてすぐは、光が反映されませんので

       Window>Rendering>LightSettingの一番下にあるGenerate Lightingを押して

  ベイクしてください。時間がかかる場合もありますが光が反映されます

  

f:id:tubakihimeLoveHate:20180817150236p:plain

 

AreaLightだと光を当てようと思っているオブジェクトもオブジェクト右上のStaticをLighting Staticにしなければ光が反映されません

 

Color 

 光の色

 

Mode 

 ここは私自身、未熟であまり理解できておりません

 

Realtime 

  動的な(動く)Lightを使用するときはRealtimeを使用することで

  Lightが動くたびに光や影が反映されます

 

Baked 

  Lightに対しての影をあらかじめ焼き付けておく(Bake)

  Bakeすることで処理が重くならないがその代わり動かしても変化が見られない

  そのほかにも色々メリットはありそう

 

Mixed :

  RealtimeとBakedの中間?

  

とりあえず動きが見たい!って方はRealtimeで大丈夫です

 

Indirect Multiplier 

  間接光の強度つまり、跳ね返った光の強さです

  1:跳ね返っても光の強さは変わらず

  1以下:だんだん暗くなっていく

  1以上:だんだん強くなっていく

 

ShadowType 

  影の有無や形を設定できる

 

NoShadow

  影が落ちない

HardShadow

  くっきりとした影が落ちる

SoftShadow

  輪郭がぼやけた影が落ちる。よりリアルだがHardShadowより処理が重たい

f:id:tubakihimeLoveHate:20180818005329p:plain

f:id:tubakihimeLoveHate:20180818005335p:plain

上がHard  下がSoft

 

Strength

  影の濃さ

・Resolution

  影のクオリティ

Bias

  リファレンス通りだと影が現れなくなる光の距離を設定できると書いてあります。

     影を落とす処理ではライト・物体(オブジェクト)・カメラとの位置を計測したりす

  るためその調節かと思われる

 

  実際に触ってみてわかったことは

  0~2の間で、0の時影が大きくなります。2の時には小さくなり太陽が真下を

  向いている時には影がなくなります

 

Normal Bias

  Biasの微調整?Biasよりも変化が小さい

 

NearPlane

  レンダリングを止めるライトとの距離間を設定する

  ・・・と書いてありました(笑)

  値をいじって見ましたが変化は見られませんでした

 

※手っ取り早く簡単にリアルにしたい場合はDirectionl LightのShadowをつけるだけ!

 

あと影をつけるときはShadowdistanceの設定を見直した方がいいです

Edit>ProjetSetting>Quality>ShadowDistance

この値はカメラからどのくらいの位置まで影を描画するか設定できます

これを低く設定することで処理を軽くすることができます

50〜70くらいでいいとかと、、ちなみに私はデフォルトで150になってました笑

 

Cookie

  影が落ちる時にテクスチャを設定できる

  例えばシルエットなど

 

Drow Halo

  チェックを入れるとそのLightにHaloコンポーネントが加えて描画される

  (実際に追加されるわけではなくLightのRangeに基づいてサイズが変更します)

  Haloというのはオーラ?粒子?のようなものでLightと一緒に使うと

  光がぼやけているように演出できます。が、

  Haloはオブジェクトを貫通するため室内で使うのには向いてないかもしれません

       

f:id:tubakihimeLoveHate:20180817153152p:plain

 

Flare

  フレアをライトの中心に描画したい時に使う

 

Render Mode

  選択中のライトの描画のパフォーマンスを決める

Auto:描画方法が近くのライトの明るさと現在の画質設定に応じてランタイムで決定

Important:ライトが常にピクセル単位のクオリティーで描画される

Not Important:常により高速なライトモード

 

Culling Mask 

  特定のオブジェクト一式をライトの影響を受けないように選択的に除外できる

  これはStaticごとに選択することができます

 

 ◆コードで変更する

Lightコンポーネントの要素はコードからも変更可能です

    public Light pointlight;
    // Use this for initialization
    void Start () {
        pointlight = GetComponent<Light>();
        pointlight.intensity = 0.0f;
        pointlight.range = 15.0f;
        pointlight.color = Color.white;
    }

 

簡潔にしたつもりですが長くなっちゃいました...

次からは本編に戻ります!

お楽しみに!