Почему не работает obj.transform.Translate

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Почему не работает obj.transform.Translate

Сообщение Vrare 20 сен 2020, 08:52

Утро доброе, форумчане! Есть проблема. Делаю конвейер: невидимый триггер, при заходе на который ЛЮБОЙ объект будет двигаться. Вот код:
Синтаксис:
Используется csharp
using System.Collections;
using UnityEngine;

public class M : MonoBehaviour
{
    public GameObject obj;


    void OnTriggerEnter(Collider a)
    {
        Vector3 mov = new Vector3(100, 0, 0);
        obj = a.gameObject;
        obj.transform.Translate(mov);
    }
}
 


Он не работает. Obj получает значение но не двигает. Не знаю в чем проблема. Самое странное, но большинство других команд работает. Rotate, material, например. А это не работает ни в какую.
Помогите пожалуйста!!!
Vrare
UNец
 
Сообщения: 22
Зарегистрирован: 30 июл 2020, 21:38

Re: Почему не работает obj.transform.Translate

Сообщение Saltant 20 сен 2020, 10:49

Translate нужно размещать в Update
https://docs.unity3d.com/ScriptReferenc ... slate.html

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

Re: Почему не работает obj.transform.Translate

Сообщение Vrare 20 сен 2020, 19:10

Saltant писал(а):Translate нужно размещать в Update
https://docs.unity3d.com/ScriptReferenc ... slate.html

Если ты хочешь в OnTriggerEnter то там присвоив координаты трансформе можно её телепортнуть в новую точку, чтоб двигаться плавно, нужно движение обрабатывать каждым кадром.

Спасибо!
Vrare
UNец
 
Сообщения: 22
Зарегистрирован: 30 июл 2020, 21:38


Вернуться в Почемучка

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

Сейчас этот форум просматривают: Google [Bot] и гости: 24