国在产vr视频区_做了点新鲜玩意儿:VR 产品用户界面设计

2024-03-26 11:30

本文主要是介绍国在产vr视频区_做了点新鲜玩意儿:VR 产品用户界面设计,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

作者:贾静一

最近跟小伙伴一起做了一点新鲜玩意儿,VR 产品的用户界面设计。VR 本身已经不新鲜,但这是我们首次接触,且因为 VR 环境与传统的手机、电脑、电视存在很大的区别,已有的设计经验并不能完全套用在这里。因此,设计过程中的学习、思考、试错对我们来讲十分宝贵。

  • 项目背景
  • VR 基础
  • 在 2D 工具中设计
  • 预览设计效果
  • 尺寸和字号问题
  • 去 Unity 中实现
  • 实时的交互反馈
项目背景 我们负责的 VR 产品为用户提供的是 360º 全景视频。由于产品本身的业务模式,其主要的功能仍在手机端中,VR 端是手机端扩展出的功能模块。用户在手机端观看视频的过程中,可以将手机与 VR 头显连接,然后戴上头显继续观看。功能点简单概括如下:
  • 播放 360º 全景视频
  • 查看完整的视频列表,从列表中选取视频播放
  • 切换视频的语言
  • 设置视频的视角高度和视野广度
视频播放器是最主要的部分,用来满足用户观看全景视频的需求;其次我们需要一个菜单承载上述的视频列表、视频设置等。这是一个业务逻辑和功能架构都很简单的 VR 模块,界面也很简单。 目前我们的 VR 产品与国内某厂商合作,需要针对他们的 VR 头显做设计和专门的适配,这让我们暂时无需考虑界面在不同分辨率 VR 设备上的适配问题。这款 VR 头显以手机作为驱动,必须与同品牌的手机连接后才能使用。VR 头显配备了手柄,但也支持直接将已连接的手机激活为手柄使用。 VR 基础在设计 VR 端的产品时,最需要牢记的一点原则是: VR 构建的是一个三维虚拟空间,是对真实世界的模拟。在这个原则的基础上,我们要思考的问题就变成了对「真实世界」和「人体工学」的理解。但是我们并没有那么多的时间和条件去从头开始研究,因此我们先从收集已有的资料开始,从中学习一些最基本的知识。1. VR 头显内的环境相当于一个球体。 36645d46ca0050539af1e1cc076be705.png2. 在 C 端用户使用 VR 设备时,常见的使用场景和姿势是「用户以十分舒适的姿势坐在沙发上」,用户的身体会保持不动,也并不想频繁地晃动颈部。3. 根据人体工程学原理,大多数情况下,使用户感到舒适的视线中心不是水平 0º,而是偏下约 6º,略低于水平线。在用户无需转动脖子的前提下,可将用户视线范围内的区域分成「眼部舒适区」和「颈部舒适区」。
  • 眼部舒适区:用户视线内约 60º~70º 的范围内,即眼镜向任何方向轻松移动 30º~35º,这是用户视线的焦点区域;
  • 颈部舒适区:用户视线内约 120º 的范围内,用户微微转动头部即可获取。
715d2318f5e8ea7081e9378c36961c81.png👆 图片来自 Google I/O 2017 在 2D 工具中设计充分了解上述三点内容后我们可以开始着手界面布局和设计,这个阶段可通过 PS、Sketch 等 2D 设计工具完成。我们团队使用 Figma 以便于实时沟通和协作。首先,我们需要创建一个合适的画布。界面要在球体中显示,没有明确的边界,并且视野是随时变化的,该创建什么样的画布对新手来讲看起来是个比较迷惑的问题。但是基于对上述三点的认识,可以看出用户视线的「度数」是界面布局中的重要依据,所以画布的尺寸和比例其实并不重要,够用即可,重要的是能够按照度数标记出两个区域和视觉焦点。我创建了一个宽 3600px、高 1800px 的画布,以 100px 为单位生成网格,每个格子则为 10º。然后再使用色块区分出「眼部舒适区」、「颈部舒适区」,标记出焦点的位置,一个基础画布就完成了。 02c8cf6f3df5d26882ed4b4ab8e80002.png接下来我们可以在画布上完成界面设计与布局,确定哪些重要的常用元素要在眼部舒适区展示,哪些相对次要的元素可以放置在颈部舒适区等。你可以借助这张画布想象一下界面呈现在 VR 头显内时的效果,以及用户要完成的交互操作。 预览设计效果设计师 Volodymyr Kurbatov 也提供了一种方法,使我们可以在 Unity 开发构建界面之前,通过 360º 视频播放器预览 VR 设计图。具体方法如下:1. 将想要预览的 UI 界面放入 Volodymyr Kurbatov 提供的画布中;
2. 按照画布的网格,将 UI 元素做变形处理,完成后导出图片; 301fd280c640b195436a76d8b9b9fb79.png👆图片来自 Volodymyr Kurbatov3. 安装 GoPro VR Player,将设计图拖入即可。 1da2777a898a14f5401863f8c2db6361.gif 尺寸和字号问题 接着我们要去 Unity 中将设计实现,我们面临的问题是该如何确定界面中切图的尺寸、文字字号。在 2017 年的 Google I/O 大会上,设计师 Adam Glazier 建议使用 1x 切图即可,因为当时大部分的 VR 设备 PPD(Pixel Per Inch,每英寸像素)只有 10 左右。我们项目要使用的 VR 头显单眼分辨率 1600*1600 像素,FOV 90º,PPD 约为17.8,较 2017 年没有大幅度的提升,使用 1x 也可以满足。关于字号,Google I/O 2016 上展示了一个文字可读性与 PPD 的关系图,如下所示: fdc6076f8762ea1c3ea5887278a0ff0f.png👆图片来自 Google I/O 2016Daydream 设计团队也在 Sticker Sheet 中给出了现阶段 VR 设备分辨率水平下的推荐字号,可供参考。 7ae5215274ce9b2bac767386150bde7f.png👆图片来自 Google Daydream Sticker Sheet v1.0 去 Unity 中实现 接下来,我们可以进入 Unity 开始实际的开发构建。我们在这里遇到的问题是,尽管前面做了很多的工作,但界面呈现在 Unity 里之后,现实效果都与设计图存在差异,难免要反复调整几次大小、位置等。我们可以先将完整设计图导入 Unity 中作为参照背景,然后在其上完成各个组件、元素的布局。布局确定后,再要调整时只需调整 Canvas 的 Scale 整体缩放比例即可。 7cb183331e2b1fa03196a422de2388a3.pngVR 环境中的界面会因为用户视角的变化而产生形变,因此界面中靠近边缘的版块可以放置在不同的 Canvas 中,然后设置 Canvas 的 Rotation 角度,使用户在面对这些组件时不会产生组件倾斜的感觉。 578ceec86c97a28d56b60389ba16eced.png👆图片来自 Google Daydream Sticker Sheet v1.0 d6991284499fb996a89d59cc9ba27088.png 实时的交互反馈到这里,VR 模块用户界面的搭建已经基本完成,之后我们开始思考如何使界面能够针对用户的各项交互给出实时的反馈。这与 PC 网页设计中针对鼠标指针的反馈设计十分相似,我们将各类组件的状态分为以下几种:
  • Inactive 未激活状态:当按钮未被点击查看其列表,也没有指针滑过时;
  • Active 激活状态:当选项被点击查看其列表时;
  • Hover 悬停状态:当手柄的指针滑过时;
  • Enabled 可用状态:按钮可用时;
  • Disabled 不可用状态:按钮不可用时。
55e8d6f682462980973962dda9d42618.png除此之外,有些状态还设置了文字提示,例如切换视频语言的过程中以及切换完成后。设计过程中还有对原文字幕显示位置的取舍。通常我们认为字幕是对用户观看过程的辅助,应在不打扰用户的前提下始终位于用户视线内。但考虑到 VR 是对现实世界的模仿,而现实世界中不存在可以一直浮现在眼前的东西(三体星球向地球发射的智子除外,嘻嘻),所以我们最终还是决定将字幕放在视频画面中的固定位置。以上是对本次 VR 产品用户界面设计过程的复盘,感谢阅读。

7898257a0ab11ceb130c12aea16bf3e4.png

这篇关于国在产vr视频区_做了点新鲜玩意儿:VR 产品用户界面设计的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/848351

相关文章

Python视频处理库VidGear使用小结

《Python视频处理库VidGear使用小结》VidGear是一个高性能的Python视频处理库,本文主要介绍了Python视频处理库VidGear使用小结,文中通过示例代码介绍的非常详细,对大家的... 目录一、VidGear的安装二、VidGear的主要功能三、VidGear的使用示例四、VidGea

Python中的可视化设计与UI界面实现

《Python中的可视化设计与UI界面实现》本文介绍了如何使用Python创建用户界面(UI),包括使用Tkinter、PyQt、Kivy等库进行基本窗口、动态图表和动画效果的实现,通过示例代码,展示... 目录从像素到界面:python带你玩转UI设计示例:使用Tkinter创建一个简单的窗口绘图魔法:用

流媒体平台/视频监控/安防视频汇聚EasyCVR播放暂停后视频画面黑屏是什么原因?

视频智能分析/视频监控/安防监控综合管理系统EasyCVR视频汇聚融合平台,是TSINGSEE青犀视频垂直深耕音视频流媒体技术、AI智能技术领域的杰出成果。该平台以其强大的视频处理、汇聚与融合能力,在构建全栈视频监控系统中展现出了独特的优势。视频监控管理系统EasyCVR平台内置了强大的视频解码、转码、压缩等技术,能够处理多种视频流格式,并以多种格式(RTMP、RTSP、HTTP-FLV、WebS

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖

怎么让1台电脑共享给7人同时流畅设计

在当今的创意设计与数字内容生产领域,图形工作站以其强大的计算能力、专业的图形处理能力和稳定的系统性能,成为了众多设计师、动画师、视频编辑师等创意工作者的必备工具。 设计团队面临资源有限,比如只有一台高性能电脑时,如何高效地让七人同时流畅地进行设计工作,便成为了一个亟待解决的问题。 一、硬件升级与配置 1.高性能处理器(CPU):选择多核、高线程的处理器,例如Intel的至强系列或AMD的Ry

基于51单片机的自动转向修复系统的设计与实现

文章目录 前言资料获取设计介绍功能介绍设计清单具体实现截图参考文献设计获取 前言 💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们电子相关专业的大学生,希望您们都共创辉煌!✌💗 👇🏻 精彩专栏 推荐订阅👇🏻 单片机

SprinBoot+Vue网络商城海鲜市场的设计与实现

目录 1 项目介绍2 项目截图3 核心代码3.1 Controller3.2 Service3.3 Dao3.4 application.yml3.5 SpringbootApplication3.5 Vue 4 数据库表设计5 文档参考6 计算机毕设选题推荐7 源码获取 1 项目介绍 博主个人介绍:CSDN认证博客专家,CSDN平台Java领域优质创作者,全网30w+

《x86汇编语言:从实模式到保护模式》视频来了

《x86汇编语言:从实模式到保护模式》视频来了 很多朋友留言,说我的专栏《x86汇编语言:从实模式到保护模式》写得很详细,还有的朋友希望我能写得更细,最好是覆盖全书的所有章节。 毕竟我不是作者,只有作者的解读才是最权威的。 当初我学习这本书的时候,只能靠自己摸索,网上搜不到什么好资源。 如果你正在学这本书或者汇编语言,那你有福气了。 本书作者李忠老师,以此书为蓝本,录制了全套视频。 试

单片机毕业设计基于单片机的智能门禁系统的设计与实现

文章目录 前言资料获取设计介绍功能介绍程序代码部分参考 设计清单具体实现截图参考文献设计获取 前言 💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们电子相关专业的大学生,希望您们都共创辉煌!✌💗 👇🏻 精彩专栏 推荐订