iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Unity如何实现模型点击事件
  • 838
分享到

Unity如何实现模型点击事件

2023-06-15 01:06:29 838人浏览 独家记忆
摘要

这篇文章给大家分享的是有关Unity如何实现模型点击事件的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。模型点击事件监听触发模型点击事件的必要条件需要触发模型点击事件的模型身上必须要挂载Collider 

这篇文章给大家分享的是有关Unity如何实现模型点击事件的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

模型点击事件监听

触发模型点击事件的必要条件

需要触发模型点击事件的模型身上必须要挂载Collider 组件

方法一

通过 OnMouseDown 函数监听(只能在PC端有效)

在Hierarchy 面板中右键,点击 3D Object->Cube 按钮,创建一个 Cube 模型

Unity如何实现模型点击事件

新建一个脚本,命名为“Test.cs”(代码如下)

using System.Collections;using System.Collections.Generic;using UnityEngine; public class Test2 : MonoBehaviour{    private void OnMouseDown()    {        Debug.Log("OnMouseDown");    }}

将 Test.cs 脚本,挂载到Cube 上,(运行,点击模型后结果如下)

Unity如何实现模型点击事件

  方法二

通过射线检测事件监听(所有平台都可以执行,推荐使用这种方式)

新建一个脚本,命名为“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(hitInfo.transfORM.name);            }        }    }}

将 ColliderEvent 脚本,挂载到 Main Camera 上,(运行,点击模型后结果如下)

Unity如何实现模型点击事件

方法三

使用Event Trigger 组件

场景内添加Event System

Unity如何实现模型点击事件

Unity如何实现模型点击事件

给 Main Camera 添加 Physics Raycaster 组件

Unity如何实现模型点击事件

新建一个脚本,命名“Test2.cs”。(代码如下)

using System.Collections;using System.Collections.Generic;using UnityEngine; public class Test2 : MonoBehaviour{    private void OnMouseDown()    {        Debug.Log("OnMouseDown");    }}

在Cube 模型上添加EvenTrigger组件

Unity如何实现模型点击事件

点击 Add New Event Type 按钮,选择事件类型,并将 Test2.cs 脚本,添加到场景中,选择点击后触发的函数为 OnClickModel()

Unity如何实现模型点击事件

运行结果如下

Unity如何实现模型点击事件

感谢各位的阅读!关于“Unity如何实现模型点击事件”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: Unity如何实现模型点击事件

本文链接: https://www.lsjlt.com/news/276291.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • c语言怎么读入字符串中的数字符号
    使用 atoi() 函数可以将字符串中的数字转换为整数,具体步骤如下:包含 stdlib.h 头文件。使用 atoi() 函数,用法为:int num = atoi(str);其中 st...
    99+
    2024-05-14
    c语言
  • c语言怎么查找文件中的数据
    c 语言中查找文件中的数据步骤:打开文件;定位到数据点;读取数据;关闭文件。 如何使用 C 语言查找文件中的数据 在 C 语言中,可以通过以下步骤查找文件中的数据: 打开文件:使用...
    99+
    2024-05-14
    c语言
  • c语言怎么求回文数
    c 语言求回文数的方法:1. 读取数字;2. 循环反转数字;3. 比较反转后数字与原始数字;4. 相等则为回文数,否则不是。 如何使用 C 语言求回文数 什么是回文数? 回文数是指从左...
    99+
    2024-05-14
    c语言
  • 如何在 Golang 中从 panic 中恢复?
    在 go 中,使用 recover 函数从 panic 中恢复,该函数从函数栈中返回最近的 panic 值。实战中,可以处理 io.eof 异常,例如:打开文件,使用 defer 捕获 ...
    99+
    2024-05-14
    golang panic
  • c语言怎么判断一个数是整数
    判断一个数在 c 语言中是否为整数:使用 fmod() 函数计算该数除以 1 的余数。如果余数为 0,则该数是整数;否则,该数不是整数。 如何判断一个数在 C 语言中是否为整数 在 C...
    99+
    2024-05-14
    c语言
  • 如何在 Golang 并发环境中处理错误?
    在 go 并发环境中处理错误的有效方法包括:异常处理(panic/recover): 适用于处理意外错误,通过 panic 引发异常,再用 recover 捕获。错误通道: 用来将并发 ...
    99+
    2024-05-14
    golang 错误处理
  • c语言怎么跳出两层for循环
    直接跳出两层 c 语言嵌套 for 循环的方法有三种:使用 break 语句直接跳出。使用 goto 语句跳转到指定标签,继续执行。使用标志变量记录跳出条件,外部 for 循环根据标志值...
    99+
    2024-05-14
    c语言
  • c语言怎么让制表对齐
    c语言中可通过以下两种方法对齐制表符:使用printf()函数的%n和%*c格式说明符计算字节偏移量并插入制表符。使用snprintf()函数将数据写入缓冲区,计算偏移量,写入制表符字符...
    99+
    2024-05-14
    c语言
  • C++ 智能指针和内存管理在高性能服务器架构中的重要性
    在高性能服务器架构中,c++++智能指针通过以下方式优化了内存管理:自动内存释放:超出作用域时释放内存。防止内存泄漏:确保不再需要对象时释放内存。跟踪资源所有权:便于调试和错误处理。常见...
    99+
    2024-05-14
    c++ 内存管理 作用域
  • 用c语言怎么判断素数
    判断素数的方法有蛮力法和埃拉托斯特尼筛法。蛮力法通过逐一尝试从 2 到数字平方根的取模来判断素数,若取模结果有 0 则不是素数。埃拉托斯特尼筛法利用标记数组来跟踪从 2 到给定范围的素数...
    99+
    2024-05-14
    c语言
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作