ÉèÖÃLinuxϵͳÒÔÖ§³ÖAR/VRºÍÔöÇ¿ÏÖʵ¿ª·¢
ÉèÖÃlinuxϵͳÒÔÖ§³Öar/vrºÍÔöÇ¿ÏÖʵ¿ª·¢
СÐò£º
Ëæ×ÅÔöÇ¿ÏÖʵ£¨AR£©ºÍÐéÄâÏÖʵ£¨VR£©ÊÖÒÕµÄÉú³¤£¬Ô½À´Ô½¶àµÄ¿ª·¢Õß×îÏȹØ×¢ÕâЩÐÂÐËÁìÓò¡£ÎªÁ˾ÙÐÐAR/VRºÍÔöÇ¿ÏÖʵ¿ª·¢£¬×¼È·ÉèÖÃLinuxϵͳºÜÊÇÖ÷Òª¡£±¾ÎĽ«ÎªÄúÏÈÈÝÔõÑùÉèÖÃlinuxϵͳÒÔÖ§³Öar/vrºÍÔöÇ¿ÏÖʵ¿ª·¢£¬²¢ÌṩÏìÓ¦µÄ´úÂëʾÀý¡£
°ì·¨Ò»£º×°ÖÃÐëÒªµÄÈí¼þ
ÔÚ×îÏÈ֮ǰ£¬ÇëÈ·±£ÄúµÄLinuxϵͳÒѾװÖÃÁËÒÔÏÂÈí¼þ£º
Unity3D£ºUnity3DÊÇÒ»¿îÇ¿Ê¢µÄAR/VRºÍÔöÇ¿ÏÖʵ¿ª·¢¹¤¾ß¡£Äú¿ÉÒÔÔÚUnity¹ÙÍø£¨https://unity3d.com£©ÏÂÔز¢×°ÖÃÊÊÓÃÓÚLinuxµÄUnity¡£
ARCore/ARKit£ºARCore£¨Õë¶ÔAndroid×°±¸£©ºÍARKit£¨Õë¶ÔiOS×°±¸£©ÊÇÁ½¸öÖ÷Á÷µÄARƽ̨¡£Äú¿ÉÒÔƾ֤¹Ù·½ÎĵµµÄÖ¸Òý£¬ÏÂÔز¢×°ÖöÔÓ¦µÄ¿ª·¢°ü¡£
SteamVR£ºSteamVRÊÇÒ»¿îÓÃÓÚVR¿ª·¢µÄ¹¤¾ß¡£×°ÖÃSteamVR֮ǰ£¬ÇëÈ·±£ÄúµÄϵͳÒѾװÖÃÁËSteam¿Í»§¶Ë¡£È»ºó£¬Äú¿ÉÒÔÔÚSteamÉÏÏÂÔز¢×°ÖÃSteamVR¡£
°ì·¨¶þ£ºÉèÖÃAR¿ª·¢ÇéÐÎ
Ê×ÏÈ£¬ÎÒÃÇÐèÒªÉèÖÃAR¿ª·¢ÇéÐΡ£ÒÔARCoreΪÀý£¬ÒÔÏÂÊÇÉèÖÃARCore¿ª·¢ÇéÐεİ취£º
ÏÂÔØARCore¿ª·¢°ü£º
$ wget https://github.com/google-ar/arcore-android-sdk/releases/download/v1.17.0/arcore-android-sdk-1.17.0.tar.gz
µÇ¼ºó¸´ÖÆ
½âѹËõÏÂÔصĿª·¢°ü£º
$ tar -xvzf arcore-android-sdk-1.17.0.tar.gz
µÇ¼ºó¸´ÖÆ
½«½âѹËõºóµÄÎļþ¼ÐÒƶ¯µ½ÄúÏ£ÍûµÄ×°ÖÃĿ¼Ï£º
$ mv arcore-android-sdk-1.17.0 ~/arcore-sdk
µÇ¼ºó¸´ÖÆ
ÉèÖÃÇéÐαäÁ¿£º
·¿ªÄúµÄÖÕ¶ËÉèÖÃÎļþ£¨ÀýÈ磺.bashrc£©²¢Ìí¼ÓÒÔÏÂÄÚÈÝ£º
export ARCORE_HOME=~/arcore-sdk export PATH=$PATH:$ARCORE_HOME/Tools
µÇ¼ºó¸´ÖÆ
ʹÇéÐαäÁ¿ÉúЧ£º
$ source ~/.bashrc
µÇ¼ºó¸´ÖÆ
ÉèÖÃAR¿ª·¢ÇéÐεÄÀú³ÌÀàËÆ£¬Ö»ÐèҪƾ֤¶ÔÓ¦µÄARƽ̨£¬ÏÂÔغÍÉèÖÃÏìÓ¦µÄ¿ª·¢°ü¼´¿É¡£
°ì·¨Èý£ºÉèÖÃVR¿ª·¢ÇéÐÎ
½ÓÏÂÀ´£¬ÎÒÃÇÐèÒªÉèÖÃVR¿ª·¢ÇéÐΡ£ÒÔÏÂÊÇÉèÖÃSteamVR¿ª·¢ÇéÐεİ취£º
×°ÖÃSteamVR£º
·¿ªSteam¿Í»§¶Ë£¬ËÑË÷²¢×°ÖÃSteamVR¡£
½¨ÉèUnityÏîÄ¿£º
·¿ªUnity3D£¬½¨ÉèÒ»¸öеÄÏîÄ¿¡£ÔÚÏîÄ¿ÉèÖÃÖУ¬ÆôÓÃSteamVR²å¼þ¡£
µ¼ÈëSteamVR²å¼þ£º
·¿ªUnity²Ëµ¥Öеġ°Assets¡±£¬Ñ¡Ôñ¡°Import Package¡± -> ¡°Custom Package¡±£¬È»ºóÑ¡ÔñÄúÏÂÔصÄSteamVR¿ª·¢°ü¾ÙÐе¼Èë¡£
ÉèÖÃUnityÏîÄ¿£º
ÔÚUnityÖУ¬·¿ªSteamVRÉèÖÃÃæ°å¡£Äú¿ÉÒÔͨ¹ýÒÀ´ÎÑ¡Ôñ¡°Window¡± -> ¡°SteamVR Input¡±£¬À´ÉèÖúÍÉèÖÃÄúµÄVRÊäÈë×°±¸¡£
×îÏÈVR¿ª·¢£º
ÏÖÔÚÄúÒѾÍê³ÉÁËVR¿ª·¢ÇéÐεÄÉèÖ㬿ÉÒÔ×îÏȱàд×Ô¼ºµÄVRÓ¦ÓóÌÐòÁË¡£
×ܽ᣺
ͨ¹ýÒÔÉÏ°ì·¨£¬ÄúÒѾÀÖ³ÉÉèÖÃÁËLinuxϵͳÒÔÖ§³ÖAR/VRºÍÔöÇ¿ÏÖʵ¿ª·¢¡£ÎÞÂÛÊÇARÕÕ¾ÉVR£¬Í¨¹ýºÏÀíµÄÉèÖúÍʹÓÃÊʵ±µÄ¿ª·¢¹¤¾ß£¬Äú¿ÉÒÔÇáËɽ¨Éè³öÁîÈËÔÞ̾µÄAR/VRºÍÔöÇ¿ÏÖʵӦÓ᣼ÓÓÍ°É£¬ÅóÙÃÇ£¡
¸½Â¼£º´úÂëʾÀý
ÒÔÏÂÊÇÒ»¸ö¼òÆÓµÄUnity¾ç±¾Ê¾Àý£¬ÓÃÓÚÏÔʾARCoreÏà»úµÄÊÓƵÁ÷£º
using System.Collections; using System.Collections.Generic; using UnityEngine; public class ARCameraController : MonoBehaviour { void Start() { Application.RequestUserAuthorization(UserAuthorization.WebCam); } void Update() { if (Application.HasUserAuthorization(UserAuthorization.WebCam)) { for (int i = 0; i < WebCamTexture.devices.Length; i++) { WebCamTexture webcamTexture = new WebCamTexture(i, 1280, 720, 30); Renderer renderer = GetComponent<Renderer>(); renderer.material.mainTexture = webcamTexture; webcamTexture.Play(); } } } }
µÇ¼ºó¸´ÖÆ
ÒÔÉÏ´úÂëʾÀýʹÓÃUnityµÄWebCamTextureÀà»ñÈ¡ARCoreÏà»úµÄÊÓƵÁ÷£¬²¢½«ÊÓƵÁ÷»æÖƵ½ÎïÌåµÄ²ÄÖÊÉÏ¡£
Ï£Íûͨ¹ýÕâЩʾÀý´úÂ룬ÄúÄܸüºÃµØÃ÷È·AR/VRºÍÔöÇ¿ÏÖʵ¿ª·¢µÄÀú³Ì£¬²¢Äܹ»Ó¦Óõ½Äú×Ô¼ºµÄÏîÄ¿ÖС£
ÒÔÉϾÍÊÇÉèÖÃLinuxϵͳÒÔÖ§³ÖAR/VRºÍÔöÇ¿ÏÖʵ¿ª·¢µÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡