在Unity3d中为iPhone和Android打开设备相机

jos*_*osh 5 iphone unity-game-engine android-camera

我正在开发一个应用程序,我需要在全视图中打开设备相机,我正在为iOS和Android制作这个应用程序.那么任何人都可以告诉我,如何在Unity中为所有Android和iPhone设备打开全屏设备相机.这对我很有帮助.提前致谢.

swi*_*Boy 15

在对谷歌和官方文档进行了一些挖掘之后.我得到了解决方案,我将与你分享,它有助于某人......总有一天......

1.创建新项目.

2.在GameObject中选择Main Camera并通过Inspector更改Transform

位置X = -90 Y = 785 Z = 0旋转X = 90 Y = 90 Z = 0标度X = 1 Y = 1 Z = 1

在此输入图像描述

3.现在去GameObject - > Create Other - > Plane.

4.在GameObject中选择主摄像头

4.1通过Inspector更改转换

位置X = 0 Y = 0 Z = 0旋转X = 0 Y = 0 Z = 0标度X = 100 Y = 100 Z = 100 在此输入图像描述

4.2更改Tag = Player

现在创建名为"CameraController"的ac#脚本,并用下面的代码替换代码

using UnityEngine;
using System.Collections;

public class CameraController : MonoBehaviour
{
        public WebCamTexture mCamera = null;
        public GameObject plane;

        // Use this for initialization
        void Start ()
        {
                Debug.Log ("Script has been started");
                plane = GameObject.FindWithTag ("Player");

                mCamera = new WebCamTexture ();
                plane.renderer.material.mainTexture = mCamera;
                mCamera.Play ();

        }

        // Update is called once per frame
        void Update ()
        {

        }
}
Run Code Online (Sandbox Code Playgroud)

5.最后保存并将此脚本文件拖到"Plane"GameObject上

注意 - 您可能会在Unity游戏视图中看到预览旋转,但在RealDevice上它运行良好.在iPhone5和Android上测试 - Nexus 5.

如果您将旋转角度更改为180,则快照是如何实现的: 在此输入图像描述


Cal*_*vin 6

如果您的意思是想要使用相机拍摄和保存照片,我建议使用Prime31的iOS和Android插件.不幸的是,Etcetera插件每个平台只需65美元,但我已经使用过它们并且效果很好.

http://u3d.as/content/prime31/i-os-etcetera-plugin/2CU

http://u3d.as/content/prime31/android-etcetera-plugin/2CY

如果您只想在应用程序场景中显示摄像机的实时输出,则可以创建一个平面并使用WebCamTexture显示摄像机的实时视频输出.

http://docs.unity3d.com/Documentation/ScriptReference/WebCamTexture.html