【Unity笔记】经典的鼠标点击射线检测碰撞
void Update (){
if(Input.GetMouseButton()){
//从摄像机发出到点击坐标的射线
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hitInfo;
if(Physics.Raycast(ray,out hitInfo)){
//划出射线,只有在scene视图中才能看到
Debug.DrawLine(ray.origin,hitInfo.point);
GameObject gameObj = hitInfo.collider.gameObject;
Debug.Log("click object name is " + gameObj.name);
//当射线碰撞目标为boot类型的物品,执行拾取操作
if(gameObj.tag == "boot"){
Debug.Log("pickup!");
}
}
}
}
【Unity笔记】经典的鼠标点击射线检测碰撞的更多相关文章
- 【Unity笔记】获得鼠标点击屏幕的位置,并转成世界坐标
Vector3 pos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
- unity3D基础学习 通过判断鼠标点击的是否是目标物体,物体旋转,滑动滚轮缩放拉近视角
贴代码: 摄像机的拉近视角代码: public Transform target; public float minFov = 15f; public float maxFov = 7 ...
- Unity——射线检测(鼠标点击开关门效果)
Unity射线检测--实现简单的开关门效果 简要:通过鼠标点击来发射一条射线,来获得射线所碰到的物体名称,再通过改变门的Rotation值来实现开关门的效果. 一.代码实现 1.1 简易的场景搭建 注 ...
- unity提高----------射线使用【unity3d 怎样获得当前鼠标点击的对象】
unity3d 怎样获得当前鼠标点击的对象 最佳答案 var ray = Camera.main.ScreenPointToRay (Input.mousePosition);var hit : ...
- unity中让物体移动到鼠标点击地面任一点的位置(单击移动和双击暂停移动)并生成图标
using UnityEngine; using System.Collections.Generic; using UnityEngine.EventSystems; using UnityEngi ...
- unity中让摄像机移动到鼠标点击的位置和鼠标控制平移视角
private Vector3 targetVector3; private float movespeed=0.5f; private bool IsOver = true; private Gam ...
- Layabox 3D游戏开发学习笔记---射线检测,鼠标控制物体运动
核心要点:3D物体碰撞是靠射线检测,射线与碰撞器相撞获取对应的碰撞点信息. class RayPicking03 { private ray: Laya.Ray; private point: Lay ...
- Unity —— 通过鼠标点击控制物体移动
//ClickMove - - 通过鼠标点击控制物体移动 using System.Collections; using System.Collections.Generic; using Unity ...
- Unity的学习笔记(射线检测)
首先,射线检测的API是这样的,网上找了一下,这个图片看得很清楚: 接下来是自己使用这个进行测试 using System.Collections; using System.Collections. ...
随机推荐
- 转载:在PHP语言中使用JSON和将json还原成数组
一.json_encode() 1 2 3 4 <?php $arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5); e ...
- HDUOJ---1241Oil Deposits(dfs)
Oil Deposits Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Tota ...
- 机器学习中的 ground truth
维基百科关于 ground truth的解释: [Ground truth] 大致为: 在统计学和机器学习中:在机器学习中ground truth表示有监督学习的训练集的分类准确性,用于证明或者推翻某 ...
- eclipse修改文件编码
http://topic.csdn.net/u/20080724/14/428de399-790d-442a-8340-3a5fb6dcfcee.html[修改文件编码,假设JS] 在Eclips ...
- C#单线程内存占用过大导致无法创建新的对象
https://msdn.microsoft.com/zh-cn/library/8cxs58a6.aspx 按照csdn原文 默认分配的堆栈大小为1mb 可以通过maxstacksize改变默认 ...
- DataTime? 的 GetValueOrDefault() 方法
DataTime? 转换为 DataTime类型 就可以调用 ToString() 自定义格式 @item.CreateDate.GetValueOrDefault().ToString(" ...
- RHCE7 管理II-4计划将来的Linux任务
(1) at 一次性的计划任务 语法: # at [参数] [时间] at> 执行的指令 退出at命令 ctrl+d [root@localhost ~]# at now at> mkdi ...
- 共享内存简介和mmap 函数
一.共享内存简介 共享内存区是最快的IPC形式,这些进程间数据传递不再涉及到内核,换句话说是进程不再通过执行进入内核的系统调用来传递彼此的数据. 即每个进程地址空间都有一个共享存储器的映射区,当这块区 ...
- 实战:MySQL Sending data导致查询很慢的问题详细分析(转)
这两天帮忙定位一个MySQL查询很慢的问题,定位过程综合各种方法.理论.工具,很有代表性,分享给大家作为新年礼物:) [问题现象] 使用sphinx支持倒排索引,但sphinx从mysql查询源数据的 ...
- 如何安装rockmongo(gui for mongodb)
1.下载rockmongo 下载地址: http://rockmongo.com/downloads 将下载下来的压缩包rockmongo-1.1.5.zip解压到web 发布目录(我这里使用的是ap ...