SceneKit涉及类的官方文档翻译(一)---- SCNView

SCNView

用来展示3D SceneKit内容的视图。

概览

在MACOS中,SCNView继承自NSView,在iOS中,SCNView继承自UIView,用来展示SceneKit框架中的内容。你可以通过代码"initWithFrame:options:"或者拖拽xib创建。
有关SceneKit视图的重要方法和属性,请参阅SCNScenneRenderer协议。你也可以通过用SCNRenderer类把SceneKit内容提交到Metal命令队列或OpenGL上下文中,或者在MACOS系统下把SceneKit内容提交给SCNLayer类来实现渲染展示。
SCNSceneRenderer协议为所有的SceneKit渲染类定义了通用功能。

属性

  1. scene: SCNScene类实例对象,场景的接收者

@property(nonatomic, retain, nullable) SCNScene *scene;

  1. rendersContinuously:BOOL值,是否跟着屏幕刷新而刷新渲染,默认值为NO

@property(nonatomic, assign) BOOL rendersContinuously;

  1. defaultCameraController:SCNCameraController,默认摄像头控制器,只读,当allowsCameraControl设为YES时,自动生成。本质就是控制相机的位置。

@property(nonnull, nonatomic, readonly) SCNCameraController* defaultCameraController

  1. allowsCameraControl:BOOL值,是否允许操控摄像机,默认值为NO

@property(nonatomic, assign)
BOOL allowsCameraControl:BOOL;

通过改变摄像机的位置来改变渲染图像,不会对场景中的真实图形作出更改。
当设为YES时,你就可以实现:

  * 1指拖动绕着整个场景旋转摄像头;
  * 2指拖动沿X或Y轴移动摄像头
  * 3指在竖直方向拖动,来使摄像头前进后退(可以简单理解为3指在Y轴方向移动,使得摄像头在Z轴方向移动)
  * 双击切换至场景中的下一个摄像头
  *  2指旋转手势将摄像头沿Z轴翻滚
  * 2指捏合手势改变摄像头的视角
SceneKit涉及类的官方文档翻译(一)---- SCNView_第1张图片
1指拖动绕着整个场景旋转摄像头

SceneKit涉及类的官方文档翻译(一)---- SCNView_第2张图片
2指拖动沿X或Y轴移动摄像头

SceneKit涉及类的官方文档翻译(一)---- SCNView_第3张图片
3指在竖直方向拖动

SceneKit涉及类的官方文档翻译(一)---- SCNView_第4张图片
2指旋转手势将摄像头沿Z轴翻滚

SceneKit涉及类的官方文档翻译(一)---- SCNView_第5张图片
2指捏合手势改变摄像头的视角
  1. cameraControlConfiguration:描述相机如何控制的描述对象。控制包括摄像头的切换、移动、飞行模式速度、拖拽灵敏度、旋转灵敏度等

@property(nonatomic, readonly) id cameraControlConfiguration

  1. preferredFramesPerSecond:期望帧率,实际帧率只是接近期望帧率,不一定等于期望帧率。默认值为0,代表等于屏幕的刷新帧率

@property(nonatomic) NSInteger preferredFramesPerSecond

  1. antialiasingMode:反锯齿模式,枚举类型。

@property(nonatomic) SCNAntialiasingMode antialiasingMode

  1. eaglContext:OpenGL上下文,用在OpenGL渲染时,使用Metal渲染时,此属性设置无效。

@property(nonatomic, retain, nullable) EAGLContext *eaglContext

方法

  1. 初始化
  • (instancetype)initWithFrame:(CGRect)frame options:(nullable NSDictionary *)options

options:可选项字典,提供了3个可配置的可选项

1. SCNPreferredRenderingAPIKey:
首选的渲染API,也就是首选用什么框架来渲染,有OpenGL、Metal两个框架可选;
  对应的值为SCNRenderingAPI枚举封包的NSNumber;
  SCNRenderingAPI枚举的定义在协议SCNSceneRenderer中。
  
2. SCNPreferredDeviceKey
 首选的Metal渲染设备,仅在用Metal框架渲染的情况下有效;
 对应的值的类型为 id 
 
3. SCNPreferLowPowerDeviceKey
 指定渲染是否首选低功耗的Metal设备;
 对应的值的类型为BOOL封包的NSNumber
  1. 缩略图

-(UIImage *)snapshot;

  1. 场景播放控制
 * 播放 play:
 * 暂停 pause:
 * 停止 stop:

你可能感兴趣的:(SceneKit涉及类的官方文档翻译(一)---- SCNView)