写作时间:2019/8/18

射线检测是游戏开发中常用的功能,下面提供两个射线检测的实现脚本

脚本1
在场景当中新建一个空物体,将脚本赋予该物体,运行程序,如果按下鼠标左键时,其所在位置产生的射线和物体相交,那么物体颜色发生改变

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class Manager : MonoBehaviour
{void Update(){if(Input.GetMouseButtonDown(0)){Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);RaycastHit hit;bool isCollider = Physics.Raycast(ray,out hit);if(isCollider){hit.collider.gameObject.GetComponent<Renderer>().material.color = Color.black;}}}
}

脚本2
将该脚本赋给某个具体对象,当鼠标放在上面时,物体变色,移开时变成另外一种颜色

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class Capsule : MonoBehaviour
{private void OnMouseEnter(){GetComponent<Renderer>().material.color = Color.red;}private void OnMouseExit(){GetComponent<Renderer>().material.color = Color.white;}
}

Unity射线检测实例相关推荐

  1. unity 射线检测 碰撞点不准确的原因分析

    unity 射线检测 碰撞点不准确的原因分析 射线检测的时候,出现了碰撞的那个点位置总是上下不准确,但屏幕中心位置不受影响,越远离中心,越偏移. 无论是用鼠标,还是ui上的坐标都不准确. 下面是代码 ...

  2. [Unity][射线检测]检测两个物体之间是否有其他物体阻挡

    1.用Physics.Raycast进行射线检测 物体必须有Collider碰撞组件. //定义一条射线,起点为GO1的物体坐标,终点为GO2的物体坐标 Ray ray = new Ray(GO1.t ...

  3. unity射线检测高速飞行的子弹是否打到敌人

    利用射线检测,检测两帧子弹位置连线是否碰撞敌人,并改变敌人状态. 控制敌人射出的子弹的类如下: using System.Collections; using System.Collections.G ...

  4. Unity射线检测的用法总结

    RayCast 射线检测 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人! (拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分享. ...

  5. 《Unity 射线检测》球形方向投射

    球形方向投射有两种. 1.Physics.SphereCast 粗略的返回碰撞信息以及碰撞到的第一个碰撞详细信息,如果不需要获得全部的碰撞信息的话,可以用这个. 2.Physics.SphereCas ...

  6. 直播笔记 | Unity中射线检测详解

    本文首发于洪流学堂微信公众号. 洪流学堂,学Unity快人几步 你好,我是郑洪智,你的技术探路者. 这周三我们直播剖析了Unity中射线检测的功能,以下是直播内容精华部分笔记. 完整录播:https: ...

  7. Unity学习之Physic.Raycast(射线检测)个人理解分享

    Physics.Raycast参数 public static bool Raycast(Vector3 origin, Vector3 direction, out RaycastHit hitIn ...

  8. Unity 射线与碰撞范围检测【踩坑记录】

    射线检测 射线检测在2D和3D的区别比较大 一定要加上对应的Collider组件 对应的函数只检测对应的Collider,Physics.Raycast是不会检测到Collider 2D的(这个让我有 ...

  9. Unity中的射线检测

    using System.Collections; using System.Collections.Generic; using UnityEngine;public class Lesson23 ...

  10. Unity 2019 射线检测失效

    之前在做毕设的一个FPS游戏时,遇到了使用射线检测失效的情况,特此记录以下. 前因 在FPS游戏中,对于子弹的发射主要通过两种方式来实现. 一种可以通过实例化子弹的GameObject对其施加物理效果 ...

最新文章

  1. python 打印数组变量_使用Python将数组的元素导出到变量中(unpacking)
  2. 面向对象的5个基本设计原则
  3. POJ3080方法很多(暴力,KMP,后缀数组,DP)
  4. Python入门学习(四)
  5. 3DSlicer11:体系结构2
  6. SAP MES接收生产订单及工艺路线
  7. 深入理解STM32内存管理
  8. 激怒开源社区,微软悄悄删除2500行功能代码后致歉:已恢复!
  9. java线程本地存储_[并发并行]_[C/C++]_[使用线程本地存储Thread Local Storage(TLS)-win32和pthread比较]...
  10. 火狐浏览器怎么安装未经认证的附加组件
  11. 8位深, 16位深,24位深,32位深图片显示原理及对比
  12. 猪年适合学什么编程语言?
  13. win32-x64-64\binding.node is not a valid Win32 application
  14. Wing-新一代百度大数据查询引擎
  15. Python将PDF转换为图片
  16. 初识云计算————虚拟化背景
  17. java正则表达式 工具类_Hutool之正则表达式工具类——ReUtil
  18. linux下mkdir出现mkdir(): File exists错误
  19. layui设置td宽度_layui静态表格固定td宽度,table固定td宽度
  20. 掌上生活显示服务器忙,掌上生活服务端

热门文章

  1. 伍斯特理工学院计算机硕士怎么样,伍斯特理工学院硕士怎么样?
  2. PHP一句话木马,中国菜刀
  3. HBuilderX前端html功能拓展应用
  4. Web Science笔记 Emotion, Event detection
  5. Java方法的重载和重写
  6. “天鹅”类谜解大全!-
  7. 浏览器transform介绍
  8. 怎么样计算机械功率,电功率与机械功率的换算公式
  9. 为什么微信无法打开html文件,微信网页版打不开怎么办?微信网页版无法打开的解决方法...
  10. excel导入,用反射匹配字段名