live2dmesh渲染优先级_SpriteRenderer 与 MeshRenderer的渲染排序层级

解决MeshRenderer与SpriteRenderer渲染优先级问题,可通过设置MeshRenderer的sortingLayerName和sortingOrder字段,使其与SpriteRenderer一同参与排序。在相同Sorting Layer中,更高的Order in Layer值意味着后渲染并显示在前面。
摘要由CSDN通过智能技术生成

解决方案:MeshRender设置sortingLayerName和sortingOrder字段,就可以与SpriteRender一起排序。

文字(MeshRenderer)与图片(SpriteRenderer)的渲染层级.png

spriteRenderer.png

MeshRender.png

MeshRenderer 和SpriteRenderer都是继承自Renderer;

SpriteRenderer Inspector:

Sorting Layer对应的是Renderer的sortingLayerName 字段

最大优先级,根据Sorting Layer的顺序:越在下面,越后渲染,显示在更前

order in Layer对应的是Renderer的sortingOrder字段;

相同层Sorting Layer,不同Order in Layer(层内顺序):根据Order in Layer-越大,越后渲染,显示在更上层

MeshRender

MeshRender只是Inspector面板上没有这两个字段而已,设置Renderer的sortingLayerName和sortingOrder字段,就可以参与SpriteRender的排序。

MeshRender的Sorting Laye(sortingLayerName)默认是Default,order in Layer(sortingOrder)默认是0;

C#: gameObject.GetComponent().sortingOrder = 1;

Lua: levNumText.gameObject:GetComponent("MeshRenderer").sortingOrder = 10

源码、接口

MeshRenderer 继承自Renderer:

//

// 摘要:

// ///

// Renders meshes inserted by the MeshFilter or TextMesh.

// ///

public sealed class MeshRenderer : Renderer

SpriteRenderer也继承自Renderer:

//

// 摘要:

// ///

// Renders a Sprite for 2D graphics.

// ///

[RequireComponent(typeof(Transform))]

public sealed class SpriteRenderer : Renderer

Renderer 类:

//

// 摘要:

// ///

// General functionality for all renderers.

// ///

[RequireComponent(typeof(Transform))]

public class Renderer : Component

{

...

//

// 摘要:

// ///

// Name of the Renderer's sorting layer.

// ///

public string sortingLayerName { get; set; }

//

// 摘要:

// ///

// Renderer's order within a sorting layer.

// ///

public int sortingOrder { get; set; }

...

}

作者:云木unity

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值