- 1、本文档共2页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
虚拟现实交互程序设计
2 -
6.物理引擎
——6.4 射线
在Unity中还提供了一种射线检测的方式,使用此种方式用户可以使用一条看不见的具有一定长度的射线来检测是否与其他的碰撞器之间发生了接触。射线就是从一个点往一个方向,发射一根无限长的射线,这根射线与场景中的其余的游戏物体的碰撞器组件相碰撞,射线即结束。由于射线可以与物理组件Collider相交互,所以射线也称之为“物理射线”。
创建射线
Ray射线类和RaycastHit射线投射碰撞信息类是两个最常用的射线工具类。
(1)创建一条射线Ray需要指明射线的起点(origin)和射线的方向(direction)。
(2)RaycastHit类用于存储发射射线后产生的碰撞信息。
(3)Physics.Raycast静态函数用于在场景中发射一条可以和碰撞器碰撞的射线。
(4)在调试时如果想显示一条射线,可以使用Debug.DrawLine来实现。
射线相关的方法
针对向屏幕上的某一点发射射线,Unity提供了两个函数以供使用,分别是ScreenPointToRay和ViewportPointToRay。
(1)Ray Camera.main.ScreenPointToRay(Vector3 position)
(2)Ray Camera.main.ViewportPointToRay(Vector3 position)
【课堂练习】利用射线实现鼠标点击平面某一位置,角色就移动到指定位置。
public class PlayerController : MonoBehaviour {
/*实现功能:在场景中鼠标点击地面后,角色可以移动到目标位置*/
publicfloat speed; //角色移动速度
private Vector3 target; //目标位置
privatebool isOver = true; //移动是否结束
void Update () {
if (Input.GetMouseButtonDown (0))
{
//1.获取鼠标点击时的目标位置/目标点
//1)创建射线——从摄像机发射出一条经过鼠标当前位置的射线
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
//2)发射射线
RaycastHit hit=new RaycastHit();
if (Physics.Raycast (ray, out hit))
{
//获取碰撞点的位置
if(hit.collider.name==Plane)
{
target = hit.point;
target.y = 0.5f;
isOver = false;
}
}
}
//2.让角色移动到目标位置/目标点
MoveTo(target);
}
private void MoveTo(Vector3 tar) {
if (!isOver) {
Vector3 v1 = tar - transform.position; //当前位置指向目标位置的向量
transform.position += v1.normalized * speed * Time.deltaTime; //向量由两部分组成:使用方向*大小
if (Vector3.Distance(tar, transform.position) = 0.1f) { //判断角色是否到达目标位置
isOver = true;
transform.position = tar;
}
}
}
}
您可能关注的文档
- 虚拟化技术与应用(国家) vSphere DRS简介及配置 配置分布式资源调配实验指导书.doc
- 虚拟实训 实训攻略 调整工具.doc
- 冲压模具设计与制造 冲压模具设计与制造 实训设计任务书(接线座级进冲裁).doc
- 徐行黄草编织工艺 徐行黄草编名品库 1.3.11 双格彩条纹拖鞋.docx
- 徐行黄草编织工艺 徐行黄草编名品库 1.3.15 透空平行纹拖鞋.docx
- 冲压模具设计与制造 情境四 冲裁模具设计与制造Ⅲ 单元4.1 教学设计.doc
- 徐行黄草编织工艺 徐行黄草编名品库 1.3.19 牡丹纹拖鞋.docx
- 2024年应急船舶操纵知识测试.docx
- 2024年应急管理工作总结归纳.doc
- 2024年广播电视大学教学过程管理规范试行.doc
- 硬笔书法基础笔画第三课撇课件-小学生书法.pptx
- 2.2.2一元二次不等式课件-高三中职数学一轮复习.pptx
- 18我喜欢我自己课件-一年级上册心理健康北师大版.pptx
- 第四课《接纳自己的情绪》(给自己的一封信)课件苏教版初中心理健康八年级全一册.pptx
- 第十二课《激发学习动机》课件苏教版心理健康七年级全一册.pptx
- 2.2.3绝对值不等式课件-高三中职数学一轮复习.pptx
- 中学生班主任培训课件.pptx
- 第十六课《你的心情我最懂》(情绪侦探)课件苏教版初中心理健康八年级全一册.pptx
- 专题一集合与简易逻辑课件-广西中职对口升学数学一轮复习.pptx
- 2.3均值定理课件-高三中职数学一轮复习.pptx
最近下载
- 2024年党纪学习教育ppt(党课).pptx VIP
- 铁路运输企业安全生产三项制度(安全生产责任制、制度、操作规程)汇铁路运输企业安全生产三项制度(安全生产责任制、制度、操作规程)汇编.pdf VIP
- 实验动物中心设计方案.doc
- 中医整脊疗法选择题及答案.pdf
- 2024年6月英语四级真题(全3套).pdf
- 小学心理健康教育的工作总结.pptx VIP
- 医疗器械可用性验证报告2023版.pdf VIP
- 医院手术室净化及装饰工程施工组织设计_1方案.pdf
- 三级地质调查员(水文地质、环境地质、农业地质)理论试题库资料(含答案).pdf
- 15 特殊健康状态儿童预防接种专家共识之十五——自身免疫性疾病与预防接种_孙金峤.pdf VIP
文档评论(0)