做有射擊元素的游戲制作準星時,隨著物體的旋轉以及視線偏移可能會產生一定的的誤差,使得子彈(射線)發射的初始位置不在螢屏正中央,所以制作準星時,應該基于螢屏的寬高進行衡量,示例代碼如下:
RaycastHit rayhit;
Ray dirRay = Camera.main.ScreenPointToRay(new Vector3(Screen.width / 2, Screen.height / 2));
if (Physics.Raycast(dirRay, out rayhit,100,~(1 << LayerMask.NameToLayer("WeaponAndEx"))))
{
Debug.DrawLine(Camera.main.transform.position,rayhit.point,Color.green);
}
此段代碼中,使用了螢屏的寬度/2和高度/2的方式鎖定準星的位置,發送射線時屏蔽了不需要檢測的層級,并通過DrawLine繪制除了射線,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/310660.html
標籤:其他
上一篇:Java 簡單的搖骰子游戲:案例
下一篇:7-3 打怪升級 (25 分)
