Raycast проходит через объекты - PullRequest
0 голосов
/ 06 ноября 2019

Мой raycast проходит через объекты с сетчатым коллайдером / коробчатым коллайдером со слоями.

Кажется, я не могу найти решение. Пожалуйста, помогите мне.

Я пробовал разные решения, но лучевая трансляция все еще проходит через объекты. Даже объекты за неразрешимыми объектами также вызываются.

 public float maxRayDistance = 2.0f;

 public LayerMask layerMask;
 public GUISkin mySkin;
 public bool showGui = false;
 public RaycastHit hit;

 void Update()
 {
     Vector3 dir = gameObject.transform.TransformDirection(Vector3.forward);
     if (Physics.Raycast(transform.position, dir, out hit, maxRayDistance, layerMask))
     {
         showGui = true;
         if (Input.GetButtonDown("Use"))
         {
             Invoke("SendAction", 0.3f);
         }
     }
     else
     {
         showGui = false;
     }
 }

 public void SendAction()
 {
     GameObject target = hit.collider.gameObject;                
     target.BroadcastMessage("Action");
 }

Слои

Объект с другим слоем

1 Ответ

0 голосов
/ 07 ноября 2019

Вам нужно проверить IsTrigger в Collider (UnityEditor), чтобы Raycast работал над вашим объектом. Если это не работает, в ваших проектах есть настройка о Raycast, которую вы могли отключить в настройках физики.

...