Поворот физического объекта.

Общие вопросы о Unity3D

Поворот физического объекта.

Сообщение ZhuDen 28 апр 2013, 11:53

Вообщем встрял на одной проблеме, я пытаюсь сделать движение шарика с физикой, так вот движение вперёд и назад сделал,
вот так:
Синтаксис:
Используется csharp
  void FixedUpdate()
    {
        rigidbody.AddForce(0, 0, Input.GetAxis("Vertical") * 10);
       
    }


Теперь мне нужно было сделать поворот шарика, и я сделал так:
Синтаксис:
Используется csharp
 void FixedUpdate()
    {
        rigidbody.AddForce(Input.GetAxis("Horizontal") * 10, 0, Input.GetAxis("Vertical") * 10);
       
    }


Всё бы ничего, да только шарик поворачивает на 90 градусов и всё, дальше не поворачивает, то есть получается четырёхстороннее движение: вперёд, назад, влево и вправо. Мне нужно что бы поворачивал сам rigitbody на шарике, то есть крутить не сам шарик, а именно крутить его вместе с rigitbody пока нажата клавиша, что бы шарик потом двигался в нужном направлении. Как это сделать?
Аватара пользователя
ZhuDen
UNIт
 
Сообщения: 82
Зарегистрирован: 20 июн 2012, 23:05

Re: Поворот физического объекта.

Сообщение nile 28 апр 2013, 12:54

http://docs.unity3d.com/Documentation/S ... orque.html

А в AddForce использовать вектор Vector3 direction = transform.TransformDirection(Vector3.forward); умноженный на какой-нибудь float коэффициент.
Только это хз как будет работать, если шарик катится, ибо направление будет так же вращаться. Я бы сделал ГО, которым управлял бы без всяких AddForce со всеми поворотами и тд. А шар просто через AddForce катил бы к позиции этого ГО.

90 градусов

Там сила прикладывается горизотально, сам шарик туда катится, никуда он не поворачивает.
Аватара пользователя
nile
Старожил
 
Сообщения: 848
Зарегистрирован: 25 фев 2011, 17:17



Вернуться в Общие вопросы

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 18