Если вы можете добавить скриншот того, что вы видите в данный момент, а затем еще один скриншот того, что вы ожидаете, я буду готов поработать с этим кодом и посмотреть, смогу ли я исправить вашу проблему.

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

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

void Update () 
{
    Quaternion attitudeFix = new Quaternion (-gyro.attitude.x, -gyro.attitude.z, -gyro.attitude.y, gyro.attitude.w);
    Quaternion offsetRotation =  initialGyroRotation * attitudeFix;
    rotation = initialRotation * offsetRotation;
    transform.rotation = rotation;
}

public void EnableGyro() 
{
    initialGyroRotation = Input.gyro.attitude;
    initialRotation = transform.rotation;

    Debug.Log("initialRotation: " + initialRotation.ToString());
    Debug.Log("transform.rotation: " + transform.rotation.ToString());
    Debug.Log("initialGyroRotation: " + initialGyroRotation.ToString());
}

**

РЕДАКТИРОВАТЬ: Вот экран, на котором я хочу, чтобы вид выглядел так, как пользователь держит свое устройство перед лицом (портрет) И направляется на север. Независимо от ориентации устройства, когда приложение запускается, именно так оно и должно выглядеть при движении на север с телефоном в портретной ориентации (опять же, когда пользователь смотрит в телефон).

РЕДАКТИРОВАТЬ 2: Тесты становились все более запутанными, поэтому я вернул код точно так, как предлагает ваше решение. Все еще есть небольшая проблема, но кажется, что этот скрипт очень близок. Основная проблема заключается в том, что при запуске каждого теста экран не похож на приведенный выше рисунок, запускающий приложение с устройством под странными углами. На самом деле не должно иметь значения, под каким углом находится устройство при запуске приложения, оно должно выглядеть, как на приведенном выше экране, когда вы указываете на север и портрет.

Мне нужно сделать больше тестов, и я сделаю это с новым / чистым проектом.

Ответы на вопрос(1)

Ваш ответ на вопрос