GoogleVRForUnity✨一款常用的谷歌VR插件教程

简介: GoogleVRForUnity✨一款常用的谷歌VR插件教程


🟥 开发的注意事项

1️⃣ 选用的Unity版本

建议2019的Unity版本,之后的版本会取消一些API,导致SDK报错。


2️⃣ 打包的注意事项

该插件打包时应只选用该Graphics API的设定,否则apk会闪退。


🟧 项目基本配置

复制 HelloVR 场景的如下内容到新场景,便完成了基础配置。

后面我们进行交互逻辑的编写即可。



🟨 凝视事件系统

以下是我写的凝视脚本,简化了原有的凝视方式。

将该脚本挂载在带有Collider的物体上,往该脚本公开的Event注册事件即可。

using UnityEngine;
using UnityEngine.Events;
using UnityEngine.EventSystems;
public class SkodeGazeEvent : MonoBehaviour
{
    private EventTrigger myEventTrigger;
    [Header("长凝视时长")] public float longGazeTime = 2;
    private float tempGazeTime;
    public UnityEvent pointerEnterEvent;
    public UnityEvent pointerExitEvent;
    public UnityEvent longGazeEvent;
    private void Awake()
    {
        myEventTrigger = GetComponent<EventTrigger>() ?? gameObject.AddComponent<EventTrigger>();
    }
    private void Start()
    {
        EventTrigger.Entry entryEnter = new EventTrigger.Entry
        {
            eventID = EventTriggerType.PointerEnter,
            callback = new EventTrigger.TriggerEvent()
        };
        entryEnter.callback.AddListener(PointerEnter);
        myEventTrigger.triggers.Add(entryEnter);
        EventTrigger.Entry entryExit = new EventTrigger.Entry
        {
            eventID = EventTriggerType.PointerExit,
            callback = new EventTrigger.TriggerEvent()
        };
        entryExit.callback.AddListener(PointerExit);
        myEventTrigger.triggers.Add(entryExit);
    }
    private void PointerEnter(BaseEventData arg0)
    {
        tempGazeTime = longGazeTime;
        pointerEnterEvent?.Invoke();
    }
    private void PointerExit(BaseEventData arg0)
    {
        tempGazeTime = 0;
        pointerExitEvent?.Invoke();
    }
    private void Update()
    {
        if (tempGazeTime <= 0)
            return;
        tempGazeTime -= Time.deltaTime;
        if (tempGazeTime <= 0)
        {
            longGazeEvent?.Invoke();
        }
    }
}


相关文章
|
2月前
|
vr&ar 图形学
PICO4开发实战一:节奏光剑(VR)(需求文档)
这篇文章是PICO4开发实战指南,详细介绍了开发一款名为“节奏光剑”的VR游戏的需求文档,包括从基础功能开发到交互体验优化、场景体验优化、UI设计、游戏关卡设计等多个开发阶段的详细规划和说明。
PICO4开发实战一:节奏光剑(VR)(需求文档)
|
机器学习/深度学习 人工智能 前端开发
黑科技:进阶必备,推荐两款自动生成代码神器
最近两年,在互联网行业各大技术峰会上,都能看到关于工程效能这个概念,从侧面也反映出了研发效能已经逐渐被各企业所重视!
460 0
黑科技:进阶必备,推荐两款自动生成代码神器
|
自然语言处理 程序员 语音技术
一键完成对话需求?这款插件你不能错过(Unity3D)(二)
Dialogue System是一个分支式的统一会话系统。它不需要任何脚本,但它是设计为易于由程序员扩展。 Unity对话系统让你: • 用分支逻辑编写交互式对话。 • 在灵活的、完全可自定义的UI系统中显示会话。 • 定义玩家要完成的任务/任务。 • 播放镜头序列,如相机剪辑和音频。 • 保存和加载游戏,并在场景更改中持久化数据。 • 使用本地化来显示文本,并在不同的语言中播放剪裁场景。 • 导入和导出各种格式,如:draft、Chat Mapper和CSV。
|
存储 自然语言处理 程序员
一键完成对话需求?这款插件你不能错过(Unity3D)(三)
Dialogue System是一个分支式的统一会话系统。它不需要任何脚本,但它是设计为易于由程序员扩展。 Unity对话系统让你: • 用分支逻辑编写交互式对话。 • 在灵活的、完全可自定义的UI系统中显示会话。 • 定义玩家要完成的任务/任务。 • 播放镜头序列,如相机剪辑和音频。 • 保存和加载游戏,并在场景更改中持久化数据。 • 使用本地化来显示文本,并在不同的语言中播放剪裁场景。 • 导入和导出各种格式,如:draft、Chat Mapper和CSV。
|
自然语言处理 程序员 数据库
一键完成对话需求?这款插件你不能错过(Unity3D)(一)
Dialogue System是一个分支式的统一会话系统。它不需要任何脚本,但它是设计为易于由程序员扩展。 Unity对话系统让你: • 用分支逻辑编写交互式对话。 • 在灵活的、完全可自定义的UI系统中显示会话。 • 定义玩家要完成的任务/任务。 • 播放镜头序列,如相机剪辑和音频。 • 保存和加载游戏,并在场景更改中持久化数据。 • 使用本地化来显示文本,并在不同的语言中播放剪裁场景。 • 导入和导出各种格式,如:draft、Chat Mapper和CSV。
|
5G 语音技术 vr&ar
⚡️VR ✙ 深入浅出⚡️ | VR 简单介绍说明
🍒VR(虚拟现实) 🍉VR起源 🍓VR概念 🍇VR特点 🏳️‍🌈沉浸性(immersion) 🏳️‍🌈交互性( interaction) 🏳️‍🌈构想性(imagination) 🍋VR应用领域 🌻 娱乐领域 🌻军事航天领域 🌻医学领域 🌻艺术领域 🌻教育领域 🌻文物古迹 🌻生产领域 🍍VR相关设备图片样例 💬总结
⚡️VR ✙ 深入浅出⚡️ | VR 简单介绍说明
|
UED
CSDN浏览器助手新版本 9 月强势上线!沉浸式阅读体验你爱了吗
CSDN浏览器助手新版本 9 月强势上线!沉浸式阅读体验你爱了吗
203 0
CSDN浏览器助手新版本 9 月强势上线!沉浸式阅读体验你爱了吗
|
人工智能 机器人 vr&ar
星战首款 AR 机器人要这样才好玩,这个“小白”真的不要太萌
素有全球人工智能和机器人领导者称号的优必选联合迪士尼推出了星战首款 AR 互动机器人:星球大战第一军团冲锋队员机器人。
439 0
星战首款 AR 机器人要这样才好玩,这个“小白”真的不要太萌
下一篇
无影云桌面