Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unity3d 在Unity中,Android设备摄像头不工作_Unity3d - Fatal编程技术网

Unity3d 在Unity中,Android设备摄像头不工作

Unity3d 在Unity中,Android设备摄像头不工作,unity3d,Unity3d,当我建立我的unity项目时,它安装到我的手机上,我需要使用手机摄像头,但摄像头不工作,实际上无法打开。 雄激素单 <activity android:name="com.unity3d.player.UnityPlayerActivity" android:label="@string/app_name" android:screenOrientation="fullSensor" android:launchMode="singleTask" android:configChang

当我建立我的unity项目时,它安装到我的手机上,我需要使用手机摄像头,但摄像头不工作,实际上无法打开。

雄激素单

<activity android:name="com.unity3d.player.UnityPlayerActivity" android:label="@string/app_name" android:screenOrientation="fullSensor" android:launchMode="singleTask" android:configChanges="mcc|mnc|locale|touchscreen|keyboard|keyboardHidden|navigation|orientation|screenLayout|uiMode|screenSize|smallestScreenSize|fontScale">
  <intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
    <category android:name="android.intent.category.LEANBACK_LAUNCHER" />
  </intent-filter>
  <meta-data android:name="unityplayer.UnityActivity" android:value="true" />
</activity>
</application>
<uses-sdk android:minSdkVersion="9" android:targetSdkVersion="23" />
<uses-feature android:glEsVersion="0x00020000" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-feature android:name="android.hardware.camera" android:required="true" />
<uses-feature android:name="android.hardware.camera.autofocus"     android:required="false" />

我试图在设备管理器中更新USB驱动程序,在9-23之间安装了Android SDK API,我的手机已启用USB调试。 还有一件事,如果我尝试在unity控制台中查看设备

WebCamDevice[] devices = WebCamTexture.devices;
    for( var i = 0 ; i < devices.Length ; i++ )
        Debug.Log(devices[i].name);
WebCamDevice[]devices=WebCamTexture.devices;
对于(var i=0;i

只显示了我的笔记本电脑摄像头,打开了笔记本电脑的摄像头。有什么建议吗?

等一下。如果你使用Unity Remote调试你的应用程序,它肯定不会工作

Unity remote应用程序实际上是一种流媒体服务:它获取用户输入,将其发送给Unity,播放整个内容,然后流回视频

这就是它不起作用的原因:在您的设备上实际上没有执行任何操作

只要做一个构建来调试它

这就是为什么Unity Remote的性能非常差的原因

p.p.S.:Unity Remote下的压缩和质量设置是指视频流的压缩和质量。这真是太棒了,问题已经解决了以下解决方案对我很有效。。我想这对你也有帮助。把这个脚本放到摄像机上 使用UnityEngine; 使用UnityEngine.Android

public class permissionscript : MonoBehaviour
{
    GameObject dialog = null;
    void Start()
    {
#if PLATFORM_ANDROID
        if (!Permission.HasUserAuthorizedPermission(Permission.Camera))
        {
            Permission.RequestUserPermission(Permission.Camera);
        }
#endif
    }
}
//这是我的设备摄像头脚本

using UnityEngine;
using UnityEngine.UI;

public class simplecamera : MonoBehaviour
{
    static WebCamTexture backCam;

    void Start()
    {
        WebCamDevice[] devices = WebCamTexture.devices;
        if(backCam == null)
        {
            backCam = new WebCamTexture();
        }
        GetComponent<RawImage>().texture = backCam;
        backCam.Play();
    }
}
使用UnityEngine;
使用UnityEngine.UI;
公共类simplecamera:单行为
{
静态网络摄像机;
void Start()
{
WebCamDevice[]设备=WebCamTexture.devices;
if(backCam==null)
{
backCam=新的WebCamTexture();
}
GetComponent().texture=backCam;
backCam.Play();
}
}

我建议您从资产商店购买NatCam(),Unity中最糟糕的事情是设备摄像头支持。它甚至不是测试版。它只是一个占位符,而Unity制作了一些实际的软件。你可以花两到三周的时间尝试让设备摄像头与Unity内置的笑话代码一起正常工作。我宁愿去麦当劳工作一天,赚到足够的钱去买它:哦,这是一个巨大的问题,因为太多的应用程序当然需要摄像头!非常感谢@JoeBlow,他在该死的unity相机上帮了我很多:看这个答案,你可以从中提取很多信息:我只希望我有更多的时间来帮助更多!所以我该怎么办?我不明白,我一周前开始学习unity。你能再次解释一下远程调试应用程序是什么意思吗?你是如何将应用程序安装到手机上的?在构建项目和构建并运行中,在我每次使用ctrl+b确定后,这是正确的方法。顺便说一句,你发布的第二个屏幕与这个问题完全无关,这就是我所说的。如果你只买一个插件就好了,而不是跳进意大利面条里。谢谢,还有一个问题,如果我不想买插件,我该如何制作自己的插件,我是说,我想自己打开手机摄像头,而不是用电脑。我该怎么做?