★お知らせ(2023/12/27)
いつもLive2D公式コミュニティをご利用いただき誠にありがとうございます。
本コミュニティは2023年12月27日 11:00をもって閉鎖いたしました。
今後の運営はすべて新Live2D公式クリエイターズフォーラムに移行します。
閉鎖に伴い、以下機能は利用不可となります。
・アカウントの新規作成
・トピック投稿、返信
たくさんのご利用誠にありがとうございました。

新Live2D公式クリエイターズフォーラムは以下バナーよりご利用いただけます。
Live2D公式クリエイターズフォーラム

なお、本コミュニティに投稿されたトピックはすべて残りますが、今後削除する可能性がございますので予めご了承ください。
閉鎖に関するお問い合わせにつきましてはLive2D公式クリエイターズフォーラムへご連絡ください。

[ Unity SDK ] Universal Render Pipeline を使ってLive2DのマスクされたArtMeshを正常に光らせたい

編集済: 6月 2021 Cubism 4 SDK
【概要】
UnityにてLive2Dを使っているが、光の影響を受けさせたいと思っています。
普通のCubismSDK/Ulnit マテリアルをUniversalRenderPipelineのsprite-lit-defaultマテリアルを当てて対応させている。
ただし、その場合CubismSDK/Maskマテリアルが当てられているModel/Drawables/ArtMeshに関しては、(当然ではあるが)マスクがされない状態で描画されてしまう。そのため、この現状の回避方法を提供していただけると助かります。(シェーダ言語周りは触ったことがありませんが…)
以下画像サンプル
Universal Render Pipeline 適用前


Universal Render Pipeline 適用後



【環境 と 手法】
- 環境
Unity 2020.3.x LTS
CubismSdkForUnity-4-r.1 + Unity2020用修正スクリプト
Universal Render Pipeline 10.3.2
- 手法

2Dライト用のUniversal Render Pipeline(以下 URP)の設定を行う
Live2Dモデルを読み込み、ArtMesh GameObject下にいるもの全てに対して URP/Sprite-lit-default マテリアルを適用させる
シーン内にLighting/2D/Freeform Light 2D と Global Light 2Dを入れ、適度な色、光の強度を設定する

-

タグ付けされた:

コメント

  • @Yuzuka4573 さん

    ご質問誠にありがとうございます。
    Live2Dスタッフでございます。
    いつも弊社製品をご愛顧くださり誠にありがとうございます。

    Unityのシェーダに対して、Cubism SDK同梱のUnlit.shaderで行っているクリッピングの処理を追加することで対応が可能となります。
    UnityのシェーダはUnityエディタのDLページで配布されていますので、ダウンロードしたシェーダから使用するものをプロジェクトに追加してお使いください。

    なお、Unityのシェーダの中には、処理の一部がダウンロードしたシェーダに同梱されている.cgincファイル等に分割されているものもございます。
    場合によっては、そちらにある処理を.shaderに持ってきてカスタマイズする必要がありますのでご注意ください。
    また、プロジェクトに追加したシェーダは、ビルトインのシェーダと重複するためシェーダ内の名前を変更してください。
コメントするにはサインインまたは登録して下さい。