专栏首页每日一篇技术文章VR+全景播放器+头控讲解-01

VR+全景播放器+头控讲解-01

学习目标

写一个全景+VR的播放器


功能

一般vr+全景播放器有一下几个功能

  • 全景模式+VR 共有的功能 1.手势滑动 2.重力感应 3.恢复视角 4.播放/暂停 5.上一曲 6.下一曲 7.手势滑动 8.单击手势 隐藏功能菜单 9.是否可以播放(不可播放出现小菊花) 10.声音加/减功能 11.捏合手势-缩放画面
  • VR 模式 特有的头控功能 1.显示/隐藏菜单功能 2.播放/暂停功能 3.上一曲功能 4.下一曲功能 5.声音加/减功能
  • 扩展功能 1.视频滤镜

实现方案选择

近两年随着AR/VR逐渐火热,企业为了给自己的产品中加入新的元素,有可能会将3D元素添加到应用中去,对于IOS 工程师,你有三种选择 OpenGL ES / Metal/SceneKit ,按照性能排名 Metal 第一位,SceneKit性能相对来说没有前两者高,但是对于开发难度来说,SceneKit的难度最低,因为他是面向对象的,对于iOS 开发者,学习成本是最低的。

需要的知识

  1. 了解AVPlayer 对象的用法
  2. 了解 CMMotionManager 对象的用法
  3. SCNNode 的用法 (SceneKit框架)
  4. SCNScene的用法(SceneKit框架)
  5. SCNGeometry的用法(SceneKit框架)
  6. SCNCamera的用法(SceneKit框架)
  7. UIGestureRecognizer
  8. CIFilter 处理视频滤镜(可选项)

掌握以上知识点 轻松完成播放器的全部需求

后面我会分为以下几个模块进行讲解

a. 如何创建一个渲染全景视频的球体 b. 如何创建将APlayer 加载的视频渲染到球体上 c. 如何实现通过手势移动来调节呈现出来的画面位置 d. 捏合手势如何缩放画面 f. 头控部分布局 g. 如何实现分屏显示

SceneKit 中文教程

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 变量

    为什么不是xujie呢?因为flag.String()返回的是值的地址,那么我们怎么才能取到地址的值呢?

    酷走天涯
  • go-runtime/pprof

    开始之前先下载性能文件分析工具,下载地址: http://www.graphviz.org/download/

    酷走天涯
  • iOS 全景播放器最简单的解决方案

    酷走天涯
  • 【小家java】java8新特性之---Stream API 详解 (Map-reduce、Collectors收集器、并行流、groupby多字段分组)

    Stream 作为 Java 8 的一大亮点,它与 java.io 包里的 InputStream 和 OutputStream 是完全不同的概念。

    YourBatman
  • PyTorch神经网络中可学习的参数——CNN权重 | PyTorch系列(十五)

    在本系列的最后几篇文章中,我们已经开始构建CNN,我们做了一些工作来理解我们在网络构造函数中定义的层。

    AI算法与图像处理
  • 【每日一摩斯】-Shared Pool优化和Library Cache Latch冲突优化 (1523934.1)-系列3

    Parse一次并执行多次        在OLTP类型的应用中,最好的方法是只让一个语句被解析一次,然后保持这个cursor的打开状态,在需要的时候重复执行它...

    bisal
  • 从技术、设计、AI等角度,谈谈RecordScreen.io

    最近看到艾体验AIUX介绍的一款小工具《录网课的老师,流下了幸福的泪水》,录屏小工具——RecordScreen.io。不需要下载任何安装包,直接浏览器打开就可...

    mixlab
  • SparkStreaming+Kafka整合

    使用SparkStreaming,并且结合Kafka,获取实时道路交通拥堵情况信息。

    Hongten
  • 安利一下WebView内存泄漏的方法

    Xiaolei123
  • Asp.Mvc将生成的视图保存为字符串

    public static class ViewExtensions { /// <summary> /// ...

    用户1055830

扫码关注云+社区

领取腾讯云代金券