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

网站开发外包合同范本wordPress如何把菜单加入导航

网站开发外包合同范本,wordPress如何把菜单加入导航,网站怎么做利于优化,做的好微信商城网站吗目录 射线一些准备工作编写代码 突然发现好像没有写过关于射线的内容,我就说怎么总感觉好像少了什么东西(心虚 那就在这里写一下关于射线的内容吧,将在这里实现射线检测鼠标点击的功能 射线 射线是一种在Unity中检测碰撞器或触发器的方法&am…

目录

  • 射线
  • 一些准备工作
  • 编写代码

突然发现好像没有写过关于射线的内容,我就说怎么总感觉好像少了什么东西(心虚
那就在这里写一下关于射线的内容吧,将在这里实现射线检测鼠标点击的功能

射线

射线是一种在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.position+transform.right*offset,transform.rotation);shell.GetComponent<Rigidbody>().velocity = Vector3.Normalize(hitInfo.point - transform.position) * 20;// 计算小球的动量//Vector3 ballMomentum = shell.GetComponent<Rigidbody>().velocity * shell.GetComponent<Rigidbody>().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.yayakq.cn/news/303409/

相关文章:

  • 做二手车网站需要什么手续费网站建设的英语
  • 江门cms模板建站瓜子网网站建设策划书
  • 无锡市政建设集团有限公司网站wordpress页面构建
  • 怎么进行网站关键词优化小程序跳转到网站
  • 太原做网站的公司哪家好建设网站都要什么
  • 有哪些可以在线做app的网站网站制作苏州企业
  • 做空包网站wordpress是php文件
  • 做网站数据库多少钱苏州市城乡和建设局网站首页
  • 我想在网站做宣传怎么弄微信公众号平台及网站建设计划
  • 优化网站页面河北云建站
  • 龙岗高端网站建设登录可见wordpress
  • 南宁网站制作公司游戏网页版入口
  • 办公用品十大购物网站排名帝国做网站的步骤
  • 长春个人做网站哪家好直播做网站
  • 深圳网站维护服务的公司南通的互联网公司网站
  • 做h5最好的网站网站规划设计的步骤
  • 做网站小语种翻译多少钱设计网装修
  • 白酒 网站模板虚拟云服务做网站
  • 魔兽做宏网站网站备案需要准备哪些资料
  • 淮南网站建设全包装修设计软件有哪些
  • 海南省住房和城市建设厅网站合肥网站建设案例
  • 首饰网站建设项目计划书大纲
  • 网站dns修改商城网站开发业务
  • 建设网站如怎么下载爱南宁app呢
  • 扬州建设网站公司温州做网站建设多少钱
  • 网站建设那个公司好wordpress 音乐
  • 北京互联网建站网站定制化网站开发的好处
  • 上海市建设小学网站那个网站做百科好过
  • 影响网站打开速度建娱乐网站
  • 新县住房和城乡规划建设局网站百度快速seo