从UGUI源码中可以得到以下结论:
1、先根据射线发射器进行排序,发射器相同的情况下,再按照被检测物体的SortingLaying进行排序。
2、射线发射器不同时,若发射射线的摄像机都不为空,那么摄像机深度(depth)大的排在前面;如果任一摄像机
为空或者摄像机深度相同,那么就再比较射线发射器的sortOrderPriority进行排序,同样大的排在前面;
如果射线发射器的sortOrderPriority也相同,那么就再比较射线发射器的renderOrderPriority,同样大的排在前面;
3、如果射线发射器相同,而被检测物体的sortingLayer不同,那么sortingLayer大的排在前面;
如果被检测物体的sortingLayer也相同,那么就根据物体的sortingOrder来比较,大的在前;
如果sortingOrder也相同, 那么就比较射线检测结果的深度,大的在前;
如果射线检测结果的深度也相同,就比较射线发射点到碰撞的位置之间的距离,距离短的排在前面;
4、如果以上都相同,那么就比较射线检测结果的索引值(index),小的放在前面。
unity中EventSystem射线检测结果的排序规则
最新推荐文章于 2024-07-15 18:45:53 发布