VR+全景播放器+头控讲解-05
生活随笔
收集整理的這篇文章主要介紹了
VR+全景播放器+头控讲解-05
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
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的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: hdu(5501)——The Highe
- 下一篇: 苹果手机清灰_手机清灰音频