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(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模型点击事件相关推荐
- unity 模型加点击事件
1.相机增加如下组件 2.场景内增加EventSystem 3.选择需要添加点击事件的模型,添加脚本以及Event Trigger;在Event Trigger 内点击加号,增加Pointer Cli ...
- OSGEarth模型点击事件
目录 一.实现模型点击事件 二.添加并设置模型名称 三.绑定模型点击事件 使用OSGEarth进行开发时,有时需要实现点击添加的三维模型,触发某个事件.
- Unity ui点击事件只响应最上层ui的方式
参考链接:(56条消息) u3d UI阻止下层消息和阻止本节点消息的方法_xiuzhentianting的博客-CSDN博客 我的一个需求是点击弹窗部分下层UI不能响应点击事件 做了如下设置实现了功能
- Unity实现模型点击
目前实现模型点击事件有四种方式 首先在要发生点击事件的模型上绑定collider 1.使用unity提供接口OnMouseUp或者OnMouseDown 如果使用此方法,建议添加一个开关,判断鼠标按下 ...
- cesium使用primitives加载模型数据,点击事件
//primitives加载原型模型 var billboards = viewer.scene.primitives.add(new Cesium.BillboardCollection()); f ...
- Babylonjs 加载Gltf模型添加动画、点击事件、天空盒、标签
加载Gltf模型方法.模型点击事件.label标签.天空盒 import React, { useState, useEffect, useRef } from 'react' import TWEE ...
- Android中导入Unity项目,界面点击事件失去焦点问题
============问题描述============ 1.将Unity中的项目导出成Android项目,再放入到Eclipse中,然后新建一个Android项目,以Unity那个项目为类库. 2. ...
- 58 Three.js 通过THREE.Raycaster给模型绑定点击事件
简介 由于浏览器是一个2d视口,而在里面显示three.js的内容是3d场景,所以,现在有一个问题就是如何将2d视口的x和y坐标转换成three.js场景中的3d坐标.好在three.js已经有了解决 ...
- unity 3D物体添加 点击事件
方法一:物体 挂在 EventTrigger 选择 PointerClick 注册响应方法 相机 必须挂在 PhysicsRaycaster 场景中必须有:EventSystem(一般创建UI自动 ...
最新文章
- Typescript学习笔记(二)
- 文巾解题 198. 打家劫舍
- 01_学习java WEB涉及到的相关技术
- python随机生成数字列表_详解Python利用random生成一个列表内的随机数
- 发布一个jQuery插件:formStorage
- python数据科学指南是什么_Python数据科学实践 | Spyder入门
- php_mongo模块,PHP安装mongo模块详细步骤
- 六轴UR机械臂标准DH正逆运动学公式推导+代码验证C++
- web测试之总流程归纳
- CUDA 优化之 PReLU 性能调优
- Java二叉树的建立
- OpenCV-像素值读写(java版)
- 译:手把手教你如何写自定义babel代码转换
- Day8:盈利源泉是否可持续(1)
- 怎么批量生成100多条短视频素材
- 695. 岛屿的最大面积
- 微信或QQ屏蔽域名,爆红域名如何在微信打开,如何进行微信域名防封?
- 运行期间动态切换Redis数据库
- 阿里云两分钟一键极速搭建个人网盘
- 浅谈---设计接口测试用例
热门文章
- 10分钟搞定 SpringBoot 如何优雅读取配置文件?
- MSN:移花接木巧玩“QQ秀”(转)
- 什么是零拷贝技术(Zero Copy)?
- ButterKnife 牛油刀使用
- android读取hex文件格式,轻松解包MIUI备份bak文件 还原出明文数据
- VL01N/VL02N-发货单增强:MV50AFZ1
- 2022双十一7950x主机配置即简单测试
- comsol随机纤维 纤维混凝土建模
- python中info的功能_在python中,模块对象的info属性包含什么?
- DameWare remote control工具远程时“找不到网络路径”错误提示67