Unity

講師:sleepyboy

Prefab
# Prefab

什麼是 Prefab?

  • 一種負責紀錄遊戲物件構成的檔案
  • 可以把他當成一個模板,在製作場景時很方便
  • 裡面可以存放:
    1. 該物件的階層架構
    2. 參考到的其他資源檔:音效、貼圖......
# Prefab

Inspector

Before:

After:

  • 如果你的遊戲物件有連結到 Prefab ,他的 Inspector 會多出三個按鈕:
    • Overrides:有 Apply 和 revert 兩種功能 Apply 就是把對物件的修改套用的Prefab上,而 revert 就是反過來
    • Select:座標之力,讓你快速從遊戲資料夾找到 Prefab
    • Open:進入 Prefab,具體能幹嘛暫略
# Prefab

Inspector

  • 如果你對物件做出個別的改動,你會發現 Inspector 會在把被改變的地方標出來
# Prefab

如何製作一個 Prefab?

  • 把 Hierarchy 視窗的物件拖進 Project 視窗
  • 如果 Hierarchy 視窗的物件變成藍色,你就成功把他做成 Prefab 了
  • 如果要把 Prefab 做成 game object 怎麼辦?就把剛剛的步驟反過來做一遍就可以了
# Prefab

如何解除遊戲物件的 Prefab 狀態?

  • 如果Prefab 有子物件,雖然參數可以改變,但是不能直接刪除
  • 如果要解除 Prefab 狀態,對該物件點擊右鍵,點擊 Prefab ->  Unpack (只解除最上層物件Prefab狀態)或 Unpack completely (所有子物件一起解除)
  • 要還原可以 Reconnect Prefab 然後選擇你想要重連到哪個 Prefab
# Prefab

注意!

  • 你創建的 Prefab 只是在資料夾的一個檔案!一定要做成 GameObject 才能夠實現裡面的功能。
  • 雖然你對 Prefab 的修改會即時反應在物件上,你在 Hierarchy 對 GameObject 的修改並不會對 Prefab 造成影響!

Q & A

Prefab
Random Brush
# Prefab

什麼是 預製件隨機刷子?

  • 地圖上某些物件要自己調座標,就常常要自己用手拉
  • 由 Tilemap 和 Prefab 的概念結合,就出現了 Prefab Brush/Prefab Random Brush
# Prefab

原理

  • 概念跟Tilemap 很像,只是放置的是 prefab 而不是 tile
  • 利用 tilemap 的父物件計算 擺放的距離
# Prefab

如何創建 prefab random brush

  • 在Brushes資料夾裡右鍵 --> Create --> 2D --> Brushes --> Prefab Random Brush
# Prefab

Inspector

  • 那個清單就是筆刷會生成的Prefab清單
  • 要在清單里新增東西可以按+新增空欄位之後直接把Prefab 拖進去或是用彈出視窗找到要使用的Prefab
  • 設定好就可以開始畫地圖了
# Prefab

如何控制擺放的長寬與間距

  • 打開Grid 的 Inspector
  • 可以對各種參數進行修改,假如你想給物件一個浮在空中的感覺可以把Cell Size 設成 2

Code

By April first

Code

  • 151