Не работает Collision Enter при билде в версии 2022.3.11f1

Общие вопросы о Unity3D

Не работает Collision Enter при билде в версии 2022.3.11f1

Сообщение Vaxy 16 окт 2023, 15:26

Всем привет! Я новый пользователь (Говорю, чтоб строго не судили, если что-то будет не так). У меня появилась проблема в 3д игре от первого лица. Есть обычный скрипт, с механикой сбора монет. Примерно такой:
Синтаксис:
Используется csharp
 
using UnityEngine;
using UnityEngine.UI;
public class Player : MonoBehaviour
{
private int coins;
public Text CoinsText;  
//скрипт логики игрока
public void OnCollisionEnter(Collision collision)
    {
        if(collision.gameObject.CompareTag("Coin") && collision.gameObject.GetComponent<THISISCOIN>() != null)
        {
            Destroy(collision.gameObject);
            coins++;
            CoinsText.text = coins.ToString();
        }
    }
}

В редакторе вся логика работает, но если билдишь в версии 2022.3.11f1, то монеты просто не реагируют на игрока. Я видел, что появились новые функции, по типу layer overrides, но я без понятия что они делают. Любому ответу буду очень рад. (ЕСЛИ КОРОТКО, ОБЪЯСНИТЕ НОВЫЕ ФУНКЦИИ КОЛЛАЙДЕРОВ И RIGIDBODY, ПОТОМУ ЧТО Я НЕ НАШЕЛ ПОЛЕЗНОЙ ИНФЫ В ИНТЕРНЕТЕ). (popcorn)
Последний раз редактировалось Vaxy 16 окт 2023, 17:58, всего редактировалось 1 раз.
Vaxy
UNец
 
Сообщения: 4
Зарегистрирован: 16 окт 2023, 11:28

Re: Не работает Collision Enter при билде в версии 2022.3.11f1

Сообщение Saltant 16 окт 2023, 16:40

OnCollisionEnter сработает только для 3д объекта с rigidbody, если у тебя 2д то используй OnCollisionEnter2D, коллайдеры должны также соответствовать 2д или 3д.
Я на Google Play _https://play.google.com/store/apps/developer?id=Saltant
Аватара пользователя
Saltant
Адепт
 
Сообщения: 2236
Зарегистрирован: 09 окт 2018, 16:40
Откуда: Химки
  • Сайт

Re: Не работает Collision Enter при билде в версии 2022.3.11f1

Сообщение Vaxy 16 окт 2023, 17:57

Saltant писал(а):OnCollisionEnter сработает только для 3д объекта с rigidbody, если у тебя 2д то используй OnCollisionEnter2D, коллайдеры должны также соответствовать 2д или 3д.

У меня на игроке как раз висит rigidbody, просто я показываю метод для монеты. (P.S Надо переименовать класс в игрока).
(УЖЕ ОТРЕДАКТИРОВАНО)
Vaxy
UNец
 
Сообщения: 4
Зарегистрирован: 16 окт 2023, 11:28

Re: Не работает Collision Enter при билде в версии 2022.3.11f1

Сообщение Saltant 17 окт 2023, 00:07

Vaxy писал(а):
Saltant писал(а):OnCollisionEnter сработает только для 3д объекта с rigidbody, если у тебя 2д то используй OnCollisionEnter2D, коллайдеры должны также соответствовать 2д или 3д.

У меня на игроке как раз висит rigidbody, просто я показываю метод для монеты. (P.S Надо переименовать класс в игрока).
(УЖЕ ОТРЕДАКТИРОВАНО)

ригидбади должен быть на обоих объектах и коллайдеры тоже.
Я на Google Play _https://play.google.com/store/apps/developer?id=Saltant
Аватара пользователя
Saltant
Адепт
 
Сообщения: 2236
Зарегистрирован: 09 окт 2018, 16:40
Откуда: Химки
  • Сайт

Re: Не работает Collision Enter при билде в версии 2022.3.11f1

Сообщение Vaxy 17 окт 2023, 05:12

Очень странно... Раньше с этим не сталкивался. На один обьект цеплял и всё. Спасибо, попробую.
Vaxy
UNец
 
Сообщения: 4
Зарегистрирован: 16 окт 2023, 11:28

Re: Не работает Collision Enter при билде в версии 2022.3.11f1

Сообщение Saltant 17 окт 2023, 08:52

Vaxy писал(а):Очень странно... Раньше с этим не сталкивался. На один обьект цеплял и всё. Спасибо, попробую.

Я бы рекомендовал использовать триггеры а не коллизию.
OnTriggerEnter (2D если 2д соответственно), в коллайдере должна быть галочка isTrigger, для твоей цели это более подходит на мой взгляд.
Я на Google Play _https://play.google.com/store/apps/developer?id=Saltant
Аватара пользователя
Saltant
Адепт
 
Сообщения: 2236
Зарегистрирован: 09 окт 2018, 16:40
Откуда: Химки
  • Сайт

Re: Не работает Collision Enter при билде в версии 2022.3.11f1

Сообщение Vaxy 17 окт 2023, 15:57

Saltant писал(а):
Vaxy писал(а):Очень странно... Раньше с этим не сталкивался. На один обьект цеплял и всё. Спасибо, попробую.

Я бы рекомендовал использовать триггеры а не коллизию.
OnTriggerEnter (2D если 2д соответственно), в коллайдере должна быть галочка isTrigger, для твоей цели это более подходит на мой взгляд.

Я понимаю, но в основном они используются для зон и вещей, которые не должны делать эффект касания, а мне этот эффект нужен. В крайнем случае, можно конечно его (триггер) использовать.
Vaxy
UNец
 
Сообщения: 4
Зарегистрирован: 16 окт 2023, 11:28

Re: Не работает Collision Enter при билде в версии 2022.3.11f1

Сообщение Alkos26Rus 17 окт 2023, 17:57

Новые функции ни как не влияют на срабатывание коллизии. Причина в твоем проекте, возможно какие то ошибки, создай пустой проект и там протесть. Ригидбоди можно вешать только на один объект, на 2 не обязательно.
Аватара пользователя
Alkos26Rus
Адепт
 
Сообщения: 1642
Зарегистрирован: 26 ноя 2020, 17:52
Откуда: Москва


Вернуться в Общие вопросы

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 21