Upgrade to Pro — share decks privately, control downloads, hide ads and more …

楽しい! LWRP + Light2D / Unity Light2D Tutorial

lycoris102
October 23, 2019

楽しい! LWRP + Light2D / Unity Light2D Tutorial

lycoris102

October 23, 2019
Tweet

More Decks by lycoris102

Other Decks in Technology

Transcript

  1. Roppongi.unity #5
    青木とと@lycoris102
    LWRP + Light2D
    楽しい!

    View full-size slide

  2. だれ? 2
    @lycoris102
    青木とと
    ねんれい:29
    しごと: 株式会社キッズスター
    かぞく: 妻と3歳の息子
    ・Unityアンバサダー
    ・Gotanda.unity
    ・UnityDesigner’sCafe
    ・勉強会主催/サポート
    ・ゆるふわゲームクリエイター

    View full-size slide

  3. だれ? 3
    こんな感じの個人ゲームも作っています
    https://unityroom.com/users/lycoris102

    View full-size slide

  4. 4
    参加された皆さん お疲れ様でした!
    お題「さがす」
    10/14(月)~20(日)
    1週間でゲームを作るオンラインゲームジャムイベント

    View full-size slide

  5. 5
    2019/10/23 朝8時 で 289作品

    View full-size slide

  6. 6
    こんなものを作っていました (未完成……)

    View full-size slide

  7. 7
    今日のゴールは「2DのLight表現ちょっと面白そう」って思ってもらうこと
    LWRP + Light2D
    で表現しています
    潜水艦のサーチライトを始め

    View full-size slide

  8. 8
    LWRP + Light2D
    Unity2019.3~ はURP (Universal Render Pipeline) と名称変更および改善がされます
    Light Weight Render Pipeline

    View full-size slide

  9. 9
    LWRPについて
    SRP
    Scriptable Render Pipeline
    最近Unityが注力している
    C#で制御可能な 描画にまつわる処理実装群
    元々Unityに組み込まれているレンダリングパイプラインと比べて
    「よりプロダクトやプラットフォームに最適化した」
    描画手法を採択できるようになった! すごい!
    0からレンダリングパイプラインを考えるのは難しいので2つのプリセット
    LWRP
    HDRPに該当しない場合
    HDRP
    PS4/ハイエンドPC向け
    リッチな絵作り
    ShaderGraphなどの最新のUnityの機能はSRP向けに提供されています
    今日はこっちの話

    View full-size slide

  10. 10
    プロジェクト新規作成時に LWRP Template を選択するのが楽
    LWRPの導入
    お手軽編
    LWRPについて

    View full-size slide

  11. 11
    PackageManger経由でLWRPをインストール
    1から編
    LWRPの導入
    Window > PackageManager
    LWRPについて

    View full-size slide

  12. 12
    ScriptableRenderPipelineSettings が none でまだ built-in RP が適応されている
    1から編
    LWRPの導入
    ProjectSettings > Graphics
    LWRPについて

    View full-size slide

  13. 13
    RenderPipelineAsset を作成
    1から編
    LWRPの導入
    Create > Rendering > LightwightRenderPipeline > PipelineAsset
    LWRPについて

    View full-size slide

  14. 14
    ScriptableRenderPipelineSettings に生成した RenderPipelineAsset を適応
    1から編
    LWRPの導入
    ProjectSettings > Graphics
    LWRPについて

    View full-size slide

  15. 15
    LWRP + Light2D
    from 2D Renderer
    2019/07 くらいに追加された機能

    View full-size slide

  16. 16
    2DRendererの適応
    RenderType / ScriptableRendererData
    ScriptableRendererの挙動をoverrideして決めたり
    レンダリング時の挙動を制御したり
    必要に応じて設定を追加する

    View full-size slide

  17. 17
    2D Renderer
    Experimental (実験的) とある通り、現時点においてまだ本リリースではない
    Rendering > LighweightRenderPipeline > 2D Renderer
    2Dに特化したScriptableRendererDataを適応する
    2DRendererの適応

    View full-size slide

  18. 18
    2D Renderer
    2Dに特化したScriptableRendererDataを適応する
    RendererType > Cutom とした上で Data に先ほど生成した 2DRendererData を指定する
    2DRendererの適応

    View full-size slide

  19. 19
    2D Renderer
    2Dに特化したScriptableRendererDataを適応する
    Spriteのデフォルトのマテリアル/シェーダーの設定などもここで指定されている
    2DRendererの適応
    Renderer2D
    Renderer2DData
    Renderer2DData

    View full-size slide

  20. 20
    2D Renderer
    2Dに特化したScriptableRendererDataを適応する
    もし既存のプロジェクトに適応する場合、一括でSpriteRendererのMaterialを書き換える君を使う
    2DRendererの適応

    View full-size slide

  21. 21
    準備は整った!
    Light2Dを使おう!
    さっそくSpriteRendererを置いていきましょう

    View full-size slide

  22. 22
    Light2Dを使おう!

    光源もなく 環境光 (EnvironmentLighting) も適応されないので
    何も見えない状態
    さあ Light を付けましょう!

    View full-size slide

  23. 23
    Create > Light > 2D > Global Light 2D
    Spriteに均一に適応されるライトの追加
    Light2D の設置
    一例: Global Light
    Light2Dを使おう!

    View full-size slide

  24. 24
    Light2D の設置
    一例: Global Light
    Light2D は SortingLayer 単位で
    適応対象を絞り込むことも可能
    Light2Dを使おう!

    View full-size slide

  25. 25
    一例: Point Light
    Create > Light > 2D > Point Light 2D
    配置箇所から (デフォルトでは) 全方位に光を発する光源
    Light2D の設置
    Light2Dを使おう!

    View full-size slide

  26. 26
    全方位ではなく、角度を指定してスポットライトのような表現も可能
    一例: Point Light
    Light2D の設置
    Light2Dを使おう!

    View full-size slide

  27. 27
    1 :深さに応じて Intensity (強さ) が変わる Global Light
    2 :操作対象を強調するために潜水艦のみを明るくする Global Light
    3 :潜水艦の周りを柔らかく光らせて雰囲気を作る Point Light
    4 :潜水艦のサーチライトを実装するための Point Light
    今紹介した機能だけでこんな感じの表現が作れる!
    Light2Dを使おう!

    View full-size slide

  28. 28
    他にも……
    Light2Dを使おう!

    View full-size slide

  29. 29
    Light2Dを使おう!
    様々な形状のライトを作成可能
    Sprite Freeform Parametric (多角形)

    View full-size slide

  30. 30
    Normal Map を適応して陰影を表現したり
    Sprite Editor > Secondary Textures にて Sprite に NormalMap を適応可能
    Light2Dを使おう!

    View full-size slide

  31. 31
    Light Blend Styles
    (光をどういう風にSpriteの描画とブレンドするか)
    「Additive」なBlendStyleを用意して発光表現を作ったり
    Light2Dを使おう!

    View full-size slide

  32. 32
    色々面白そうな絵作りが出来そうなので
    ぜひお試しください!
    Experimental な機能なので何かあれば フォーラム で報告を……!!
    まとめ

    View full-size slide

  33. 33
    困った時に見たところ
    LWRP / 2Drenderer

    View full-size slide

  34. 34
    軽量レンダーパイプライン 

    リアルタイムパフォーマンスの最適化
    – Unity Blog
    軽量レンダーパイプライン 

    からユニバーサルレンダーパイプラインへ

    – Unity Blog
    困った時に見るところ

    View full-size slide

  35. 35
    軽量レンダーパイプライン、Light Weight Renderer Pipeline…とは - Unity Learning Materials
    困った時に見るところ

    View full-size slide

  36. 36
    #Unity SRP(LWRP=UniversalRP)のシングルPassフォワードレンダリングとはなにか
    - 土屋つかさの技術ブログは今か無しか
    困った時に見るところ

    View full-size slide

  37. 37
    https://docs.unity3d.com/Packages/[email protected]/manual/2d-index.html
    2D in LWRP Manual
    困った時に見るところ

    View full-size slide

  38. 38
    https://github.com/Unity-Technologies/2d-renderer-samples
    GitHub: Unity-Technologies/2d-renderer-samples
    困った時に見るところ

    View full-size slide

  39. Roppongi.unity #5
    青木とと@lycoris102
    LWRP + Light2D
    楽しい!

    View full-size slide