我正在嘗試在 Unity 2020.3.26 中的 GameObject 上顯示一些粒子和滑塊(如健康條),但即使在場景中它按我想要的方式顯示,在播放時,畫布似乎“太多”地定位自己而且我不知道如何制作它,所以粒子和滑塊都保持在原位。
如圖所示,我在游戲物件“Aimable Target Body”中放置了一個畫布,當我查看物件的中心時,它可以按我的意愿作業。但是如果我開始移開視線,而不是保持居中,UI 會稍微偏離一點(不要介意中間的藍色大魔法圈,它應該在那里)。
我不認為我的畫布設定有問題(我這樣做是為了讓它始終面向相機),但我看不出還有什么地方可能出錯......
提前感謝您的回答!
游戲物件
場景視圖
正確的用戶界面
錯誤的用戶界面
畫布設定
uj5u.com熱心網友回復:
主要原因是目標存在于世界中,而滑塊存在于畫布上。這兩個元素具有不同的坐標系,如果您希望 Circle Slider 的中心位于 Sphere 的中心,則必須將一組坐標投影到另一組坐標(World to Screen)。
這可以使用 Camera 上的WorldToScreenPoint方法來完成。
基本上,UI 元素(存在于 Canvas 上)必須transform.position
在函式中檢查球體在世界中Update
的位置,并使用_mainCamera.WorldToScreenPoint(sphereTransform.position)
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/461121.html