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


目录
打赏
0
0
0
0
25
分享
相关文章
【Unity3D】Android App Bundle(aab)打包上架Google Play介绍
总体说来,Android App Bundle打包有3种方式,每种方式都有成功上架Google Play进行测试通过,因此实用程度还是挺高的。能够理解以下内容的前提是会打apk包,知道如何生成Asset Bundle文件,这块内容可以参考我的上一篇文章。
1613 0
【Unity3D】Android App Bundle(aab)打包上架Google Play介绍
GoLand——windows下如何编译Linux二进制文件
GoLand——windows下如何编译Linux二进制文件
151 1
GoLand——windows下如何编译Linux二进制文件
从零开始的unity3d入门教程(五)---- 基于Vuforia的AR项目
这是一篇Unity3D结合Vuforia实现增强现实(AR)项目的入门教程,涵盖了环境配置、Vuforia账户注册、Target数据集创建、Unity项目设置、AR程序配置、Android环境配置以及最终在手机上测试运行的全过程。
从零开始的unity3d入门教程(五)---- 基于Vuforia的AR项目
使用keytool查看Android APK签名
本文介绍了如何使用Windows命令行工具和keytool查看APK的签名信息,并提供了使用AOSP环境中的signapk.jar工具对APK进行系统签名的方法。
1028 0
使用keytool查看Android APK签名
unity2d实现一个全方位的无限随机地图
unity2d实现一个全方位的无限随机地图
678 0
【推荐100个unity插件之6】利用Photon PUN2框架最快最简单实现多人在线游戏
【推荐100个unity插件之6】利用Photon PUN2框架最快最简单实现多人在线游戏
473 0
什么是营销服务?服务营销简易理解
营销服务是企业推广产品、吸引客户和提升销售额的关键手段,包括市场调研、广告、促销和客户服务。线上营销如网络广告和社交媒体推广,线下营销如门店促销和展览会,帮助企业了解市场、塑造品牌形象、增加销量。通过精准营销、优化服务和强化品牌宣传可提升营销效果。AokSend提供高效验证码发信服务,助力企业营销。企业需不断创新营销策略以适应竞争环境。
AIGC技术革新:智能创造如何重塑艺术与设计行业
AIGC技术,人工智能生成内容,正引领艺术与设计行业的变革。借助深度学习和自然语言处理等技术,AIGC能自动生成文本、图像等内容,丰富创作手段并提供创新机会。在艺术领域,它模拟各种风格作品,助力高效创作;在设计领域,它根据用户需求生成设计方案,提升个性化选择。AIGC打破了传统界限,提高了创作效率,并满足了用户的个性化需求。未来,随着技术进步和应用场景拓展,AIGC将在虚拟现实等领域的结合中,为艺术与设计带来更沉浸式、交互式的体验,重塑行业未来。【6月更文挑战第4天】
1207 1
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问