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();
        }
    }
}


相关文章
|
3月前
|
vr&ar 图形学
PICO4开发实战一:节奏光剑(VR)(需求文档)
这篇文章是PICO4开发实战指南,详细介绍了开发一款名为“节奏光剑”的VR游戏的需求文档,包括从基础功能开发到交互体验优化、场景体验优化、UI设计、游戏关卡设计等多个开发阶段的详细规划和说明。
PICO4开发实战一:节奏光剑(VR)(需求文档)
|
Web App开发 移动开发 JSON
谈一谈|谷歌插件入门
谈一谈|谷歌插件入门
311 0
|
存储 前端开发 搜索推荐
深度体验完 MWeb 这款写作软件 ,我放弃了 Typora
一个称心如意的工具会令人提升我们的效率,节省时间。今天我介绍的这款写作、记笔记软件就是:MWeb。
669 0
深度体验完 MWeb 这款写作软件 ,我放弃了 Typora
|
机器学习/深度学习 人工智能 前端开发
黑科技:进阶必备,推荐两款自动生成代码神器
最近两年,在互联网行业各大技术峰会上,都能看到关于工程效能这个概念,从侧面也反映出了研发效能已经逐渐被各企业所重视!
475 0
黑科技:进阶必备,推荐两款自动生成代码神器
|
文字识别 搜索推荐 Windows
5款让人惊艳的黑科技软件,只要用过一次就会爱上
今天要给大家推荐5款让人惊艳的黑科技软件,每个都是同类软件中的个中翘楚,请大家给我高调地使用起来,不用替我藏着掖着。
474 0
5款让人惊艳的黑科技软件,只要用过一次就会爱上
|
存储 自然语言处理 程序员
一键完成对话需求?这款插件你不能错过(Unity3D)(三)
Dialogue System是一个分支式的统一会话系统。它不需要任何脚本,但它是设计为易于由程序员扩展。 Unity对话系统让你: • 用分支逻辑编写交互式对话。 • 在灵活的、完全可自定义的UI系统中显示会话。 • 定义玩家要完成的任务/任务。 • 播放镜头序列,如相机剪辑和音频。 • 保存和加载游戏,并在场景更改中持久化数据。 • 使用本地化来显示文本,并在不同的语言中播放剪裁场景。 • 导入和导出各种格式,如:draft、Chat Mapper和CSV。
|
存储 XML JSON
一键完成对话需求?这款插件你不能错过(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 月强势上线!沉浸式阅读体验你爱了吗
208 0
CSDN浏览器助手新版本 9 月强势上线!沉浸式阅读体验你爱了吗
|
人工智能 机器人 vr&ar
星战首款 AR 机器人要这样才好玩,这个“小白”真的不要太萌
素有全球人工智能和机器人领导者称号的优必选联合迪士尼推出了星战首款 AR 互动机器人:星球大战第一军团冲锋队员机器人。
452 0
星战首款 AR 机器人要这样才好玩,这个“小白”真的不要太萌