質問は基本的に1スレッドにつき1つの内容でお願いします。

お問い合わせの際は下記の情報を明記をお願いいたします。

▼ソフトウェアに関するご質問の場合

・【問題が発生したソフトウェア名とバージョン】(例:Cubism Editor 3.1.02、Euclid Editor 1.2.0 など)
・【ご利用のPC環境】例:Windows10、macOS HighSierra など
・【機種名】:MacBookPro 2017 など
・【グラフィックボード】例:GeForce GTX 950M など
・【メモリ】例:8GB
・【原画(イラスト)を制作したソフトウェア】例:Photoshop , CLIP STUDIO , SAI など
・【問い合わせ内容がわかるスクリーンショットまたは動画】例:パーツの表示状態など、お問い合わせ内容がわかる画像をご用意ください

---------------------------

▼SDKに関するご質問の場合

・現象の再現を行い検証させていただきますので、再現する最小のプロジェクトのご提供か、再現するまでの手順
・使用したSDKのバージョン

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

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

使用してみたシェーダは外部のもので大変申し訳ないのですが、以下の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)アートメッシュに修正したモザイクシェーダを適用する。



    -------------------------------------------------------------------------
    これで力技ですがモザイクをモデルにつけることができました。
Sign In or Register to comment.