

Mayaで作ったモデルをUnityに読み込んだのですが、sorting layerが効きません。  
スプライト以外は、sorting layerを設定できないのでしょうか。

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


CC BY-SA 3.0
2015-08-19T10:44:44.993
14623
2015-12-21T00:59:14.207
10989
question
unity3d
Mayaで作ったモデルをUnityに読み込んだのですが、sorting layerが効きません。


スクリプトを作成することで設定することができます。  
  
スプライトを描画するSpriteRendererコンポーネントには、Inspector上にSortingLayerの設定項目がありますが、MeshRendererやSkinnedMeshRendererコンポーネントには、Inspector上にSortingLayerの設定項目がありません。  
一見設定できないように見えますが、SortingLayerのプロパティはMeshRendererやSkinnedMeshRendererの基底クラスであるRendererクラスが持っていますので、スクリプト上では設定できます。

[code]

    class SampleClass : MonoBehaviour
    {
        [SerializeField]
        private string m_layerName = "";
    
        void Start()
        {
            var render = GetComponent< MeshRenderer >();
            if( render != null )
            {
                render.sortingLayerName = m_layerName;
            }
        }
    }
    
[/code]

以下の記事に詳しい説明がありますので、ご参考ください。  
<http://tsubakit1.hateblo.jp/entry/2015/01/05/233000>


CC BY-SA 3.0
2015-09-21T23:03:32.473
16834
2015-09-21T23:03:32.473
12383
14623
answer