Страница 1 из 1

Как убрать определенную силу на Rigidbody

СообщениеДобавлено: 14 янв 2018, 14:12
Unit4ik
Привет всем
Не могу понять как убрать силу которая приводит объект в движение.
У меня дела обстоят так . Есть бомба с Exploision которая падает с неба . Но должна быть безопасная зона где Exploision не сможет взаимодействовать с Rigidbody.

Хотел сделать так

Синтаксис:
Используется csharp

//При вход в безопасную зону
void OnTriggerEnter(Collider col)
    {
        GameObject cols = col.gameObject;
        Rigidbody cast = cols.GetComponent<Rigidbody>();
        Engine game = cols.GetComponent<Engine>();
        if (cast != null)
        {
            cast.isKinematic = true;
        }
    }
 

Но когда мой объект движется внутри зоны он проходит через все стены и терайн

Re: Как убрать определенную силу на Rigidbody

СообщениеДобавлено: 28 янв 2018, 19:08
Arsenii
IsKinematic здесь лишний, он вызывает эти баги.
Можно применять Exploision только к объектам с какими то параметрами которые зависят от того во что вошел объект.

Пример
Синтаксис:
Используется csharp
public bool isProtected;

void OnTriggerEnter(Collider col)
{
    if (col.name == "SuperProtection")
    {
        isProtected = true;
    }
}

void OnTriggerExid(Collider col)
{
    if (col.name == "SuperProtection")
    {
        isProtected = false;
    }
}