Unity - A计划(永久有效期) 扫二维码继续学习 二维码时效为半小时

(197评价)
价格: 4431.00元
关于场景坐标和现实坐标的问题?
Rookie发起了问答2017-03-27
1
回复
904
浏览

Unity场景里xyz轴如何与现实场景的东西南北联系起来?我想做类似"随便走"这样的AR地图,现在遇到一个问题就是:我选取了在我现实位置东北角的几个经纬度坐标点,在有的手机上是正常创建的,就是在我现实的东北角,手机旋转的时候也会跟着摄像头相对移动的,但在有的手机上却方向正好相反,代码是下面这样的:(求老师指点关于场景坐标和现实坐标的对应转换,我现在是根据经纬度差算的X,和Z)

  1.  public List<PlaceInfo> places = new List<PlaceInfo>();  
  2.     public GameObject perfab;  
  3.     public PlaceInfo location = new PlaceInfo ();  
  4.   
  5.     public void ShowPlaces(){  
  6.         ClearPlace ();  
  7.   
  8.         for (int i = 0; i < places.Count; i++) {  
  9.   
  10.             GameObject newPlace = Instantiate<GameObject> (perfab);  
  11.             newPlace.transform.parent = this.transform;  
  12.   
  13.             double posZ = places [i].Latitude - location.Latitude;  
  14.             double posX = places [i].Longitude - location.Longitude;  
  15.   
  16.             float z = 0;  
  17.             float x = 0;  
  18.             float y = 0;  
  19.   
  20.             if (posZ > 0) {  
  21.                 z = 500f;  
  22.             } else {  
  23.                 z = -500f;  
  24.             }  
  25.   
  26.             if (posX > 0) {  
  27.                 x = 500f;  
  28.             } else {  
  29.                 x = -500f;  
  30.             }  
  31.   
  32.             z = z + (float)(posZ * 1000);  
  33.             x = x + (float)(posX * 1000);  
  34.             y = y + i * 20;  
  35.   
  36.             newPlace.transform.position = new Vector3 (x, y, z);  
  37.             newPlace.transform.LookAt (this.transform);  
  38.             newPlace.transform.Rotate (new Vector3 (0f, 180f, 0f));  
  39.   
  40.             newPlace.gameObject.GetComponentInChildren<Text> ().text = places [i].Name;  
  41.         }  
  42.     }  
  43.   
  44.     private void ClearPlace(){  
  45.         GameObject[] oldPlaces = GameObject.FindGameObjectsWithTag ("Place");  
  46.         for (int i = 0; i < oldPlaces.Length; i++) {  
  47.             Destroy (oldPlaces [i].gameObject);  
  48.         }  
  49.     }  
所有回复
  • Rookie 2017-03-27

    这是我创建的景点坐标,问题就是我东北角的坐标有时候会创建在我场景里的西南角

    还有-5条回复,点击查看
    你还没有登录,请先登录注册
发表回复
你还没有登录,请先 登录或 注册!