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

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

СообщениеДобавлено: 20 сен 2020, 08:52
Vrare
Утро доброе, форумчане! Есть проблема. Делаю конвейер: невидимый триггер, при заходе на который ЛЮБОЙ объект будет двигаться. Вот код:
Синтаксис:
Используется 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, например. А это не работает ни в какую.
Помогите пожалуйста!!!

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

СообщениеДобавлено: 20 сен 2020, 10:49
Saltant
Translate нужно размещать в Update
https://docs.unity3d.com/ScriptReferenc ... slate.html

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

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

СообщениеДобавлено: 20 сен 2020, 19:10
Vrare
Saltant писал(а):Translate нужно размещать в Update
https://docs.unity3d.com/ScriptReferenc ... slate.html

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

Спасибо!