2014-08-29 2 views
1

Мне тяжело просматривать панораму gameObject в Unity3d. Я новичок в написании сценариев, и я пытаюсь разработать приложение AR (Augmented Reality) для Android.Панорамирование вида gameObject вместо камеры в Unity3d?

Мне нужно иметь объект gameObject (например, модель пола), от обычного вида сверху вниз, отображаемого в виде «псевдо» изо-вида, наклоненного к 45 градусам. Поскольку gameObject наклонный, мне нужно иметь функцию панорамирования на его вид, используя четыре (4) кнопки (для левой, правой, прямой (или вверх), назад (или вниз)).

Проблема заключается в том, что я не могу использовать какие-либо известные фрагменты сценария панорамирования вокруг форума, поскольку камера AR должна быть статичной в сцене.

Необходимо отметить, что мне нужно, чтобы функция панорамирования была активной только на изометрическом представлении (которое я уже вычислил с помощью другого сценария), а не сверху вниз. Таким образом, не должно быть проблем с наклоном осей gameObject, правильно?

Ниже представлены два изображения изображений в макете, изображение gameObject (полу модели) и код сценария (из ссылки Unity), который я использую в настоящее время, который не очень функциональен для моих нужд.

enter image description here

enter image description here

Вот фрагмент кода, для левого движения геймобжекты. Я использую то же самое с изменением - + значения скорости, для других движений, но я получаю это двигаться только вверх, вниз, а не вперед, назад:

#pragma strict 

// The target gameObject. 
var target: Transform; 

// Speed in units per sec. 
var speedLeft: float = -10; 

private static var isPanLeft = false; 


function FixedUpdate() 
{ 
if(isPanLeft == true) 
{ 
    // The step size is equal to speed times frame time. 
    var step = speedLeft * Time.deltaTime; 

    // Move model position a step closer to the target. 
    transform.position = Vector3.MoveTowards(transform.position, target.position, step); 
} 
} 

static function doPanLeft() 
{ 
    isPanLeft = !isPanLeft; 
} 

Было бы здорово, если кто-то будь добр достаточно взглянуть на этот пост и сделать предложение о том, как эту функцию можно закодировать самым простым способом, поскольку я новичок?

Кроме того, если образец кода или учебник могут быть предоставлены, это будет оценено, поскольку я могу многому научиться из этого. Спасибо всем за ваше время и ответы.

ответ

0

Если я правильно понимаю, у вас есть камера с некоторой фиксированной ротации и позиции и у вас есть объект, который вы хотите переместить вверх/вниз/влево/вправо с точки зрения камеры

Чтобы вращать объект в набор углы вы просто сделать

transform.rotation = Quaternion.Euler(45, 45, 45); 

Затем, чтобы переместить его использовать камеры вверх/вправо/вперед в мировом пространстве, как это, чтобы переместить его вверх и влево

transform.position += camera.transform.up; 
transform.position -= camera.transform.right; 

Если вы только одна камера в сцене вы можете получить доступ к ее преобразование с помощью Camera.main.transform

Пример того, как переместить его, когда кто-то нажимает на левую стрелку

if(Input.GetKeyDown(KeyCode.LeftArrow)) 
{ 
    transform.position -= camera.transform.right; 
} 
+0

Здравствуйте @Imapler. Спасибо за ваше время, чтобы опубликовать фрагмент кода. Ну, я выполнил следующий код, согласно вашему примеру, и я уверен, что он работает нормально в режиме воспроизведения Unity, но не тогда, когда он создан для Android. В Android я получил работу только для левого права. Вот код для всех GUI.Buttons: Left button: transform.position + = target.transform.right; Правая кнопка: transform.position - = target.transform.right; Кнопка «Вперед» (вверх): transform.position + = target.transform.up; Кнопка назад (вниз): transform.position - = target.transform.up; Что может быть неправильным в Android-сборке? – user3244633

+0

Что происходит, когда вы пытаетесь переместить его вверх или вниз на Android? – Imapler

+0

Когда в android build, вверх или вниз (вперед, назад) объект остается на месте. Он не перемещается вообще, как бы странно, как кажется, что сценарий в порядке. – user3244633

Смежные вопросы