2016-04-15 40 views
1

好的,所以我有我的世界空間畫布附加到播放器對象。在我的劇本我有這樣一個參考:動畫師在世界空間畫布

GameObject myWorldCanvas; 

Awake() 
{ 
myWorldCanvas= transform.FindChild("nameOfObject").gameObject; 
} 

然後,當在合適的條件得到滿足,我只是激活這樣的對象:

myWorldCanvas.SeActive(true); 

這完美地工作,直到我添加了一個動畫對象。如果我手動啓用/禁用場景中的對象,動畫完美地工作(它只是改變比例來給它一個彈出效果),但是當我的腳本激活對象時,動畫仍在播放並改變比例值,但沒有任何東西渲染。在播放模式下,如果我手動啓用/禁用動畫作品。

任何想法?如果你需要更多的信息或屏幕讓我知道。

編輯:畫布有一些按鈕作爲孩子,當我滑過某些東西似乎刷新和圖像顯示在屏幕上。

編輯:進一步測試顯示,手動禁用並啓用Canvas組件也會顯示圖像,但如果從腳本啓用畫布和遊戲對象,則屏幕上不顯示任何內容。

編輯:我通過禁用動畫的第一個鍵上的畫布組件,然後啓用它在Y比例設置爲0的第二個上解決了這個問題。這看起來更像是一個黑客,我不喜歡它。有沒有人有一個想法,爲什麼發生這種情況?

回答

0

好,所以問題在於動畫是從xyz軸上的0縮放畫布。更改動畫以從0.1開始縮放解決了問題。

0

我知道這個問題。這是因爲Unity的動畫窗口的特點。

動畫窗口允許您將對象的狀態記錄到動畫中。這可以通過按動畫窗口左上角的紅色圓圈開關來關閉。但是如果你忘記這麼做,它會自動記錄你的每一個動作,包括激活和關閉畫布。

這是一個相當惱人的功能,但我不知道如何禁用。所以只要記得在不使用時關閉動畫窗口。

+0

你似乎沒有得到它。將禁用/啓用添加到動畫修復了我的問題。問題出在畫布上itslef –

+0

你的意思是禁用動畫師修復你的問題? – DRKblade

+0

不,我的意思是禁用和啓用動畫的前兩個鍵的畫布組件解決了我的問題 –