Перемещение по ландшафту.

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

Перемещение по ландшафту.

Сообщение Ander 19 ноя 2012, 09:49

Столкнулся с такой проблемой. Управляю неким предметом, у нужно сделать перемещение по ландшафту, но ригидбоди не подходит из-за физики, а мне нужно только притяжение. Можно как-нибудь узнать высоту ландшафта в некой точке?
Ander
UNец
 
Сообщения: 20
Зарегистрирован: 20 окт 2009, 22:43
Откуда: Lviv

Re: Перемещение по ландшафту.

Сообщение Kayler 19 ноя 2012, 10:34

пускать сверху вниз луч и получать точку
Аватара пользователя
Kayler
Адепт
 
Сообщения: 1038
Зарегистрирован: 25 авг 2010, 23:49
Откуда: Чувашия

Re: Перемещение по ландшафту.

Сообщение Ander 19 ноя 2012, 11:37

Спасибо за ответ.
Поспешил с выводами насчет ригидбоди, щас изучаю статью http://www.packtpub.com/article/unity-3 ... ler-script
Ander
UNец
 
Сообщения: 20
Зарегистрирован: 20 окт 2009, 22:43
Откуда: Lviv

Re: Перемещение по ландшафту.

Сообщение eligma 20 ноя 2012, 03:44

притяжение без риджибади делается так. Даже используя стандартный чарактер контролер:
Синтаксис:
Используется javascript
var contr  : CharacterController;
private var deltaDirection : Vector3;
var gravity = 20.0;

function Update(){
 deltaDirection = Vector3(0, 0, Input.GetAxis("Vertical"));          //принимает инпуты вперед назад
  deltaDirection = transform.TransformDirection(deltaDirection);
deltaDirection.y -= gravity * Time.deltaTime;      //в общем случае здесь просто нужно множить y-ковую координату на Time.deltaTime
 contr.Move(deltaDirection * Time.deltaTime);
}
 

а воще можно просто transform.position.y- = gravity * Time.deltaTime; потому что на чарактера риджибади не надевают используя чарактер контролер - он улетает.
Gleeko Multiplayer Gameplay------Знаете ли вы что протокол IPV6 в 1 000 000 раз превышает по возможностям протокол IPV4? А также протокол IPV6 официально был запущен в прошлом году 6.06 числа в 6 часов утра. Это событие отмечали во всем мире.
Аватара пользователя
eligma
Старожил
 
Сообщения: 778
Зарегистрирован: 29 фев 2012, 03:35
  • Сайт

Re: Перемещение по ландшафту.

Сообщение Ander 20 ноя 2012, 13:27

Пробовал с CharacterControlle, чет не получилось. Пока остановился на rigidbodу с использованием импульсов для движения. Правда вот когда по террайну движусь а потом останавливаюсь, на обьект действует сила, которую я не использовал, как бы террайн наклонен. Мне вот защитить обьект от "не моих сил" как-то надо придумать.
После програмирование логики на с++(с DirectX) у меня здесь голова кружится :(
Ander
UNец
 
Сообщения: 20
Зарегистрирован: 20 окт 2009, 22:43
Откуда: Lviv

Re: Перемещение по ландшафту.

Сообщение eligma 21 ноя 2012, 03:29

Это может быть инерция которая осталась от движения. Попробуйте менять на риджидюади свойства drag angular drag
Gleeko Multiplayer Gameplay------Знаете ли вы что протокол IPV6 в 1 000 000 раз превышает по возможностям протокол IPV4? А также протокол IPV6 официально был запущен в прошлом году 6.06 числа в 6 часов утра. Это событие отмечали во всем мире.
Аватара пользователя
eligma
Старожил
 
Сообщения: 778
Зарегистрирован: 29 фев 2012, 03:35
  • Сайт

Re: Перемещение по ландшафту.

Сообщение Ander 21 ноя 2012, 11:03

Спасибо.
Поигрался с сопротивлением, но чем больше вставлю, тем больше надо потом силу использовать. Решил проблему с обнулением angularVelocity и Velocity при некоторых условиях.
Ander
UNец
 
Сообщения: 20
Зарегистрирован: 20 окт 2009, 22:43
Откуда: Lviv


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

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

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