专注Unity和CPP的小菜鸡 2023-02-28 09:32 采纳率: 47.1%
浏览 26

unity的射线似乎没有检测到物体

unity的射线似乎没有检测到物体
我想把这20个点连接起来:中间没有障碍物,则连接上;有障碍物,则不连接
所有的node和obstacle都有rigidbody和collider组件
但有的连接线却穿越了障碍物,目前没有解决问题,求帮助

img


运行后效果:

img

我的代码:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;

public class CGtest : MonoBehaviour
{
    void Start()
    {
        for (int i = 1; i <= 19; i++)
        {
            for (int j = i + 1; j <= 20; j++)
            {
                Ray ray = new Ray(GameObject.Find("node" + i).transform.position, GameObject.Find("node" + j).transform.position);              
                RaycastHit hit;
                Physics.Raycast(ray, out hit, 100);
                if (hit.transform == null)
                {
                    Debug.DrawLine(GameObject.Find("node" + i).transform.position, GameObject.Find("node" + j).transform.position, Color.red, 1000);
                }
               
            }
        }
        
    }
    
   
}


  • 写回答

1条回答 默认 最新

  • 示申○言舌 2023-02-28 11:15
    关注

    射线的构造有问题。第二个参数是方向,而不是终点坐标。

    评论

报告相同问题?

问题事件

  • 创建了问题 2月28日