2013-11-03 34 views
1

我有一個C#腳本的角色,持有對預製件的引用。爲什麼實例化時Unity Prefab值錯誤?

在初始化過程中,腳本運行:

weaponSlot = Instantiate(weaponPrefab) as Transform; 

,並設置

weaponSlot.parent = rightHand; 

的預製包含武器縮放信息,以及一些小的旋轉和位置的偏移量爲它看起來是正確的。

當遊戲運行時,武器的實際位置偏離右手大量,儘管旋轉被保留。縮放比例也有點小,比預製尺寸縮小了大約40%。

什麼來檢查爲什麼發生這種情況的任何見解,甚至暗示將不勝感激!

回答

6

確保包裝的任何模型在一個空的遊戲對象。根遊戲對象下的大小,位置和方向必須正確。當你在一個父類下實例化一個遊戲對象時,你需要確保將localPosition和localEulerAngles(set them = Vector3.zero)置零。您還需要設置localScale = Vector3.one。

它應該是這樣的項目:

預製(零位,零轉速,一個刻度)
- >模型(正確的縮放,旋轉和位置)

那你父母它。

+0

在團結商店使用免費天使長劍03,預設的默認比例爲0.02,在我們糾正了模型並製作了我們自己的預製件之後,一切都按預期工作。 感謝您指引我們走向正確的方向! – CodeMinion