unity中EventSystem射线检测结果的排序规则

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

你可能感兴趣的:(u3d相关,unity,U3D,EventSystem,RaycastResult,射线检测排序)