Unity WebcamTexture高级设置(曝光,对焦,缩放)

时间:2018-10-30 17:20:02

标签: c# unity3d camera

我的摄像头供稿在使用WebcamTexture的Unity中工作。根据{{​​3}},没有更改曝光或对焦设置的功能。

请明确说明:

  1. 有什么办法可以改变WebcamTexture的显示效果?
  2. 如果没有,是否还有其他方法可以使用WebcamTexture 无需来调整曝光?
  3. 如果没有,我可以在Unity中使用哪些可广泛使用的API /工具来获得具有这些可调设置的相机供稿?

1 个答案:

答案 0 :(得分:1)

  

有什么方法可以改变WebcamTexture的曝光度吗?

不。您可以使用AndroidJavaObjectAndroid上运行,但这是一个黑客,每次Unity更新时都可能停止工作。另外,它仅适用于Android,不适用于iOS,Windows,Mac和其他平台。

  

如果没有,是否有其他方法可以在不使用的情况下调整曝光   WebcamTexture?

再次,不。使用WebcamTexture时无法修改相机设置。

  

如果没有,我可以在Unity中使用哪些广泛使用的API /工具?   这些可调整的设置获取相机供稿?

能够修改您提到的相机设置的唯一方法是为每个平台创建相机API插件。这并非易事,因为您必须了解许多编程语言才能使其正常工作,例如Android的Java,iOS和Mac的Objective-C,Windows和Linux的C ++和WebGL的Javascript,然后使用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 here的完整教程。