服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C# - Unity实现模型点击事件的方法

Unity实现模型点击事件的方法

2022-11-17 13:45DaLiangChen C#

这篇文章主要介绍了Unity实现模型点击事件的方法,本文通过多种方法给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

模型点击事件监听

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

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

方法一

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

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

Unity实现模型点击事件的方法

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 上,(运行,点击模型后结果如下)

Unity实现模型点击事件的方法

方法二

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

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(hitInfo.transform.name);
          }
      }
  }
}

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

Unity实现模型点击事件的方法

方法三

使用Event Trigger 组件

1.场景内添加Event System

Unity实现模型点击事件的方法

Unity实现模型点击事件的方法

2.给 Main Camera 添加 Physics Raycaster 组件

Unity实现模型点击事件的方法

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组件

Unity实现模型点击事件的方法

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

Unity实现模型点击事件的方法

6.运行结果如下

Unity实现模型点击事件的方法

到此这篇关于Unity模型点击事件的文章就介绍到这了,更多相关Unity模型点击事件内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/a451319296/article/details/116518221

延伸 · 阅读

精彩推荐
  • C#一个状态机的实现

    一个状态机的实现

    本文主要介绍了C#实现一个状态机的思路与方法,具有很好的参考价值,下面跟着小编一起来看下吧...

    诺贝尔8472021-12-22
  • C#深入浅析C#中单点登录的原理和使用

    深入浅析C#中单点登录的原理和使用

    这篇文章主要介绍了C#中单点登录的原理和使用,需要的朋友可以参考下...

    农码一生3732022-01-25
  • C#C#读写INI文件的方法

    C#读写INI文件的方法

    这篇文章主要介绍了C#读写INI文件的方法,涉及C#读写ini文件的相关实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下...

    Nozer3982021-10-28
  • C#C# List 并发丢数据问题原因及解决方案

    C# List 并发丢数据问题原因及解决方案

    这篇文章主要介绍了C# List 并发丢数据问题原因及解决方案,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下...

    丹枫无迹11032022-11-02
  • C#Unity实现引导页效果

    Unity实现引导页效果

    这篇文章主要为大家详细介绍了Unity实现引导页效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    贪玩的孩纸时代11352022-09-02
  • C#C#实现文件夹的复制和删除

    C#实现文件夹的复制和删除

    这篇文章主要为大家详细介绍了C#实现文件夹的复制和删除功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    airforce0949642022-02-21
  • C#Unity扩展Hierachry的右键菜单

    Unity扩展Hierachry的右键菜单

    这篇文章主要为大家详细介绍了Unity扩展Hierachry的右键菜单,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    yangrc12344052022-03-10
  • C#unity实现弧形移动 可角度自定

    unity实现弧形移动 可角度自定

    这篇文章主要为大家详细介绍了unity实现弧形移动,可角度自定,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    于子潇9612022-09-16