C# Unity WebcamTexture高级设置(曝光、焦距、缩放)

C# Unity WebcamTexture高级设置(曝光、焦距、缩放),c#,unity3d,camera,C#,Unity3d,Camera,我有我的相机饲料工作在统一,使用网络摄像头纹理。根据,没有用于更改曝光或焦距设置的功能 我想说清楚: 有没有办法改变WebcamTexture的曝光 如果没有,是否有其他方法可以在不使用WebcamTexture的情况下调整曝光量 如果没有,我可以在Unity中使用哪些广泛使用的API/工具来获取具有这些可调设置的摄影机提要 有没有办法改变WebcamTexture的曝光 不可以。你可以继续使用AndroidJavaObject,但这是一种黑客行为,每次有Unity更新时都会停止工作。此外,它只

我有我的相机饲料工作在统一,使用网络摄像头纹理。根据,没有用于更改曝光或焦距设置的功能

我想说清楚:

  • 有没有办法改变WebcamTexture的曝光
  • 如果没有,是否有其他方法可以在不使用WebcamTexture的情况下调整曝光量
  • 如果没有,我可以在Unity中使用哪些广泛使用的API/工具来获取具有这些可调设置的摄影机提要
  • 有没有办法改变WebcamTexture的曝光

    不可以。你可以继续使用
    AndroidJavaObject
    ,但这是一种黑客行为,每次有Unity更新时都会停止工作。此外,它只能在安卓系统上运行,而不能在iOS、Windows、Mac和其他平台上运行

    如果没有,是否有其他方法可以在不使用 网络摄像机纹理

    同样,不能。在使用
    WebcamTexture
    时,不能修改相机设置

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

    要修改您提到的摄像头设置,唯一的方法是为每个平台创建一个摄像头API插件。这是不容易做到的,因为你必须知道许多编程语言来工作,如java的Android,ObjeO-C为IOS和MAC,Windows和Linux的C++,以及JavaScript的WebGL,然后使用C *把它们放在一起。这样做非常耗时,因此使用现有插件会更好

    最好的是插件。这个插件可以控制相机的曝光、焦距和变焦,但它不是免费的。这是值得的

    可以将曝光和曝光偏差设置为:

    DeviceCamera.RearCamera.ExposureMode = ExposureMode.Locked;
    NatCam.Camera.ExposureBias = NatCam.Camera.MinExposureBias;
    
    要设置焦点模式,请执行以下操作:

    NatCam.Camera.FocusMode = FocusMode.TapToFocus | FocusMode.AutoFocus;
    
    要缩放摄影机,请执行以下操作:

    NatCam.Camera.ZoomRatio = 2.0f;
    

    您可以找到NatCam的完整教程。

    谢谢!我决定使用UWP的MediaFrameReader编写一个插件,并使用它在Unity中渲染!我会给你一个答案。UWP的MediaFrameReader只在Windows上工作,但这是一个好的开始。您可以随时添加对其他平台的支持。请注意,Natcam插件仅允许您在“本机设备”上控制这些设置,即手机或平板电脑上的内置摄像头。例如,对于windows平台上的USB网络摄像头,您无法通过此插件控制网络摄像头的曝光。我与开发人员讨论了这一点,并确认您不能:(