Здравствуйте! Делаю игру гонки в космосе. И тут столкнулся с проблемой. Надо каким-то образом ограничить полет игроков, т.е. чтобы они не разлетались по всему космосу, а в пределах какого-то объема могли двигаться свободно, но все равно летели бы к концу маршрута. Думал сначала сделать огромную трубу(невидимую), игрок бы внутри нее летел, а за пределы вылететь не мог, но она в юнити как-то странно отображается, стенки ее то исчезают, снова появляются. Можно конечно программно ограничить, но только я не знаю как это с помощью векторов сделать. У кого-нибудь есть идеи?
Нашел скрипт полета. В нем само движение осуществляется в этих строках:
получается надо проверять выходит ли transform.position за определенную границу, а velocityTarget ограничивать, если корабль выходит за границы. Но как это сделать что-то я не пойму. Пытался (Speed + MoveSpeed) обнулять, но тогда корабль при выходе за границу вообще перестает двигаться.
Можно сделать эту трубу (цилиндр) триггером, отслеживать нахождение игрока внутри трубы, а если он её покидает - выводить предупреждающую надпись, мол "Сбились с курса". P.S. Тема Расположена не там. Блог.
Сообщение отредактировал commandoby - Пт, 13 Июн 2014, 13:20
Сделать по периметру колайдеры на пустышках, прописать им реакцию на колайдер кораблей. Но не совсем понятно что значит ограничить? Что бы врезались и останавливались?