用EasyAR SDK開發 視+APP 效果(中)

weixin_34357887發表於2017-03-17


第一部分:前言

EasyAR 開發與學習:605785368

個人微信公眾(AR開發者):AR 開發者的樂園,提供與EasyAR,Vuforia,Google Tango,太虛AR,HiAR等AR技術相關的乾貨與案例

在上一篇章中,我們實現了手指對火男這一AR模型的互動,這一課時,我打算來教大家實現實現點選螢幕AR模型運動到指定位置。


預覽(PS:在開發操作中,我沒有使用視訊演示中的模型,在這裡只分享自己的實現方法)

第二部分:開發前準備

相關資源:怪物模型:連結:https://pan.baidu.com/s/1nv165mD密碼: s8s6

在這裡,我只提供自己的一種實現方法,當然實現這種效果可以有很多方法。

首先,我們先建一個plane,修改大小為(2,2,2)


然後,接下來,修改其Tag為Ground


最重要的一部分,關閉其Renderer,使其不顯示,在這裡我們只要Mesh Collider




第三部分:編寫程式碼

首先我們先在AR模型新建個指令碼,在這裡我們用射線檢測的方法來實現。

我們用Input.touchCount 先判斷是否有觸控事件,然後獲取Input.GetTouch(0).position ,觸控手機的位置,然後射線檢測,實現移動,完整程式碼如下:

using UnityEngine;
using System.Collections;

public class Player : MonoBehaviour {
private Vector3 clickPosion;
public float speed = 5f;


void Start()
{
  clickPosion = transform.position;
}
void Update()
{

if (Input.touchCount > 0) {
Ray ray = Camera.main.ScreenPointToRay(Input.GetTouch (0).position);
RaycastHit hit;
Physics.Raycast(ray, out hit);
try
{
if (hit.collider.tag == "Ground") //獲取點選位置的世界座標
{
Vector3 v = hit.point;
clickPosion = new Vector3(v.x, transform.position.y, v.z);
transform.LookAt(clickPosion);
} 

}
catch
{


}
iTween.MoveTo(gameObject, clickPosion, 4f);

}



}
}複製程式碼



相關文章