[英]Unity Ray-cast not specific enough
光线投射似乎只在我移动并随机定位时更新,任何帮助将不胜感激。
` void Update(){
if(IsBruiserFollowingMarkerRay){
RaycastHit hit;
BruiserMoveToVisuals.SetActive(true);
if (Physics.Raycast(fpsCam.transform.position, fpsCam.transform.forward, out hit, Range)){
// Debug.Log(hit.transform.position);
BruiserMoveToDefault.transform.position = hit.transform.position;
}
}`
一旦光线投射无法按预期工作,请使用 Debug.DrawRay() 直观地查看正在发生的事情。 像这样的东西:
if (Physics.Raycast(fpsCam.transform.position, fpsCam.transform.forward, out hit, Range))
{
Debug.DrawRay(fpsCam.transform.position, fpsCam.transform.forward * Range, Color.yellow, 1f);
// ...
}
else
{
Debug.DrawRay(fpsCam.transform.position, fpsCam.transform.forward * Range, Color.green, 1f);
}
请注意,我们需要将方向与范围相乘,以直观地显示与 Raycast() 长度相同的射线。 您现在应该能够看到为什么光线投射没有给出您期望的答案。 如果您看不到任何光线(无论是黄色还是绿色),可能是 Range 为 0 或 fpsCam 未定位在您期望的位置。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.