# **Project Prefab Variant - 預知物變體介紹及教學 驗證是否加入DataBind** ***最後更新日為 2023 / 03 / 06*** ## <font color="#c23429"> Project Pregab Variant 的 支援版本</font> Unity 2018.3之前的版本是不支持的。 --------------------------------------------- ## <font color="#c23429"> 詳細介紹 </font> **舉例 :** ● 通過在腳本上使用屬性覆蓋來更改速度,使Pregab Variant 更快移動。 ● 通過將額外的遊戲對象附加到手臂,使Pregab Variant 攜帶物品。 ● 通過添加一個播放格喳聲的AudioSource 組件,使Pregab Variant 發出子彈般的格喳聲。 被變體的預製體是基類(簡稱基體),預製體變體為子類(簡稱變體) 變體和基體始終是有關聯的,但是變體又不完全受基體限制。 預製件變體繼承另一個稱為基礎預製件的預製件的屬性。 對預製件變體進行的覆蓋優先於基礎預製件的值。 預製件變體可以使用任何其他預製件作為其基礎預製件(包括模型預製件或其他預製件變體)。  也就是說你在動預知物變體時,只會更動變體,但是你更動的是預知物本身,變體會跟著改變。 以下講解非常有幫助。可以自己動手做做看就理講了 {%youtube pv30sE_Vsis %} ## <font color="#c23429"> 預知物變體合DataBind結合 </font> 第一步我們先將當前有再用的DataBind Project 拿出來看看,該物件為空的甚麼都還沒開始綁定任何DataBind  然後將UI_KnightRent_NewTest 拉回去Project視窗內,並且選擇Project Variant(變體)  此時物件已經變成了 變體了確認方式看你的物件方塊側面是否是灰階。上方為普通的預知物,下方為變體  已經產生出變體後,該把DataBind掛上去,記得掛在變體上,理論上美術應該要去掛上DataBind這點是確定的,但是如果美術尚未學位此技術,程式還是要去彌補。Ps 切記當你已經產生變體後,也要進入到變體內部添加或更改,還有如果有遇到固定不會更改的Code,可以直接掛在本體上。  當你掛上去看見有一個加的符號就是對的了,代表目前動到的物件只在變體上不是在實體上  ## 提問區 Q1:該變體會有一天成為本體怎麼辦? 將你的變體再拉回去Project 這時不能再按變體。  Q2:如果再次案到變體會發生甚麼狀況? 會將變成自己為本體,又產生一個變體在Project內,因此會變成新變體會被上次的變體控制。詳細可以看以上影片介紹  Q3:預知物變體裡面如果也有預知物會發生甚麼事? 不會引響,除非你變體內的預知物也是變體,這樣你要就要分成2個層面,當你要改預知物變體裡面的預知物變體,記得也要到內層去修正,不要直接改。  ## 解論 當你理解夠多他仔父物件的類別時,就可以更加靈活運用,方便更改美術、程式, 更深入其實可以到FBX那層就使用預知物變體,他會讓你在3D物件要擴充時, 可以任意個擴充,例如:3D美術說:這個蛇我要加個光環,如果是以前不是使用變體的情況, 直接將FBX更動會壞掉,但是如果使用變體,可以直接更變Unity內模型且正常完整, 更需要的是情事,要熟悉物件的子父需求,強用會導致邏輯混亂,我該改本體還是變體, 我該讓他變變體嗎?等等問題,最好在一個物件進入時就先畫個規畫圖,與美術討論階層關係, 會使每個物件更加好管理及修正。
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up