Hi,欢迎来到华清远见移动互联网学院官网!国内王牌JAVAEE培训、Android培训、Python培训、HTML5培训、UI培训、JAVA培训、VR培训机构!

  • 400-611-6270
  • 新浪微博
  • 微信
您当前的位置:移动互联网学院 > VR开发 > Ray射线类

Ray射线类

时间:2017-07-24 09:50 来源:移动互联网学院

一个射线是一条从原点(origin)向指定方向(direction)无限延长的直线,在射线发射的轨迹中,可以用于检测所碰撞到的其他物体。

射线可以应用在多方面,例如射击游戏中的子弹、Dota类游戏的人物角色控制、移动VR的交互功能等等

Ray是一个结构体(Struct),下面将对Ray射线类相关的方法和属性进行讲解。

1.构造函数

public Ray(Vector3 origin, Vector3 direction);

参数介绍:origin:射线起点;direction:射线终点;

一般是采用从摄像机发出射线的方式创建一条射线,如从摄像机发射一条穿过屏幕中心的射线:

Ray ray = Camera.main.ScreenPointToRay(new Vector2(Screen.width / 2, Screen.height / 2));

2.发射射线

Physics.Raycast(),API文档中给出这几个方法:

public static bool Raycast(Ray ray, RaycastHit hitInfo, float distance, int layerMask);

public static bool Raycast(Ray ray, float distance, int layerMask);

public static bool Raycast(Vector3 origin, Vector3 direction, float distance, int layerMask);

public static bool Raycast(Vector3 origin, Vector3 direction, RaycastHit , float distance ,int layerMask );

参数 说明

ray 要发射的射线

hitInfo 返回射线路径中碰撞体的信息

distance 射线发射的距离

layerMask 射线碰撞检测的层

3.layerMask参数

int型的变量,用于区分不同层的游戏对象,可以通过以下方法返回Layers对应的整数:

targetMask = LayerMask.GetMask("cube"); 



       

4.RaycastHit类

通过transform参数,就可以控制碰撞体的移动、旋转、伸缩比例,还可以获得碰撞体游戏对象,如:hit.transform.gameObject。

获得游戏对象实例,就可以获得具体碰撞体游戏对象的名称:hit.transform.gameObject.name。

5.例子

从摄像机发射一条穿过鼠标在屏幕位置的射线,当“cube”层的游戏对象碰撞到射线,对碰撞体进行平移:



      

       

  • 北京

    010-82600385/6

    北京市海淀区西三旗悦秀路北京明园大学校内

  • 上海

    021-54485127

    上海市徐汇区漕溪路250号银海大楼11层

  • 深圳

    0755-25590506

    深圳市龙华新区人民北路美丽AAA大厦15层

  • 成都

    028-85405115

    成都武侯区科华北路99号科华大厦2层

  • 南京

    025-86551900

    南京市白下区汉中路185号鸿运大厦11层

  • 武汉

    027-87804688

    武汉工程大学卓刀泉校区科技孵化器大楼11层

  • 西安

    029-88756251

    西安市高新区高新1路12号天公大厦3层

  • 广州

    020-38342087

    广州市天河软件园柯木塱园5栋三层

  • 沈阳

    024-24349000

    沈阳市沈河区北顺城路137号锦峰大厦7层

  • 济南

    0531-88898293

    济南市高新区舜华路三庆世纪财富中心B3座6层

  • 重庆

    023-68064704

    重庆市九龙坡区渝州路87号双薪时代九楼

  • 长沙

    0731-88713136

    长沙市开福区芙蓉中路海东青大厦B座11楼

Copyright © 2004-2017 华清远见教育集团 版权所有,沪ICP备10038863号-3,京公海网安备110108001117号