UNITY動態添加Prefab預制體位置控制


項目場景:

項目場景中,須要動態添加一個Prefab,可是該預制體的位置和咱們預設的不一致。


問題描述:

須要注意預制體Transfom應該如何設置,通常狀況下的邏輯是:

 

 GameObject effect = Instantiate(Resources.Load("Text/Window")) as GameObject;//加載prefab
 effect.transform.parent = GameObject.Find("Canvas").transform;//將prefab加入Canvas節點下

 

可能咱們直接手動的把預制體拖拽到Canvas節點下,表現正常,但經過代碼去設置卻出現了錨點錯誤的狀況,實際上,添加的過程以下,將prefab初始化,而后將該節點放置在根節點下,而在根節點下,咱們以前設置的參數已經不正確了。致使Prefab的位置錯誤。

 


解決方案:

在根節點下建立你的預制體,這樣的坐標和咱們動態添加的坐標是一致的。盡可能使用svg

這種錨點模式,設置好之后,若是在根節點下是你想要的形狀和位置,那咱們經過代碼動態添加也是正確的。spa


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM