第一部分:前言
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);
}
}
}複製程式碼