unity雷达交互
插件:TouchScript
1.相机挂脚本
2.场景中添加脚本
3.新增脚本
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
//需要引入这两个命名空间
using TouchScript;
using TouchScript.Pointers;
public class TuioListener : MonoBehaviour
{
void Start()
{
TouchManager.Instance.PointersPressed += OnPointersPressed;
}
private void OnPointersPressed(object sender, PointerEventArgs e)
{
Debug.Log("[Test] OnPointersPressed");
//打印所有触点信息
IList<Pointer> pointers = e.Pointers;
for (int i = 0; i < pointers.Count; i++)
{
Pointer p = pointers[i];
Debug.LogFormat("Id={0}, Type={1}, Buttons={2}, Position={3}, PreviousPosition={4}, Flags={5}",
p.Id, p.Type, p.Buttons, p.Position.ToString(), p.PreviousPosition.ToString(), p.Flags);
//检测是否点中了3D物体
Raycast(p.Position);
}
}
private Vector3 origin, direction;
private void Update()
{
//在场景中显示射线方便观察调式
Debug.DrawRay(origin, direction, Color.red);
}
//发射射线
private void Raycast(Vector2 screenPoint)
{
Ray ray = Camera.main.ScreenPointToRay(screenPoint);
origin = ray.origin;
direction = ray.direction;
RaycastHit hit;
if (Physics.Raycast(ray, out hit, int.MaxValue))
{
Debug.Log("检测到物体: " + hit.transform.name);
}
}
}
原文地址:http://www.devacg.com/?post=1168