【macOS 11.0 Big Surへの対応状況について】
現在公開中のCubism Editorは、以下のバージョンではmacOS 11.0 Big Surには対応しておりません。
・Cubism Editor 4.0.07 beta 以前のバージョン
上記バージョンでは正常に動作できない可能性がありますので、OSのアップグレードをお控えいただくか、【Cubism Editor 4.0.07 正式版】をご利用いただきますようお願いいたします。
関連するお問い合わせにつきましては、この文章をもって代えさせていただきます。
Cubism SDKにつきましては、現在公開中の製品全てにおいてmacOS 11.0 Big Surには対応しておりません。
現在対応検討中となりますが、対応バージョンや時期につきましては改めてお知らせいたします。

またApple Sillicon版のmacにつきましても、全てのCubism 製品において対応しておりませんのでこちらも合わせてご了承ください。
Cubism 製品のマニュアル・チュートリアルはこちら
 
Cubism Editorマニュアル    Cubism Editorチュートリアル    Cubism SDKマニュアル    Cubism SDKチュートリアル

UnityのCanvas内のLive2Dモデルの表示順の変更の方法

UnityのCanvas内のLive2Dモデルの表示順(手前に表示されるのか、奥に表示されるのか)はどのように変更できるのでしょうか?

Canvas内のゲームオブジェクトはHierarchyビューの下に配置するほど手前になりますが
http://albatrus.com/main/unity/7402
※こちらのページの「その他」の項

Live2Dのゲームオブジェクトはその影響を受けない?ようです。


-------------------------------
■環境
Windows10
Unity 2017.1.1f1 Personal
Cubism 3.0 モデル(公式サンプル 桃瀬ひより)
Unity_SDK 3.0
-------------------------------

よろしくお願いします。
タグ付けされた:

コメント

  • @BURAI_VC2008様

    Live2Dスタッフの小嶺と申します。
    よろしくお願いいたします。

    Live2Dの描画はOrder in Layerで制御されます。
    描画順序制御はモデルにアタッチされているCubism Render Controller(script)のOrder in Layerで全体の描画順序をコントロールするか、
    hierarchy上のモデル>Drawablesの下にあるDrawableにアタッチされているCubism Renderer(script)のLocal Orderで個別のDrawableの順序をコントロールします。

    Live2DのOrder in Lairの操作については、こちらのチュートリアルもご参考ください。
    http://docs.live2d.com/cubism-sdk-tutorials/betweendrawables/


    Canvas側の設定はRenderModeをScreen Space – Cameraに選択し、
    RenderCameraにMainCameraを指定し、
    Order in Layerを変更して操作します。


    Live2Dの使用しているLayer幅がDrawableの枚数分あるので、
    余裕をもって1000単位で操作することをお勧めいたします。

    もしCanvasの内容の中にLive2Dを挟んで表示したい場合は
    Canvasを2枚用意していただければ想定の操作ができると思われます。


    よろしくお願いいたします。
  • 小嶺様

    Order in Layerの詳細な解説、ありがとうございます。

    今回は最前面にテキストを表示したいという目的でしたので、Canvasを2枚以上用意してOrder in Layerを操作するという方法で解決することができました。
    ・Live2Dモデルの入ったCanvas:Order in Layer = 0
    ・UIテキストの入ったCanvas:Order in Layer = 1000



    Textはメニューの「GameObject>UI>Text」で作成したオブジェクトですが、こちらのオブジェクトはインスペクタにOrder in Layerのようなプロパティはなかったので、Live2Dモデルと同じCanvas内ではLayerを制御できない…で正しいでしょうか。


  • @BURAI_VC2008様

    はい、Canvas内の順番で描画の順番をコントロールすることはできないという認識で間違いありません。
    もし描画の順番を実行内で入れ替える必要がある場合は、TextなどのUIオブジェクト毎にCanvasを作り、
    そのCanvasのOrder in Layerを操作する形で制御する必要があります。

    またCubismモデルの描画順のコントロールはCubismRenderControllerで行われており、Canvasの子オブジェクトにしてもCanvasの影響はうけません。
    もし、連動させたい場合は下のようなスクリプトをCubismモデルにアタッチすると親に設定されたCanvasからSortingOrderを受け取り連動するようにできます。

    using System.Collections; using System.Collections.Generic; using UnityEngine; using Live2D.Cubism.Rendering; [ExecuteInEditMode()] public class CubismOrderLinker : MonoBehaviour { public Canvas linkCanvas; private CubismRenderController renderController; // Use this for initialization void Start () { if (linkCanvas == null) { linkCanvas = transform.GetComponentInParent<Canvas>(); } renderController = GetComponent<CubismRenderController>(); } // Update is called once per frame void Update () { if(linkCanvas != null && renderController != null) { renderController.SortingOrder = linkCanvas.sortingOrder; } } }

    このようになります。




    よろしくお願いいたします。
  • スクリプトまでありがとうございます!解決しました!
コメントするにはサインインまたは登録して下さい。