Unity实现模型点击事件的方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Unity实现模型点击事件的⽅法模型点击事件监听
触发模型点击事件的必要条件
需要触发模型点击事件的模型⾝上必须要挂载Collider 组件
⽅法⼀
通过 OnMouseDown 函数监听(只能在PC端有效)
1.在Hierarchy ⾯板中右键,点击 3D Object->Cube 按钮,创建⼀个 Cube 模型
2.新建⼀个脚本,命名为“Test.cs”(代码如下)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Test2 : MonoBehaviour
{
private void OnMouseDown()
{
Debug.Log("OnMouseDown");
}
}
3.将 Test.cs 脚本,挂载到Cube 上,(运⾏,点击模型后结果如下)
⽅法⼆
通过射线检测事件监听(所有平台都可以执⾏,推荐使⽤这种⽅式)
1.新建⼀个脚本,命名为“ColliderEvent.cs”(代码如下)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ColliderEvent : MonoBehaviour
{
private void Update()
{
if(Input.GetMouseButtonDown(0))
{
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hitInfo;
if(Physics.Raycast(ray,out hitInfo))
{
Debug.Log();
}
}
}
}
2.将 ColliderEvent 脚本,挂载到 Main Camera 上,(运⾏,点击模型后结果如下)
⽅法三
使⽤Event Trigger 组件
1.场景内添加Event System
2.给 Main Camera 添加 Physics Raycaster 组件
3.新建⼀个脚本,命名“Test2.cs”。
(代码如下)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Test2 : MonoBehaviour
{
private void OnMouseDown()
{
Debug.Log("OnMouseDown");
}
}
4.在Cube 模型上添加EvenTrigger组件
5.点击 Add New Event Type 按钮,选择事件类型,并将 Test2.cs 脚本,添加到场景中,选择点击后触发的函数为OnClickModel()
6.运⾏结果如下
到此这篇关于Unity模型点击事件的⽂章就介绍到这了,更多相关Unity模型点击事件内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!。