前言
在我們使用Unity的時候常常會使用到Prefab這種包好的Package,但是我們在製作場景的時候會常常需要Prefab裡面的子物件,但是包好的Prefab常常包好好的讓我們很難作業,這篇主要就是一個小技巧讓大家使用Prefab的時候可以隨時斷開連結讓我們作業的時候更方便。
- 首先,為了練習效果,我們在Asset Store隨便下載一個asset,我們使用一個CarFire預製Prefab拖動到場景中,並重新命名為CarFireFirst以便練習。

2. 然後我們對這個Prefab做一些修改。當我們試圖刪去子物件的時後,提示是否要Break Prefab Instance ,我們繼續下去。(也可以直接從GameObject選單下找到Break Prefab Instance)

3. 我們看到,雖然已經Break掉Prefab了, 目前的Prefab也已經變成白色,但是右邊Inspector面板中,我們仍可以連結到我們原本的Prefab。

4. 下面說徹底斷開的辦法。首先把這個變成白色了的Prefab拖動到Project面板中再建立新的Prefab(CarFireFirst),這樣就能側底改變了該對象關聯的Prefabe。

5. 建立好然後直接刪除目前的Prefab。

6. 然後我們可以看到,我們原本的Prefab Missing,而且變成了紅色的了!

7. 這個時候,在選單的GameObject下面找到Break Prefab Instance ,就可以徹底斷開了。如下圖。


參考資料: https://forum.unity.com/threads/how-to-intentionally-break-a-prefab-connection.382290/
小記:
今天的練習雖然簡單,但是也是之前困擾很久的小技巧,因為我們在Asset Stroe上購賣或是免費的素材常常都是已經包好的Prefab,學會這個小技巧不僅僅讓我們更了解Prefab的使用方法,更可以讓工作的速度加速。