Unity 2D UI方法RectTransform.GetWorldCorners()的作用是什么?我担心它太贵了。它是否使用Raycasting查找世界角落?
仅供参考:我正在使用一种渲染模式为“屏幕空间-相机”的画布
答案 0 :(得分:3)
我检查了我的IDE生成的源代码,RectTransform.GetWorldCorners()
没有执行任何射线广播。这些是它为获得世界优势而执行的步骤。
RectTransform.GetLocalCorners()
,并从RectTransform.rect
获取本地角。transform.localToWorldMatrix
矩阵相乘。因此,显然该方法使用起来相对[strong]便宜,但是始终缓存结果,直到对RectTransform
进行任何更改为止。