FC2ブログ
    08 «1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.» 10

    ハルシオンシステムの気ままBlog

    株式会社ハルシオンシステムのメンバーが送る、UnityやらJavaやらの技術的話題から、自社開発のアプリの宣伝とかとかのブログです。ほんと気ままにいきたいと思います。更新日は毎週 月 木でっす!

     

    【ハルシオンブログ】(Unity)SpriteRendererを3D空間において、ライティングと影を使いたい! 

    こんにちは!坂内っす。(これいる?)

    Unityで3D空間に2Dキャラとかを置く場合、どうしましょう?

    そのままSpriteRenderer置いてもライトの影響とか、影とか出ないっすよねー

    適当な床と壁を用意し、キャラはアセットストアのフリーのやつを置いてみます。

    とりあえず適当に左右に動くようにしてみました。



    この方法だとライティングも影も無視ですよねー

    以下の方法をいじってみましょう。

    ①ライトの設定で、影を付けるようにする

    ライトのShadowTypeをHaed ShadowsかSoft Shadowsにする。



    ②以下のShaderを用意
    https://answers.unity.com/questions/976048/how-do-you-flip-a-sprite-that-has-a-normal-map-mat.html
    ここのフォーラムにあったShaderが使えます。

    ③マテリアルを作成
    マテリアルを用意し、①のShaderにする
    StandardのShaderを使用すると、FlipやScaleをマイナスにして左向き等した場合に、描画されなくなります。

    ④SpriteRendererのマテリアルを②で作ったものに変更
    これで、ライティングが有効になります。



    ⑤影を付けてみる
    SpriteRendererのShadowをONにしたいが、そんな項目がありません。
    そこでInspectorをDebugモードにします。



    ここのハンバーガーボタンを押してDebugモードにします。

    SpriteRendererのCast Shadowを「Two Sided」にします。

    これで大体の設定は終わりです。



    SpriteRendererで、ライトと影が使えるようになりました!!


    ※上記でも影が出ない場合は以下の設定も追加でやってみてください。

    Edit>ProjectSetting>Quality>ShadowsがOFFになっている場合、「Hard and Soft Shadows」に変更。



    これでできると思います!

    ってことで、今日はこれにてあでゅ~ノシ


    Category: 開発日記(Unity)

    tb 0 : cm 0   

    コメント

    コメントの投稿

    Secret

    トラックバック

    トラックバックURL
    →http://halcyonsystemblog.jp/tb.php/584-9bd4e9ff
    この記事にトラックバックする(FC2ブログユーザー)