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

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

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

自作のシェーダをモデルに適用させるサンプルをいただくことは可能でしょうか?

編集済: 3月 2018 Cubism 3 SDK
自作のシェーダを使用してモデルにモザイクをつけたいのですが、適用するとマテリアルが非表示になってしまいます(消えたように見える)。

使用してみたシェーダは外部のもので大変申し訳ないのですが、以下の2つです。
・3D Object->Cube に「Censor Effect(Asset Storeにある)」を適用
・モデルとは別の普通のSpriteに「https://qiita.com/aa_debdeb/items/f2f6c56bcbe3f3ae4a36」のシェーダを適用

これら2つのシェーダで問題なくモザイクになりました。
Unityとしてやシェーダのコードとしては問題ないと思います。上記のシェーダのテストはLive2DのSDK周りは関わっていません。


これらのシェーダをLive2Dモデルの各マテリアルに同様に適用してみましたが、モザイク表示にはならず、消えたような表示になってしまいました。
(モデル->Drawablesオブジェクト内の各マテリアルのMesh RendererのMaterialに、上記シェーダを適用したマテリアルを適用)


なお、こちらを参考に、任意のマテリアルに対してSprite/Defaultのシェーダを適用させる事はできました。
http://docs.live2d.com/cubism-sdk-tutorials/unity-material-customization/
マテリアルにシェーダを適用させる手順についても問題はないと思います。


自作シェーダの場合のみ、意図した結果にならないようです。
コミュニティ内で「マテリアル」、「シェーダ」、「モザイク」などで検索して類似の質問がありましたが、どれも途中で終了していたので改めて質問を投げさせていただきました。

よろしくおねがいします。


-------------------------------
■環境
Windows10
Unity 2017.1.1f1 Personal
Cubism 3.0 モデル(SDK内に内蔵のKoharu)
Unity_SDK 3.0
-------------------------------

コメント

  • @BURAI_VC2008様

    Live2Dスタッフの小嶺です。

    例に挙げられたモザイクシェーダーではCullingの設定が入っていないため標準のカリング設定が適用され、
    裏面の判定を受けて非表示にされているもと推測されます。
    なのでモデルのTransform操作し裏面にひっくり返すと表示されると思われますがどうでしょうか?
    ほかにも様々な問題が出ていると思われます。

    Live2Dの機能をUnity上で実現するためにシェーダーの機能を使っていることもあり、
    ほかで動いていたシェーダーを適用してもうまくいかないことが多いです。
    シェーダーを自作したい場合は、Live2Dの元の機能を損なわないためにも
    まずは複製してからの改造という手段をお勧めいたします。

    よろしくお願いいたします。
  • 例に上げたシェーダ(Censor Effect)はカリングの設定が標準でONでしたのでOFFにし、あと少し力技な感じなことをしたところ、モザイクが実装できました。


    Censor Effectは適用したマテリアル全体を透明なモザイクにするので、マテリアル(モデルのDrawablesの各々のアートメッシュ)に適用すると上記動画の左側のようになります。今回は前髪をモザイクにしてみました。

    解決策としてCubism Editor側でモザイクシェーダ用のテクスチャを用意しておき、そのテクスチャをモザイクにするような方法で上記動画右側のようになりました。




    シェーダは別の方が作成したアセットですので2018/03/23時点ですが実装例を書いておきます。
    -------------------------------------------------------------------------
    ※モデルのインポートなどの基本的なSDK操作はマニュアルを参照するものとします。

    ■Cubism Editor(使用モデル:桃瀬ひより)
    モザイクシェーダ用のアートメッシュを作成する。


    前髪_モザイク用(ID:ArtMesh138)…モザイクシェーダを適用するアートメッシュ
    前髪(ID:ArtMesh56)

    前髪をモザイクにしたいので前髪のアートメッシュをコピーして複製しました。


    ■シェーダ(Censor Effect)の修正
    Unity AssetストアにあるCensor Effectを使用します。
    https://assetstore.unity.com/packages/vfx/shaders/censor-effect-111983
    このままでは使用できないので、シェーダのソースにカリングの設定をOFFにする設定を追加します。

    ★参考
    【Unityシェーダ】テクスチャの両面を描画する方法
    http://nn-hokuson.hatenablog.com/entry/2017/03/03/202309

    こちらを参考にシェーダのソースにCull offを記述しました。


    ■Unity
    モデルのDrawablesの前髪_モザイク用(ID:ArtMesh138)アートメッシュに修正したモザイクシェーダを適用する。



    -------------------------------------------------------------------------
    これで力技ですがモザイクをモデルにつけることができました。
コメントするにはサインインまたは登録して下さい。