Показать сообщение отдельно
Старый 15.01.2011, 15:31   #57
Evgen
Разработчик
 
Аватар для Evgen
 
Регистрация: 12.01.2011
Адрес: Moscow
Сообщений: 419
Написано 68 полезных сообщений
(для 100 пользователей)
Ответ: C# Быстрый поворот/перемещение множества объектов

Сообщение от pax Посмотреть сообщение
Тогда вот так:
Vector3 camForward =  camera.transform.forward;
camForward.y=0;
сamera.Translate(camForward.normalized *Input.GetAxis("Vertical")*speed); 
Так тоже куда-то в сторону плывет.

В общем я сделал так, работает.
Определяю угол наклона между камерой и горизонтом.
Поднимаю камеру в верх на этот угол чтобы она сравнялась с горизонтом.
Двигаю камеру вперед.
Опускаю камеру на тот же угол.
Криво но работает.

//Перемещение
camera.Translate(Vector3.right *Input.GetAxis("Horizontal")*speed);		
//Вперед назад...
float angle=camera.transform.rotation.eulerAngles.x;
camera.Rotate(-angle,0,0);
camera.Translate(Vector3.forward*Input.GetAxis("Vertical")*speed); 	
camera.Rotate(+angle,0,0);
(Offline)
 
Ответить с цитированием