Есть ли способ изменить экспозицию WebcamTexture?
Нет. Вы можете на Android с AndroidJavaObject
, но это хак и может перестать работать при каждом обновлении Unity. Кроме того, он будет работать только на Android, но не на iOS, Windows, Mac и других платформах.
Если нет, есть ли другой способ отрегулировать экспозицию без использования
WebcamTexture
Опять нет. Вы не можете изменять настройки камеры при использовании WebcamTexture
.
Если нет, то какие широко используемые API / инструменты я могу использовать в Unity?
для получения камеры с этими регулируемыми настройками?
Единственный способ изменить указанные вами настройки камеры - создать плагин API камеры для каждой платформы. Это нелегко сделать, так как вам нужно знать много языков программирования, чтобы заставить его работать, таких как Java для Android, Objective-C для iOS и Mac, C ++ для Windows и Linux и Javascript для WebGL, а затем использовать C # для их объединения. Это действительно занимает много времени, и поэтому лучше использовать существующий плагин.
Самый лучший плагин - NatCam . Этот плагин может контролировать экспозицию, фокус и масштабирование камеры , но это не бесплатно. Оно того стоит.
Вы можете установить экспозицию и смещение экспозиции как:
DeviceCamera.RearCamera.ExposureMode = ExposureMode.Locked;
NatCam.Camera.ExposureBias = NatCam.Camera.MinExposureBias;
Чтобы установить режим фокусировки:
NatCam.Camera.FocusMode = FocusMode.TapToFocus | FocusMode.AutoFocus;
Для увеличения камеры:
NatCam.Camera.ZoomRatio = 2.0f;
Вы можете найти полное руководство по NatCam здесь .