1. 首页
  2. 人工智能
  3. AR/VR

虚拟现实技术及其应用

1、创建VRCamera: 使用Dive插件,从DiveUnityDemo提取摄像机和有关的脚本并export出来。

1、创建VRCamera:

使用Dive插件,从DiveUnityDemo提取摄像机和有关的脚本并export出来。

2、对象选择:

视选模式:从眼睛发射一条射线,选择看到的对象。

手柄模式:蓝牙手柄上的按键来选择对象。

3、视选模式的实现:

虚拟现实技术及其应用

视选:使用Raycast检测,RaycastHit返回碰撞到的物体信息。

private RaycastHit rayHiTInfo;

public Transform goPoint;//为射线发出点,是两个摄像机中间的一个点。

if (Physics.Raycast(goPoint.posiTIon, goPoint.forward, out rayHiTInfo))

{

Debug.Log(“RaySelect: ” + rayHiTInfo.collider.gameObject.name);

}

焦点:新建一个Plane,和Point放在同一个局部坐标系下,然后调整transform,使其放到视野中间,去选Mesh collider。

给焦点开发动画效果:Texture循环播放。

给视选设置一个停留时间:不是说看到某个物体就触发,而是盯着某个物体一定时间才触发。

4、手柄模式的实现:

检测手柄是否存在:

if ((Input.GetJoystickNames().Length 》 0) && (!Input.GetJoystickNames()[0].Equals(“”)))

{

//手柄存在

}

void Start ()

{

InvokeRepeating(“detect”, 0, 5);//每隔5s调用一次detect函数,做检测手柄动作。

}

检测手柄按键:

if (Input.GetKeyDown(KeyCode.Joystick1Button0))

{

//手柄键1

}

else if (Input.GetKeyDown(KeyCode.Joystick1Button1))

{

//手柄键2

}

//以此类推

设置并检测手柄摇杆:

设置摇杆通过在input里面增加axis的手柄,4个方向,要新增设置四个。

检测摇杆:

if (Input.GetAxis(“AxisName”))

{

//摇杆的一个方向

}

责任编辑:lq6

免责声明:本站旨在传递信息,不代表AI在线的观点和立场。本站遵循行业规范,如转载您的文章未标注版权,请联系我们(QQ:2265783423)改正。本站的原创文章,如若转载,请注明出处:http://www.ainoline.cn/rengongzhineng/arvr/29674.html

联系我们

在线咨询:点击这里给我发消息

邮件:2265783423@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code