Platforms to show: All Mac Windows Linux Cross-Platform

Back to SCNViewMBS class.

SCNViewMBS.allowsCameraControl as Boolean

Type Topic Plugin Version macOS Windows Linux iOS Targets
property SceneKit MBS Mac64bit Plugin 18.4 ✅ Yes ❌ No ❌ No ✅ Yes Desktop & iOS
A Boolean value that determines whether the user can manipulate the current point of view that is used to render the scene.

If you set this property to true, SceneKit creates a camera node and handles mouse or touch events to allow the user to pan, zoom, and rotate their view of the scene. (Enabling user camera control does not modify camera objects already existing in the scene graph or the nodes containing them.)

When you enable user camera control, the defaultCameraController object handles input events and drives camera behavior. You can use that object's methods and properties to change the style of user camera interaction, and use the cameraControlConfiguration property to adjust control sensitivity.

In the default configuration, SceneKit provides the following controls:

  • Pan with one finger to rotate the camera around the scene
  • Pan with two fingers to translate the camera on its local xy-plane
  • Pan with three fingers vertically to move the the camera forward backward
  • Double-tap to switch to the next camera in the scene
  • Rotate with two fingers to roll the camera (rotate on the camera node's z-axis)

Pinch to zoom in or zoom out (change the camera's fieldOfView)
The default value of this property is false. Use this option if you intend to control the camera programmatically.
(Read and Write property)

Some examples using this property:

SCNViewMBS.audioListener as SCNNodeMBS

Type Topic Plugin Version macOS Windows Linux iOS Targets
property SceneKit MBS Mac64bit Plugin 20.2 ✅ Yes ❌ No ❌ No ✅ Yes Desktop & iOS
The node representing the listener’s position in the scene for use with positional audio effects.

When you use the SCNAudioPlayerMBS class to play sound, the resulting effect depends on the position of each audio source in the scene relative to the listener. For example, changes in relative position can cause a sound to be localized to the left or right channel for stereo headphone output.

This property determines the listener’s position. If the value is nil (the default), the listener position is always the same as that of the pointOfView node. By providing a different node for this property, you can separate the listener position from the point of view—this produces an effect similar to that of a boom microphone in video production. For example, in a third-person game where the camera floats high in the sky above the player character, you might use the player character as the listener node so that sounds from positions nearest the player are loudest.
To place an audio source in the scene, use the addAudioPlayer method on an SCNNode object.
(Read and Write property)

SCNViewMBS.autoenablesDefaultLighting as Boolean

Type Topic Plugin Version macOS Windows Linux iOS Targets
property SceneKit MBS Mac64bit Plugin 19.1 ✅ Yes ❌ No ❌ No ✅ Yes Desktop & iOS
A Boolean value that determines whether SceneKit automatically adds lights to a scene.

If this property’s value is false (the default), the only light sources SceneKit uses for rendering a scene are those contained in the scene graph. If you change the value to true, SceneKit automatically adds and places an omnidirectional light source when rendering scenes that contain no lights or only contain ambient lights.
(Read and Write property)

Some examples using this property:

SCNViewMBS.backgroundColor as NSColorMBS

Type Topic Plugin Version macOS Windows Linux iOS Targets
property SceneKit MBS Mac64bit Plugin 18.4 ✅ Yes ❌ No ❌ No ✅ Yes Desktop & iOS
The background color of the view.

SceneKit displays this color behind the contents of the rendered scene. If the scene contents fill the view or if the scene provides its own background using the background property, the view’s background color may not be visible.
This property’s value must be a color that can be represented using RGBA components.
(Read and Write property)

SCNViewMBS.debugOptions as Integer

Type Topic Plugin Version macOS Windows Linux iOS Targets
property SceneKit MBS Mac64bit Plugin 20.2 ✅ Yes ❌ No ❌ No ✅ Yes Desktop & iOS
Options for drawing overlay content in a scene that can aid debugging.

Use these options to display overlays that show otherwise-invisible scene content—such as node bounding boxes and the extents of physics fields—for use in debugging and profiling your app. For example:

  • To visualize how well each object’s physics representation corresponds to its visible geometry, show the shape of each SCNPhysicsBodyMBS object in the scene with the SCNDebugOptionShowPhysicsShapes option.
  • To improve rendering performance in a scene with multiple SCNLightMBS objects, show each light’s area of effect with the SCNDebugOptionShowLightExtents option and ensure that each object in the scene is affected by no more than three lights.

Debug options are bit mask patterns. To display multiple debugging overlays, combine options using the bitwise OR operator.
(Read and Write property)

SCNViewMBS.defaultCameraController as SCNCameraControllerMBS

Type Topic Plugin Version macOS Windows Linux iOS Targets
property SceneKit MBS Mac64bit Plugin 18.5 ✅ Yes ❌ No ❌ No ✅ Yes Desktop & iOS
The default camera controller for this view.

(Read only property)

SCNViewMBS.jitteringEnabled as Boolean

Type Topic Plugin Version macOS Windows Linux iOS Targets
property SceneKit MBS Mac64bit Plugin 20.2 ✅ Yes ❌ No ❌ No ✅ Yes Desktop & iOS
A Boolean value that determines whether SceneKit applies jittering to reduce aliasing artifacts.

Jittering is a process that SceneKit uses to improve the visual quality of a rendered scene. While the scene’s content is still, SceneKit moves the pointOfView location very slightly (by less than a pixel in projected screen space). It then composites images rendered after several such moves to create the final rendered scene, creating an antialiasing effect that smooths the edges of rendered geometry.

By default, the value of this property is false, specifying that SceneKit should not perform jittering. Change the value to true to enable jittering.

Because the SCNViewMBS and SCNLayerMBS classes perform jittering automatically and asynchronously, enabling jittering for these classes has minimal impact on rendering performance. The SCNRenderer class performs jittering synchronously, incurring a high performance cost. With this class, jittering is suitable for rendering single frames on demand, but not for real-time rendering.
(Read and Write property)

SCNViewMBS.loops as Boolean

Type Topic Plugin Version macOS Windows Linux iOS Targets
property SceneKit MBS Mac64bit Plugin 19.1 ✅ Yes ❌ No ❌ No ✅ Yes Desktop & iOS
A Boolean value that determines whether SceneKit restarts the scene time after all animations in the scene have played.

If the value of this property is true (the default), SceneKit returns the scene time to zero after all animations associated with the scene have played, causing those animations to repeat. Otherwise, SceneKit stops playing the scene when all animations have completed.
(Read and Write property)

SCNViewMBS.Playing as Boolean

Type Topic Plugin Version macOS Windows Linux iOS Targets
property SceneKit MBS Mac64bit Plugin 19.1 ✅ Yes ❌ No ❌ No ✅ Yes Desktop & iOS
A Boolean value that determines whether the scene is playing.

If the value of this property is false (the default), SceneKit does not increment the scene time, so animations associated with the scene do not play. Change this property’s value to true to start animating the scene.
(Read and Write property)

SCNViewMBS.pointOfView as SCNNodeMBS

Type Topic Plugin Version macOS Windows Linux iOS Targets
property SceneKit MBS Mac64bit Plugin 19.1 ✅ Yes ❌ No ❌ No ✅ Yes Desktop & iOS
The node from which the scene’s contents are viewed for rendering.

Use a node with an SCNCameraMBS instance assigned to its camera property to view a scene. The node provides the position and direction of a virtual camera, and the camera object provides rendering parameters such as field of view and focus.
For debugging lights and shadows, you can also designate a spotlight (an SCNLightMBS object whose type property is spot) as a point of view. In this case, the light’s spotInnerAngle property determines the field of view, and its zNear and zFar properties determine the near and far extents of the region that is visible onscreen (also known as the viewing frustum).
In either case, the direction of view is along the negative z-axis of the node’s local coordinate space.
(Read and Write property)

SCNViewMBS.preferredFramesPerSecond as Integer

Type Topic Plugin Version macOS Windows Linux iOS Targets
property SceneKit MBS Mac64bit Plugin 18.4 ✅ Yes ❌ No ❌ No ✅ Yes Desktop & iOS
The animation frame rate that the view uses to render its scene.

SceneKit chooses an actual frame rate that is as close as possible to your preferred frame rate based on the capabilities of the screen the view is displayed on. The actual frame rate is usually a factor of the maximum refresh rate of the screen to provide a consistent frame rate. For example, if the maximum refresh rate of the screen is 60 frames per second, that is also the highest frame rate the view sets as the actual frame rate. However, if you ask for a lower frame rate, SceneKit might choose 30, 20, 15 or some other factor to be the actual frame rate. For this reason, you want to choose a frame rate that your app can consistently maintain.
The default value is 60 frames per second.
(Read and Write property)

SCNViewMBS.renderingAPI as Integer

Type Topic Plugin Version macOS Windows Linux iOS Targets
property SceneKit MBS Mac64bit Plugin 20.2 ✅ Yes ❌ No ❌ No ✅ Yes Desktop & iOS
The graphics technology SceneKit uses to render the scene.

You choose a graphics technology when initializing a scene renderer:

  • When initializing a SCNViewMBS object, use the Constructor initializer and the SCNPreferredRenderingAPIKey key. Alternatively, create a view in Interface Builder and use the Rendering API control in the inspector. During initialization, the view will attempt to use the preferred API, but will fall back to a different API if the preferred one is not supported on the current hardware.
  • To create a SCNRendererMBS object that renders into your own OpenGL contect, use the rendererWithContext initializer. To create a renderer for use in your own Metal workflow, use the rendererWithDevice initializer.
  • The rendering technology used by a SCNLayer object is determined by Core Animation.

After initializing a renderer, this property reflects the rendering technology in use.
(Read only property)

SCNViewMBS.rendersContinuously as Boolean

Type Topic Plugin Version macOS Windows Linux iOS Targets
property SceneKit MBS Mac64bit Plugin 18.4 ✅ Yes ❌ No ❌ No ✅ Yes Desktop & iOS
A Boolean value that determines whether the view always renders at its preferred frame rate or only when its visible content changes.

When this value is false (the default), the view redraws its contents only when something in its scene graph change or animates. Use this option to maximize energy efficiency.

If you change this value to true, the view redraws itself continually, at the rate specified by the preferredFramesPerSecond property, regardless of whether content is changing or animating.
(Read and Write property)

SCNViewMBS.scene as SCNSceneMBS

Type Topic Plugin Version macOS Windows Linux iOS Targets
property SceneKit MBS Mac64bit Plugin 18.4 ✅ Yes ❌ No ❌ No ✅ Yes Desktop & iOS
The scene to be displayed in the view.

(Read and Write property)

SCNViewMBS.sceneTime as Double

Type Topic Plugin Version macOS Windows Linux iOS Targets
property SceneKit MBS Mac64bit Plugin 20.2 ✅ Yes ❌ No ❌ No ✅ Yes Desktop & iOS
The current scene time.

This timestamp determines how running animations behave, which is similar to how the playhead time in a video player application determines which frame of a movie to display. Scene time applies only to animations whose usesSceneTimeBase property is true, including those loaded from a scene source using the SCNSceneSourceAnimationImportPolicyPlayUsingSceneTimeBase option.

Use this property, together with the above animation options, when you want to directly control (or allow the user to directly control) the playback of animations. For example, if you’re building an authoring tool for 3D assets, you might bind this property’s value to a slider control for scrubbing through playback of animations in a scene file.
(Read and Write property)

SCNViewMBS.showsStatistics as Boolean

Type Topic Plugin Version macOS Windows Linux iOS Targets
property SceneKit MBS Mac64bit Plugin 20.2 ✅ Yes ❌ No ❌ No ✅ Yes Desktop & iOS
A Boolean value that determines whether SceneKit displays rendering performance statistics in an accessory view.

The SceneKit statistics view displays various information about scene rendering performance and GPU resource usage, including a frames-per-second (fps) counter. In macOS, click the gear button in the statistics view to show a panel with additional controls for adjusting SceneKit’s rendering of the scene.
(Read and Write property)

The items on this page are in the following plugins: MBS Mac64bit Plugin.


The biggest plugin in space...