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

Как сделать передвижение объекта от точки до точки 2D

СообщениеДобавлено: 23 сен 2017, 19:51
Andrew46
Хочу сделать платформу которая будет спускаться по оси Y например с 5 до 0 при вхождении игрока в триггер. Помогите со скриптом пж

P.S. Новичок :)

Re: Как сделать передвижение объекта от точки до точки 2D

СообщениеДобавлено: 26 сен 2017, 01:55
Alex_Hell
если вектор x,y нужно то см. Vector2.Lerp
https://docs.unity3d.com/ScriptReferenc ... .Lerp.html

не компилировал, проверь сам

// (public если хочешь на скрипт повесить MonoBehaviour и задавать в редакторе)
public Vector2 StartPos;
public Vector2 EndPos;
public float SpeedTPerSec = 0.1f;
public Transform MoveTarget;

private float _currentT = 0;

void Update()
{
if (_currentT >= 1) return; // сейчас останавливается когда дойдет до конца

Vector2 currentPos = Vector2.Lerp(StartPos, EndPos, _currentT);
//можно двигать объект в позицию
MoveTarget.position = currentPos;

_currentT += SpeedTPerSec * Time.deltaTime;
}

Re: Как сделать передвижение объекта от точки до точки 2D

СообщениеДобавлено: 26 сен 2017, 16:43
Andrew46
Alex_Hell писал(а):если вектор x,y нужно то см. Vector2.Lerp
https://docs.unity3d.com/ScriptReferenc ... .Lerp.html

не компилировал, проверь сам

// (public если хочешь на скрипт повесить MonoBehaviour и задавать в редакторе)
public Vector2 StartPos;
public Vector2 EndPos;
public float SpeedTPerSec = 0.1f;
public Transform MoveTarget;

private float _currentT = 0;

void Update()
{
if (_currentT >= 1) return; // сейчас останавливается когда дойдет до конца

Vector2 currentPos = Vector2.Lerp(StartPos, EndPos, _currentT);
//можно двигать объект в позицию
MoveTarget.position = currentPos;

_currentT += SpeedTPerSec * Time.deltaTime;
}


Спасибо большое, все работает :)