当前位置: 首页 > news >正文

湛江市手机网站建设企业个人网站设计的意义

湛江市手机网站建设企业,个人网站设计的意义,胶州专业网站建设公司,无网站做百度推广目录 射线一些准备工作编写代码 突然发现好像没有写过关于射线的内容#xff0c;我就说怎么总感觉好像少了什么东西#xff08;心虚 那就在这里写一下关于射线的内容吧#xff0c;将在这里实现射线检测鼠标点击的功能 射线 射线是一种在Unity中检测碰撞器或触发器的方法我就说怎么总感觉好像少了什么东西心虚 那就在这里写一下关于射线的内容吧将在这里实现射线检测鼠标点击的功能 射线 射线是一种在Unity中检测碰撞器或触发器的方法可以用来实现一些交互效果如鼠标点击物体射击游戏射线跟踪等。射线需要有一个起点和一个方向可以通过代码创建或者使用Camera.main.ScreenPointToRay方法从摄像机发出。射线检测的结果可以通过RaycastHit结构体获取包括碰撞点碰撞物体碰撞法线等信息。射线检测还可以指定检测的层级距离角度等参数以提高性能和精度 碰撞检测可以帮助我们实现诸如抵达某个地点自动触发剧情、判断子弹是否击中玩家等功能但我如果想要实现如当鼠标悬浮某个人物上自动弹出该人物信息要如何判断呢这时使用碰撞检测从摄像机生成一个透明碰撞体朝着人物移动等碰撞到了人物再弹出该人物信息会不会太繁琐了。或许你又会想若我直接生成一个足够长的透明碰撞体呢是不是在创建的那一刻就可以触发该人物的弹出信息逻辑没错这样的确可以而这就是射线不过是把无限长的透明碰撞体变为了无限长的一条线仅此而已 一些准备工作 新建一个物体或者对象反正就是类似的东西使得摄像机也就是MainCamera能看到它也能是我们能够触摸到它毕竟我们需要一个可以看到的物体来发射射线以达到我们想要的结果给这个物体添加刚体组件不然怎么进行碰撞检测 编写代码 private void learnRay() {if (Input.GetMouseButtonDown(0)){//创建一道射线Ray ray Camera.main.ScreenPointToRay(Input.mousePosition);//检测射线if (Physics.Raycast(ray,out RaycastHit hitInfo)){//hitInfo.transform.Translate(transform.up * 10);//Debug.Log(hitInfo.transform.name);//rb.AddForce(transform.up * 500);//Debug.Log(hitInfo.transform.name);//Debug.Log(hitInfo.point);//hitInfo.point; //射线撞击点GameObject shell Instantiate(Sphere,transform.positiontransform.right*offset,transform.rotation);shell.GetComponentRigidbody().velocity Vector3.Normalize(hitInfo.point - transform.position) * 20;// 计算小球的动量//Vector3 ballMomentum shell.GetComponentRigidbody().velocity * shell.GetComponentRigidbody().mass;// 给物体施加一个与小球相反方向的同等大小的力抵消小球的反作用力//rb.AddForce(-ballMomentum, ForceMode.Impulse);}} }碰撞检测也不能少 //碰撞检测的方法 private void OnCollisionEnter(Collision collision)//碰撞发生时 {//Destroy(collision.transform.gameObject);Debug.Log(刚碰到); } private void OnCollisionExit(Collision collision)//碰撞结束时 {Debug.Log(碰完了); } private void OnCollisionStay(Collision collision)//正在碰撞时 {Debug.Log(); } private void OnTriggerEnter(Collider other) {Debug.Log(进来); } private void OnTriggerStay(Collider other) {//Debug.Log(other.transform.name);//rb.AddForce(transform.up * 50);rb.AddForce(transform.up*10);} private void OnTriggerExit(Collider other) {Debug.Log(run); }当然在这个脚本中采用的方法是预先准备一个预制体也就是代码中的“Sphere”所以同时需要预先准备一个预制体无所谓是什么但是要和代码中相对应否则会出现一些不可预料的问题 挂载脚本后运行 每当鼠标点击的时候就会触发射线对预制体进行复制来发射一个小球
http://www.hkea.cn/news/14551188/

相关文章:

  • seo网站地图怎么做自己做网站不推广
  • 网站制作案例wordpress集成关注公众和登陆
  • 网站域名 空间申请表地方电商门户网站如何建设
  • 网站定制公司哪家最权威wordpress产品列表
  • 北京网站搭建开发怎么做网站扫描
  • 网站建设须知广州市数商云
  • 企业官方网站模板下载如何跟客户沟通网站建设
  • 建站智能模板中国建设工程招聘信息网站
  • 乐清建设路小学校园网站wordpress主题开发工具
  • 网站建设与管理心得wordpress 极简主题
  • 内蒙古建设厅建筑网站国内优秀包装设计作品赏析
  • 东莞市做网站的东莞优化哪家好
  • 网站做seo需要大量文章滨海新区做网站电话
  • 好网站开发公司网站服务器解决方案
  • 网站宣传营销专业制作网页的公司
  • 企业展厅设计哪些内容中小型企业网站优化
  • 做网站自己上传电影要多大服务器关于WordPress的摘要
  • 商城网站内容模块有哪些淮北论坛官网app
  • 厦门建设工程招标中心的网站广元市规划和建设局网站
  • 商业网站如何备案用wordpress付费网站
  • 佛山免费建站公司wordpress close
  • 天津网站建设方案报价网站建设的完整流程图
  • 企业网站一般要素电商网站开发人员配置
  • php做网站中下一步按钮公司域名备案怎么弄
  • 国际摄影网站注册装修公司要多少钱才能注册
  • 淘宝联盟怎么自己做网站wordpress 分享至微信
  • 遵义网站建设公司安徽省建设厅网站证书查询
  • 上饶网站优化线上营销图片
  • html网站服务器搭建高校校园网站建设的要求
  • 网站设计师和ui设计师数码科技网站