forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Unity (http://forum.boolean.name/forumdisplay.php?f=144)
-   -   Поворот системы координат объекта (http://forum.boolean.name/showthread.php?t=18757)

mudcrab2142 01.12.2013 18:03

Поворот системы координат объекта
 
Имеется единичный вектор направления. Нужно повернуть систему координат объекта по направлению этого вектора, при этом не поворачивая сам объект.

pax 01.12.2013 21:23

Ответ: Поворот системы координат объекта
 
Вопрос зачем?

По существу - используй пивот (пустй геймобъект) в качестве парента объекта. На время поворота пивота можешь отсоединить объект от него, а после поворота снова сделать парентом.

mudcrab2142 04.12.2013 22:13

Ответ: Поворот системы координат объекта
 
Пытаюсь связать джойстик и шарик(ригидбоди), но проблема в том что камера смотрит на шарик под углом 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);
            }


pax 04.12.2013 22:38

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

PHP код:

//Примерно так
            
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);
            } 


mudcrab2142 04.12.2013 23:23

Ответ: Поворот системы координат объекта
 
Спасибо, разобрался. Всё работает.


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot