Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Unity-如何更改子化为网格布局组的UI对象的绘制顺序(与正常绘制顺序相反)_C#_Unity3d_Rendering - Fatal编程技术网

C# Unity-如何更改子化为网格布局组的UI对象的绘制顺序(与正常绘制顺序相反)

C# Unity-如何更改子化为网格布局组的UI对象的绘制顺序(与正常绘制顺序相反),c#,unity3d,rendering,C#,Unity3d,Rendering,在统一引擎中~ 有人知道如何更改作为网格布局组子元素的ui元素的绘制顺序(与绘制顺序相反)吗 因此,我希望保持元素当前的位置顺序,但我希望将栅格布局组对象的子对象更改为与通常相反的渲染顺序。因此,与绘制子对象0,1,2(渲染的ontop)不同,我希望它是子对象2,1,0(渲染的ontop)。我必须强调,,我不想更改子项相对于网格布局组父游戏对象的实际顺序。暴力方式是为每个子项创建UI材质实例并手动设置队列。暴力方式是为每个子项创建UI材质实例并手动设置队列。您可以使用这些方法: transfor

在统一引擎中~ 有人知道如何更改作为网格布局组子元素的ui元素的绘制顺序(与绘制顺序相反)吗
因此,我希望保持元素当前的位置顺序,但我希望将栅格布局组对象的子对象更改为与通常相反的渲染顺序。因此,与绘制子对象0,1,2(渲染的ontop)不同,我希望它是子对象2,1,0(渲染的ontop)。我必须强调,,我不想更改子项相对于网格布局组父游戏对象的实际顺序。

暴力方式是为每个子项创建UI材质实例并手动设置队列。

暴力方式是为每个子项创建UI材质实例并手动设置队列。

您可以使用这些方法:

transform.SetAsLastSibling (); // Element is displayed on the top.
transform.SetAsFirstSibling (); // Element is displayed last.
transform.SetSiblingIndex (7); // Element is displayed based on an index
transform.GetSiblingIndex ();

可以使用以下方法调整渲染顺序:

transform.SetAsLastSibling (); // Element is displayed on the top.
transform.SetAsFirstSibling (); // Element is displayed last.
transform.SetSiblingIndex (7); // Element is displayed based on an index
transform.GetSiblingIndex ();

将画布直接添加到元素,将overrideSorting设置为true并手动设置顺序

另外,要使某些其他功能正常工作,请添加图形光线投射器组件


将画布直接添加到元素,将overrideSorting设置为true并手动设置顺序

另外,要使某些其他功能正常工作,请添加图形光线投射器组件