Я использую единство с holotoolkit для разработки приложения для гололены. Проблема в том, что поле зрения основной камеры всегда равно 16,97196, независимо от того, какие значения вводятся. Я даже добавил скрипт, чтобы намеренно установить значение FOV на 60, но оно сбрасывается до 16.97196. Можно ли установить значение FOV в соответствии с требованиями пользователя.
Unity hololens с использованием holotoolkit FOV всегда 16.97196
Ответы (2)
Фактическое устройство hololens работает на ~ 17 FOV, Holotoolkit устанавливает FOV камеры на ~ 16,97, чтобы получить такой же результат при разработке и тестировании в единстве.
Когда вы разрабатываете приложение для Hololens, нет никаких причин изменять FOV и иметь другой результат, чем фактическое устройство Hololens при тестировании в единстве.
Кроме того, вы можете получить подробную информацию о проблеме здесь.
Вы можете сократить угол обзора, установив другую матрицу проекции непосредственно на камеру с помощью сценариев. Например, если вам нужно поле обзора 60 градусов, вы можете написать:
public class SetCameraProjectionMatrix : MonoBehaviour
{
public float fieldOfViewOverride = 60.0f;
void Start()
{
Camera cam = GetComponent<Camera>();
Debug.AssertFormat(cam != null, "No {0} component on game object named {1} as expected.", typeof(Camera), gameObject.name);
cam.projectionMatrix = Matrix4x4.Perspective(fieldOfViewOverride, cam.aspect, cam.nearClipPlane, cam.farClipPlane);
}
}
Документация по свойству Camera.projectonMatrix: https://docs.unity3d.com/ScriptReference/Camera-projectionMatrix.html
Поле зрения затем игнорируется, пока не будет вызван метод камеры ResetProjectionMatrix.