Unity3D研究院之UGUI一個優化效率小技巧

無意間發現了一個小技巧。如下圖所示,可以發現UGUI的Image組件的RaycastTarget勾選以後會消耗一些效率,爲了節省效率就不要勾選它了,不僅Image組件Text組件也有這樣的問題。 一般UI裏也就是按鈕才需要接收響應事件,那麼大部分image和text是是不需要開RaycastTarget的。Unity3D研究院之UGUI一個優化效率小技巧 - 雨鬆MOMO程序研究院 - 1  但是問題就來了,Unity默認在hierarchy窗口Create->UI->Image 、Text的時候就會自動幫我們勾選上RaycastTarget, 一個複雜點的界面至少也300+個Image和Text, 總不能一個個取消吧。 所以我們可以重寫Create->UI->Image的事件。


[MenuItem("GameObject/UI/Image")]
static void CreatImage()
{
    if(Selection.activeTransform)
    {
        if(Selection.activeTransform.GetComponentInParent<Canvas>())
        {
            GameObject go = new GameObject("image",typeof(Image));
            go.GetComponent<Image>().raycastTarget = false;
            go.transform.SetParent(Selection.activeTransform);
           }
    }
}

  這樣創建出來的Image就不帶 RaycastTarget,Text組件原理同上。 Unity版本5.3.3


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章