模型点击事件监听

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

需要触发模型点击事件的模型身上必须要挂载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(hitInfo.transform.name);}}}
}

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 QQ交流群:299412191 欢迎对Unity感兴趣的同学加入.

Unity模型点击事件相关推荐

  1. unity 模型加点击事件

    1.相机增加如下组件 2.场景内增加EventSystem 3.选择需要添加点击事件的模型,添加脚本以及Event Trigger;在Event Trigger 内点击加号,增加Pointer Cli ...

  2. OSGEarth模型点击事件

    目录 一.实现模型点击事件 二.添加并设置模型名称 三.绑定模型点击事件 使用OSGEarth进行开发时,有时需要实现点击添加的三维模型,触发某个事件.

  3. Unity ui点击事件只响应最上层ui的方式

    参考链接:(56条消息) u3d UI阻止下层消息和阻止本节点消息的方法_xiuzhentianting的博客-CSDN博客 我的一个需求是点击弹窗部分下层UI不能响应点击事件 做了如下设置实现了功能

  4. Unity实现模型点击

    目前实现模型点击事件有四种方式 首先在要发生点击事件的模型上绑定collider 1.使用unity提供接口OnMouseUp或者OnMouseDown 如果使用此方法,建议添加一个开关,判断鼠标按下 ...

  5. cesium使用primitives加载模型数据,点击事件

    //primitives加载原型模型 var billboards = viewer.scene.primitives.add(new Cesium.BillboardCollection()); f ...

  6. Babylonjs 加载Gltf模型添加动画、点击事件、天空盒、标签

    加载Gltf模型方法.模型点击事件.label标签.天空盒 import React, { useState, useEffect, useRef } from 'react' import TWEE ...

  7. Android中导入Unity项目,界面点击事件失去焦点问题

    ============问题描述============ 1.将Unity中的项目导出成Android项目,再放入到Eclipse中,然后新建一个Android项目,以Unity那个项目为类库. 2. ...

  8. 58 Three.js 通过THREE.Raycaster给模型绑定点击事件

    简介 由于浏览器是一个2d视口,而在里面显示three.js的内容是3d场景,所以,现在有一个问题就是如何将2d视口的x和y坐标转换成three.js场景中的3d坐标.好在three.js已经有了解决 ...

  9. unity 3D物体添加 点击事件

    方法一:物体 挂在 EventTrigger  选择 PointerClick  注册响应方法 相机 必须挂在 PhysicsRaycaster 场景中必须有:EventSystem(一般创建UI自动 ...

最新文章

  1. Typescript学习笔记(二)
  2. 文巾解题 198. 打家劫舍
  3. 01_学习java WEB涉及到的相关技术
  4. python随机生成数字列表_详解Python利用random生成一个列表内的随机数
  5. 发布一个jQuery插件:formStorage
  6. python数据科学指南是什么_Python数据科学实践 | Spyder入门
  7. php_mongo模块,PHP安装mongo模块详细步骤
  8. 六轴UR机械臂标准DH正逆运动学公式推导+代码验证C++
  9. web测试之总流程归纳
  10. CUDA 优化之 PReLU 性能调优
  11. Java二叉树的建立
  12. OpenCV-像素值读写(java版)
  13. 译:手把手教你如何写自定义babel代码转换
  14. Day8:盈利源泉是否可持续(1)
  15. 怎么批量生成100多条短视频素材
  16. 695. 岛屿的最大面积
  17. 微信或QQ屏蔽域名,爆红域名如何在微信打开,如何进行微信域名防封?
  18. 运行期间动态切换Redis数据库
  19. 阿里云两分钟一键极速搭建个人网盘
  20. 浅谈---设计接口测试用例

热门文章

  1. 10分钟搞定 SpringBoot 如何优雅读取配置文件?
  2. MSN:移花接木巧玩“QQ秀”(转)
  3. 什么是零拷贝技术(Zero Copy)?
  4. ButterKnife 牛油刀使用
  5. android读取hex文件格式,轻松解包MIUI备份bak文件 还原出明文数据
  6. VL01N/VL02N-发货单增强:MV50AFZ1
  7. 2022双十一7950x主机配置即简单测试
  8. comsol随机纤维 纤维混凝土建模
  9. python中info的功能_在python中,模块对象的info属性包含什么?
  10. DameWare remote control工具远程时“找不到网络路径”错误提示67