Показать сообщение отдельно
Старый 28.07.2013, 03:11   #15
dsd
Мастер
 
Аватар для dsd
 
Регистрация: 13.06.2011
Сообщений: 1,103
Написано 481 полезных сообщений
(для 1,836 пользователей)
Ответ: Кватернион. Как определить угол вращения.



архив с ехе 10 мб

Добавил твердости планете и систему частиц кое-как прикидывающуюся облачками.

Кто-нить делал вменяемый моуслук на поверхности сферы? Чтобы камера вела себя как при обычном моуслуке но считала что ось(0,1,0) была направлена от центра сферы к позиции камеры. Как это сделать?

float sensitivity 1.5F;
        
        
        
Vector3 rotation =  cam.transform.eulerAngles;
        
// получаем значение оси ввода "Horizontal" и прибавляем его к значению вращения
        
rotation.-= sensitivity Input.GetAxis ("Mouse Y");
        
rotation.+= sensitivity Input.GetAxis ("Mouse X");
        
// устанавливаем вращение объекта
        
cam.transform.eulerAngles rotation;
        
        
//движение камеры
        
float speed 0.5f;
        
        
Vector3 move = new Vector3(0,0,0);    
        if(
Input.GetKey(KeyCode.A))move-= cam.transform.right;
        if(
Input.GetKey(KeyCode.D))move+= cam.transform.right;
        if(
Input.GetKey(KeyCode.S))move-= cam.transform.forward;
        if(
Input.GetKey(KeyCode.W))move+= cam.transform.forward;
        
        
cam.transform.position += move*speed
Миниатюры
Нажмите на изображение для увеличения
Название: 0.jpg
Просмотров: 5615
Размер:	351.1 Кб
ID:	19411  
(Offline)
 
Ответить с цитированием