Почему Raycast2D не работает внутри обьекта? Unity2D

На игрока повешен скрипт с рейкастом, через него проверяю на наличие обьекта, если да то можно взаимодействовать. Если стоять сбоку, рядом все работает, если внутри него то использовать нельзя, как это исправить? На обьект повешен только BoxCollider2D с включенным isTrigger

скрипт с рейкастом

if(Ray.collider.CompareTag("Locker"))
            {
                AllowUseLocker = true;
                Debug.Log("can use");
                if (!HoldingController)
                {
                    locker = closestItem.gameObject.GetComponent<LockerLogic>();
                } 
            }

public void Action()
    {
        if(AllowUseLocker && !HoldingController)
        {
            locker.Hide();
            Hiding = true;
            Debug.Log("HIDE");
            return;
        }

фото, если не поняли 1


Ответы (1 шт):

Автор решения: Andrew_STOP_RU_AGRESSION_IN_UA

согласно с документацией https://docs.unity3d.com/ScriptReference/Physics-queriesHitBackfaces.html

By default, all physics queries such as a raycast or a shape sweep (e.g. SphereCastAll) won't detect hits with back-face triangles.

Перевод: По умолчанию все запросы к физике, такие как raycast или shape sweep (например, SphereCastAll), не будут принимать попадания внутреннюю сторону полигонов.

Это можно изменить через настройки физики кодом в Physics.queriesHitBackfaces

Вполне возможно это можно менять и через интерфейс юнити. Где именно эти настройки ищи в документации сам

→ Ссылка