//将C#脚本挂在ARCamera上即可
//Chang.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Chang : MonoBehaviour
{
//设置时间变量
private float touchTime;
//创建触摸判断条件
private bool newTouch = false;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
//判断鼠标左键处于按下状态(在这里判断手指处于按下状态)
if (Input.GetMouseButton(0))
{
//创建一个射线,从相机发出射线,向鼠标指向位置发射(在这里指向手指按下位置发射)
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
//获取射线信息
RaycastHit hitInfo;
//使用默认射线长度和其他默认参数
if (Physics.Raycast(ray, out hitInfo))
{
//判断触摸次数为1(在这里就是指一个手指头)
if (Input.touchCount == 1)
{
//创建触摸对象
Touch touch = Input.GetTouch(0);
//判断手指刚触摸到屏幕时
if (touch.phase == TouchPhase.Began)
{
//设置触摸判断条件
newTouch = true;
//获取从软件开始运行到现在的时间(秒)
touchTime = Time.time;
}
// 判断手指触摸屏幕,但并未移动
else if (touch.phase == TouchPhase.Stationary)
{
//判断满足条件,手指按下,并且按下的时间大于一秒
if (newTouch == true && Time.time-touchTime >1f)
{
//重置触摸判断条件
newTouch=false;
//销毁射线碰撞到的物体
Destroy(hitInfo.collider.gameObject);
}
}
//如果不满足上述条件或手指发生了移动,则重置触摸判断条件
else
{
newTouch = false;
}
}
}
}
}
}