PixelDhoine 06 окт 2016, 10:10
делал похожее для мобов.
тут нужно 2 "таймера" т.е. 5 переменных
время между движением - public float,
время движения - public float,
счетчик времени между движенияи - private float,
счетчик времени движения - private float,
двигается ли - private bool,
суть в том что на событии Start
приравниваешь счетчики к указанному времени (timeBetweenMoveCounter = timeBetweenMove)
а на событие Update пишешь условие if(двигается ли =true) {
счетчик времени движения -= Time.deltatime;
и в этом условии еще условие if (счетчик меньше нуля) {
двигается ли = false;
счетчик времени МЕЖДУ движениями = снова приравниваешь к времени между движениями.
} else{ (т.е. если курица не двигается)
счетчик времени между -= Time.deltatime;
rigibody.velocity приравниваем к нуля(чтоб остановился)
и еще одно условие в условии if (счетчик времени между движенияи <0)
двигается ли = тру.}}
то есть что делает этот скрипт:
курица стоит - код отсчитывает заданное время и когда она досчитает до 0 делает moving = true, и курица начинает двигаться
в этот момент врубается другой счетчик считающий время ходьбы. они отсылаются друг на друга.
А рандомное направление можешь сделать так:
MoveDirection = new Vector3( Random.range(-1f,1f)*скорость курицы, Random.Range(-1f,1f)*скорость курицы, 0f);