VR+全景播放器+头控讲解-01-知识储备
VR+全景播放器+头控讲解-02-创建球体
VR+全景播放器+头控讲解-03-渲染视频
VR+全景播放器+头控讲解-04-滑动手势
VR+全景播放器+头控讲解-05-伸缩画面
VR+全景播放器+头控讲解-06-头控实现
VR+全景播放器+头控讲解-07-分屏技术

本节学习目标

捏合手势如何缩放画面

实现步骤

1.创建捏合手势添加到视图中去,这个视图也是最外层的视图

self.pinchGesture = [[UIPinchGestureRecognizer alloc]initWithTarget:self action:@selector(pinchGesture:)];
[view addGestureRecognizer:self.pinchGesture];

2.算法处理,改变Camera属性的xFov ,yFov

   -(void)pinchGesture:(UIPinchGestureRecognizer*)pinchGesture{if (pinchGesture.state != UIGestureRecognizerStateEnded &&   pinchGesture.state != UIGestureRecognizerStateFailed) {if (pinchGesture.scale != NAN && pinchGesture.scale != 0.0) {float scale = pinchGesture.scale - 1;if (scale < 0) scale *= (sScaleMax - sScaleMin);_currentScale = scale + _prevScale;_currentScale = [self validateScale:_currentScale];CGFloat valScale = [self validateScale:_currentScale];double xFov = CAMERA_FOX * (1-(valScale-1)*0.15);double yFov = CAMERA_HEIGHT * (1-(valScale-1)*0.15);}} else if(pinchGesture.state == UIGestureRecognizerStateEnded){_prevScale = _currentScale;}}
-(float)validateScale:(float)scale{if (scale < sScaleMin)scale = sScaleMin;else if (scale > sScaleMax) scale = sScaleMax;return scale;
}

3.改变照相机节点的属性xFov,yFov

self.eyeNode.camera.xFov = xFov;
self.eyeNode.camera.yFov = yFor;

问题:

为什么缩放不是改变球体的半径呢?
答:因为照相机的视野范围不改变,无论球体半径多大,呈现出来的部分都不会改变,如下

理解一下

本节讲解完毕
SceneKit 中文教程

VR+全景播放器+头控讲解-05相关推荐

  1. VR+全景播放器+头控讲解-04

    VR+全景播放器+头控讲解-01-知识储备 VR+全景播放器+头控讲解-02-创建球体 VR+全景播放器+头控讲解-03-渲染视频 VR+全景播放器+头控讲解-04-滑动手势 VR+全景播放器+头控讲 ...

  2. VR+全景播放器+头控讲解-06

    VR+全景播放器+头控讲解-01-知识储备 VR+全景播放器+头控讲解-02-创建球体 VR+全景播放器+头控讲解-03-渲染视频 VR+全景播放器+头控讲解-04-滑动手势 VR+全景播放器+头控讲 ...

  3. VR+全景播放器+头控讲解-02

    VR+全景播放器+头控讲解-01-知识储备 VR+全景播放器+头控讲解-02-创建球体 VR+全景播放器+头控讲解-03-渲染视频 VR+全景播放器+头控讲解-04-滑动手势 VR+全景播放器+头控讲 ...

  4. VR+全景播放器+头控讲解-03

    VR+全景播放器+头控讲解-01-知识储备 VR+全景播放器+头控讲解-02-创建球体 VR+全景播放器+头控讲解-03-渲染视频 VR+全景播放器+头控讲解-04-滑动手势 VR+全景播放器+头控讲 ...

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

    VR+全景播放器+头控讲解-01-知识储备 VR+全景播放器+头控讲解-02-创建球体 VR+全景播放器+头控讲解-03-渲染视频 VR+全景播放器+头控讲解-04-滑动手势 VR+全景播放器+头控讲 ...

  6. windows平台VR全景播放器,支持图片视频,rtsp,rtmp,http,udp,hls等网络格式

    QQ: 515311445 先上下载链接:点击下载VR全景播放器 本工具使用开源的vlc做为核心播放器,添加全景代码而成,编译vlc时建议使用linux电脑编译,目前vlc已经支持全景图片和视频了,但 ...

  7. VR全景播放器 AvPro Video

    最近项目需要,使用Unity开发VR全景播放器,包括PC端和VR一体机端(Android).Unity5.6开始支持VideoPlayer,使用自带的VideoPlayer,很顺利把播放器完成了,使用 ...

  8. 使用SceneKit编写VR全景播放器

    最近用SceneKit做了全景看房的功能,现总结下如何实现的. 先看下最终的效果: gif1.gif VR图片全景播放器有以下功能: 360度 手势滑动,缩放 陀螺仪 分屏(VR眼镜) 热点hotpo ...

  9. OpenGL ES_手把手教你打造VR全景播放器

    OpenGL ES _ 入门_01 OpenGL ES _ 入门_02 OpenGL ES _ 入门_03 OpenGL ES _ 入门_04 OpenGL ES _ 入门_05 OpenGL ES ...

最新文章

  1. getline及读文件总结
  2. 北京python培训班价格-北京Python启蒙班
  3. python构建指数平滑预测模型_python/scikit/numpy中r指数平滑状态空间模型的替代方案...
  4. (转)MyBatis框架的学习(一)——MyBatis介绍
  5. python判断最小公倍数
  6. 对于数组使用sizeof(a)和使用sizeof(a[0])
  7. 在Fedora 14 alpha 下测试Kvm情况(视频)
  8. abaqus结构工程分析及实例详解pdf_“结构非线性、材料拟合、冲击碰撞、钣金/金属成形、顺序耦合、多物理场、有/非参优化”专题...
  9. mysql 查询语法基础_入门MySQL——查询语法练习
  10. [转载] 深入理解log机制
  11. 前端导出 pdf 分页带表头,导出pdf 不分页
  12. 【译】 on the expressive power of deep architectures
  13. shell脚本——awk详细介绍(包含应用案例)
  14. 正确使用GPU服务器gpu服务器和普通服务器的不同之处
  15. Qtcreator远程调试arm开发板程序指南
  16. C语言在控制台上实现鼠标操作的方法
  17. 手机账本软件哪些可以实现随手记录
  18. 今日睡眠质量记录74分
  19. 缩招/裁员/倒闭,互联网今年特别冷
  20. jeecgboot:设置为缓存路由,切换页面,保留数据

热门文章

  1. buttfly主题魔改
  2. supervisor使用
  3. Mac上NVM 安装与使用教程
  4. SP冲上行(MO)的可行性分析
  5. 零基础微信落地页小程序实战项目
  6. Objective-C基础——面对对象语法01
  7. 时间轮python_源码笔记:Nodejs 如何高效的获取时间戳而不影响性能的?
  8. matlab对声场仿真,基于声线模型的水声传播MATLAB仿真.pdf
  9. 想进大厂?你了解白/黑盒测试吗?
  10. 多人开发共用一个nacos,怎样配置可以保证各自的请求不会请求到同事的电脑里,实现请求隔离