RayCastHit2D не обнаруживает игрока - PullRequest
0 голосов
/ 07 сентября 2018

Я пытаюсь разыграть 2D-луч из готового экземпляра ракеты следующим образом:

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

public class EnemyMissile : MonoBehaviour {


    void Update () {
        RaycastHit2D hit = Physics2D.Raycast(transform.position, Vector2.down,1f);
        Debug.DrawRay(transform.position, Vector2.down, Color.green);
        if(hit)
        {
            print("Hit");
        }
        else
        {
            print("No hit");
        }
    }
}

Я ясно вижу на сцене, что Луч проходит через Плеер: enter image description here

Игрок имеет триггер Rigidbody2D и BoxCollider2D: enter image description here

И у EnemyMissile есть собственные RigidBody2D и BoxCollider2D в качестве триггера: enter image description here

Однако я не вижу ничего напечатанного на консоли

Идея наложить Луч из ракеты состоит в том, чтобы сыграть аудиоклип, когда EnemyMissile направляется к игроку.

Я видел: Raycast Hit Collider всегда NULL Physics2D.Raycast возвращает ноль

Спасибо за вашу помощь.

РЕДАКТИРОВАТЬ , чтобы ответить @Monofuse комментарий: Когда я выбираю Player, преобразование: х: 0,4567, у: -1,58, з: 0

enter image description here

Когда я выбираю ракету, Transform: х: 0,3699, у: -1,054, з: 0

enter image description here

РЕДАКТИРОВАТЬ, чтобы ответить @Ada Nub:

По умолчанию у меня выбрана опция: триггеры нажатия запросов и запуск запросов в коллайдерах.

Теперь у меня отключен запуск запросов в коллайдерах, но результат тот же, я не вижу отпечаток на консоли:

enter image description here

Я осознал свою ошибку, у меня не нажата вкладка Информация в консоли: enter image description here

И теперь это работает: enter image description here

1 Ответ

0 голосов
/ 07 сентября 2018

Включили ли вы «Запуски попаданий запросов» в «Редактирование»> «Настройки проекта»> «Physics2D»? Raycasts по умолчанию не включает триггеры, так что это может быть вашей проблемой.

Изображение опции 'Queries hit triggers'

Стоит также рассмотреть вариант под запросом «Запросы в коллайдерах»; поскольку вы запускаете лучевую трансляцию из коллайдера ракеты, вы, вероятно, захотите отключить эту опцию, чтобы она не учитывала ракету, с которой она запускается, как удар.

...