SceneKit Framework - UBogun/Xojo-iosLib GitHub Wiki

SceneKit is Apple’s 3D engine. It makes programming 3D and physics simulations as well as games quite easy. If you have programmed with SpriteKit before, you will find many similarities. Basically, everything depends on the SCNView, a UIView subclass for displaying SceneKit scenes, in iOSLib AppleSCNView. Like with SpriteKit, you will usually not use this class directly but the custom control iOSLibSCNView instead. It receives the view events directly forwarded by the view and offers convenience methods to manipulate the view. As usual, you can address the view directly via the ID property of iOSLibSCNView, but its internal events will not fire but instead be forwarded to the control.

Classes

  • AppleSCNView: The core class of SceneKit, the view for rendering and displaying SceneKit content.
  • AppleSCNNode: While the view is the control counterpart, a SCNNode is the core class that builds the node structure everything in SceneKit is attached to.
  • AppleSCNAction: A class to add actions and animations to nodes.
  • AppleSCNAnimationEvent: Gives you a possibility to attach a custom method to an animation.
  • AppleSCNAudioPlayer: An audio player specialized for SceneKit directional sounds that works with AVAudio or its own source.
  • AppleSCNAudioSource: A container for sound effect or music files.
  • AppleSCNCamera: A camera object that can be attached to nodes.
  • AppleSCNConstraint: Like a layoutconstraint, a SCNconstraint makes auto-positioning (and rotating) of nodes possible. Abstract superclass, only usable by one of its subclasses:
  • AppleSCNBillboardConstraint: Automatically adjusts a node’s orientation so that it always points toward the pointOfView node currently being used to render the scene.
  • AppleSCNLookAtConstraint: A constraint to align a node’s orientation always to another node.
  • AppleSCNIKConstraint: A constraint for applying inverse kinematics to nodes connected as joints.
  • AppleSCNTransformConstraint: A constraint class for custom constraints.
  • AppleSCNGeometry:The base class for a 3-dimensional shape.
  • AppleSCNBox: A Geometry subclass for six-sided polyhedrons whose faces are all rectangles. The edges and corners of a box may be square or rounded.
  • AppleSCNCapsule: A geometry subclass that models a right circular cylinder whose ends are capped with hemispheres.
  • AppleSCNCone: A geometry subclass that models a right circular cone or frustum.
  • AppleSCNCylinder: A geometry subclass that models a right circular cylinder.
  • AppleSCNFloor: A geometry sublass for creating an endless floor geometry.
  • AppleSCNPlane: A geometry sublass that models a rectangular, one-sided plane of specified width and height, like a wall.
  • AppleSCNPyramid: A geometry subclass for modeling right rectangular pyramids.
  • AppleSCNShape: A geometry subclass that models a geometry from a BezierPath, optionally extruding it.
  • AppleSCNSphere: A geometry subclass that models a sphere / ball.
  • AppleSCNText: A geometry subclass that creates an object from text and optionally extrudes it.
  • AppleSCNTorus: A geometry subclass that models a ring or donut shaped object.
  • AppleSCNTube: A geometry subclass that models a tube or pipe.
  • AppleSCNGeometryElement: A class for defining how vertices are connected to form a geometry.
  • AppleSCNHitTestResult: The result returned from a HitTest method.
  • AppleSCNLevelOfDetail: A LevelOfDetail object allows you to use lower resolved geometries for different camera distances.
  • AppleSCNLight: A class responsible for lighting scenes.
  • AppleSCNMaterial: A class for managing lighting and shading properties associated with a geometry.
  • AppleSCNMaterialProperty: A class for managing the visual properties of a AppleSCNMaterial.
  • AppleSCNMorpher: A class for transitioning nodes between different geometries.
  • AppleSCNParticleSystem: A class for automatically rendering and simulating multitude of particles, small system sprites.
  • AppleSCNParticlePropertyController: A class for modifying Particles created by a ParticleSystem with CAAnimations.
  • AppleSCNPhysicsBehavior: A class for defining the results of phyiscs simulations, like joints working together or a rolling wheel. This class is only a frame for its subclasses and has no properties nor methods.
  • AppleSCNPhysicsBody: A class necessary to add physical force calculations and collision detections to nodes.
  • AppleSCNPhysicsContact: An event object SceneKit creates to describe collisions between node’s PhysicsBodies.
  • AppleSCNPhysicsShape: The class to define collision boundaries for nodes.
  • AppleSCNPhysicsWorld: The objects that simulates physical forces and checks for collisions in a scene.
  • AppleSCNScene: An object that represents a 3-dimensional scene for rendering, also methods for loading scene files.

Helper Classes