Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Unity

Unity Мультиплатформенный инструмент для разработки игр

Ответ
 
Опции темы
Старый 01.12.2013, 18:03   #1
mudcrab2142
AnyKey`щик
 
Регистрация: 23.06.2013
Сообщений: 11
Написано 0 полезных сообщений
(для 0 пользователей)
Поворот системы координат объекта

Имеется единичный вектор направления. Нужно повернуть систему координат объекта по направлению этого вектора, при этом не поворачивая сам объект.
(Offline)
 
Ответить с цитированием
Старый 01.12.2013, 21:23   #2
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Поворот системы координат объекта

Вопрос зачем?

По существу - используй пивот (пустй геймобъект) в качестве парента объекта. На время поворота пивота можешь отсоединить объект от него, а после поворота снова сделать парентом.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 04.12.2013, 22:13   #3
mudcrab2142
AnyKey`щик
 
Регистрация: 23.06.2013
Сообщений: 11
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Поворот системы координат объекта

Пытаюсь связать джойстик и шарик(ригидбоди), но проблема в том что камера смотрит на шарик под углом 45 градусов по оси Y.
Vector2 JoystickPosition = _Joystick.GetComponent<EasyJoystick>().JoystickTouch;
            if (JoystickPosition.magnitude != 0)
            {
                Destination.x = JoystickPosition.x;
                Destination.z = JoystickPosition.y;
                Destination.y = 0;

                _Sphere.rigidbody.AddForce(Destination * Time.deltaTime * ForceMultiplier);
				Debug.Log(Rotation);
            }
(Offline)
 
Ответить с цитированием
Старый 04.12.2013, 22:38   #4
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Поворот системы координат объекта

Так всего лишь надо повернуть вектора джойстика с учетом камеры.

//Примерно так
            
Vector2 JoystickPosition _Joystick.GetComponent<EasyJoystick>().JoystickTouch;
            if (
JoystickPosition.magnitude != 0)
            {
                
Destination.JoystickPosition.x;
                
Destination.JoystickPosition.y;
                
Destination.0;
                var 
cameraForward Camra.main.transfrom.forward;
                
cameraForward.y=0;
                
cameraForward.Normalize();
                var 
rotation Quaternion.LookRotation(cameraForward);
                
Destination rotation Destination;

                
_Sphere.rigidbody.AddForce(Destination Time.deltaTime ForceMultiplier);
                
Debug.Log(Rotation);
            } 
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 04.12.2013, 23:23   #5
mudcrab2142
AnyKey`щик
 
Регистрация: 23.06.2013
Сообщений: 11
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Поворот системы координат объекта

Спасибо, разобрался. Всё работает.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 13:37.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com