我一直在這個簡單的問題中陷入困境,但無法理解爲什麼我無法控制它。在玩家面前總是顯示物體
我有這些線中的哪一個在播放器的某些旋轉,並顯示在我的播放器(在代碼camRotationToWatch對象名)的前我的畫布對象的代碼。
if (camRotationToWatch.transform.localEulerAngles.x >= navigationCanvasXMinmumLimit && camRotationToWatch.transform.localEulerAngles.x <= navigationCanvasXMaximumLimit)
{
if (!navCanvasHasDisplay)
{
navigationCanvas.SetActive(true);
//Debug.Log(camRotationToWatch.transform.forward);
Vector3 navCanvas = camRotationToWatch.transform.position + camRotationToWatch.transform.forward * navCanvasDisplayDistanceFromCam;
navCanvas = new Vector3(navCanvas.x, 2f, navCanvas.z);
navigationCanvas.transform.position = new Vector3(navCanvas.x, navCanvas.y, navCanvas.z);
navigationCanvas.transform.rotation = camRotationToWatch.transform.rotation;
navCanvasHasDisplay = true;
}
}
else
{
//navigationCanvas.SetActive(false);
if (locationPanel.activeSelf == false && infoPanel.activeSelf == false) {
navigationCanvas.SetActive(false);
navCanvasHasDisplay = false;
}
}
此代碼實際上是正常工作時camRotationToWatch對象從旋轉下往上和Canvas顯示在正確的位置,但我試圖從旋轉camRotationToWatch升轉跌它顯示(主動)帆布在非常高的位置。我怎樣才能限制畫布顯示在相同的位置(無論玩家從上到下還是向下旋轉到),但顯示在玩家對象的前面?
您是否可以將畫布父母放到播放器中並忘記腳本? – Absinthe
我可以但它也會上下左右轉動這是不正確 –
@Absinthe我會根據相機旋轉,我真的不想做 –