第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

敵人頭上的 Unity Health Bar

敵人頭上的 Unity Health Bar

C#
Qyouu 2021-07-01 13:07:06
我在這方面遇到了一些問題,所以我想我會在這里問。我寫了一個代碼來實(shí)例化一個健康欄(一個簡單的滑塊)和一個敵人。然后將那個敵人(剛剛生成的)設(shè)置為該生命條的目標(biāo),并且生命條更新其位置以始終保持在敵人頭頂上方。這是健康欄的腳本(canvasRect 是畫布的矩形變換,myRect 是健康欄的矩形變換):private void Update() {        if(target != null) {            Vector2 targetPosition = Camera.main.WorldToViewportPoint(target.position);            Vector2 screenPosition = new Vector2(((targetPosition.x * canvasRect.sizeDelta.x) - (canvasRect.sizeDelta.x * 0.5f)),                ((targetPosition.y * canvasRect.sizeDelta.y) - (canvasRect.sizeDelta.y * 0.5f)));            screenPosition += new Vector2(0f, 15f);            myRect.anchoredPosition = screenPosition;        }    }該腳本運(yùn)行良好,但存在一個問題:如您所見,我在 y 坐標(biāo)中添加了一個偏移量。這是為了將生命條放在敵人上方,而不是里面。然而,當(dāng)我移動相機(jī)時,問題就來了。如果我放大,它會旋轉(zhuǎn)一點(diǎn)(如 RTS 攝像機(jī)),這意味著偏移量是錯誤的。我放大得越多,健康欄就越低(因?yàn)?15f 的偏移量已經(jīng)不夠了)。然后當(dāng)我將相機(jī)移近敵人時,它再次將健康條推向他。有沒有辦法在屏幕大小中獲得敵人的“邊界”,這樣我就可以知道有什么偏移量?或者還有其他解決方案嗎?
查看完整描述

1 回答

?
Helenr

TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超4個贊

解決方法很簡單。不要將偏移量添加到屏幕位置。相反,將其添加到敵人的世界位置(target.position + offset)。

除此之外,您可以使用 MeshRenderer.bounds 獲取網(wǎng)格的邊界。


查看完整回答
反對 回復(fù) 2021-07-03
  • 1 回答
  • 0 關(guān)注
  • 214 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號