
Discover Scene Kit for 3D iOS development, an easy-to-use framework with up-to-date Swift and Xcode, featuring included assets, examples, and source code to jump into game and rich UI creation.
Create a new scene kit project in Xcode with Swift, set deployment to iOS 8.0 and portrait only, import app icons, and inspect the default scene’s rotating jet.
Explore SCNView, a scene kit view subclass of UI view, and how the game view controller and storyboard manage the current scene and properties like background color and statistics.
Explore how SCNScene powers SceneKit scenes, loading from files or creating from scratch, and how the root node organizes lights, cameras, and 3D models.
Start from scratch to build a SceneKit app that displays geometry in orthographic and perspective modes, with a configurable scene view, camera control, default lighting, and statistics.
Create a custom scene class inheriting from SCNScene with a tailored init, add a red cube node with white diffuse material, and display it in the scene view.
Explore SceneKit’s node hierarchy by creating a custom scene, adding nodes with a root node as the parent, and using addChildNode to build cameras, lights, and characters.
Add a camera node to a SceneKit scene, set its SCNCamera and position with a vector3 (x, y, z), and explore the axes to adjust the view.
Explain how SceneKit's orthographic projection defines units, showing that a sphere radius 1 is one unit, equal to half the screen width in portrait mode for consistent scaling.
Build a red sphere on a reflective floor in SceneKit, enable orthographic/perspective camera switching, and rotate the sphere using SCNVector4 around the x axis.
Enable default lighting and add an omni light, position it above the ground, and observe a smooth gradient that reveals three-dimensional depth. Limit lighting to optimize rendering performance in scenes.
Explore scene kit lighting by examining omni directional (point) light, spotlight, ambient, and directional lights, and master the look at constraint to aim lights at a target.
Explore SceneKit geometry by swapping between sphere, pyramid, and box using SCNGeometry subclasses; learn to define an empty node and adjust rotations to view different shapes.
Create a custom geometry manager and add a swipe pan gesture to move shapes in scene kit, while tuning anti-aliasing mode for sharper rendering.
Adjust spot light attenuation in SceneKit by setting start distance, falloff exponent, and end distance to produce softly lit floors, and create a custom SCNNode subclass to manage position.
Create a geometry nodes class in scene kit to build a cube, sphere, and pyramid with specific geometries and positions. Attach them to the scene and use a uniform material.
Finish the project by adding slide and re-align functions to move cube, sphere, and pyramid in response to pan gestures, snapping them into an endless carousel with scene kit actions.
Implement a tap gesture recognizer to switch between orthographic and perspective views in the scene, by toggling the camera node's uses orthographic projection property.
Explore scene kit's node hierarchy with root and child nodes and their relative position, rotation, and scale. Learn to load a scene from a file into a new Xcode project.
Explore node hierarchy by adding a camera and lights with orthographic projection. Organize the deer model under an empty node to control scale, rotation, and transforms in scene space.
Learn how the SceneKit renderer delegate enables time-based updates and node transformations in the scene loop, using didUpdateAtTime and setting the view to playing for a steady frame rate.
Explore the scene kit game loop using the scene render delegate and update time function to rotate a model around the y axis at 1 degree per update.
Analyze how delta time reveals frame jitter by logging per-frame time differences, and apply a previous rotation with a rotation constant to smooth rendering.
Explore how the scene editor in Xcode 7 lets you manipulate nodes without coding, share models across files, and improve asset management and performance.
Discover how to add models to a SceneKit scene by referencing or copying .dae files, manage node hierarchies, and understand when to rely on the editor versus programmatic access.
Explore scene kit basics for 3d ios development by cleaning, centering, and lighting a scene with ambient and omni lights, adjusting background color and camera position.
Master the lighthouse island challenge in scene kit by attaching a root node, rotating child nodes with pan gestures, and scaling the island to 0.15 in orthographic view.
set up a 3d piano keyboard by cloning white and black keys to form a full one-octave layout and animate colorized key play using scn transactions.
Learn to clone and copy scene kit nodes by duplicating geometry and materials, creating white key clones, and attaching them to the keys node to form an octave.
Clone the black piano keys in sceneKit by constructing a sharp keys array, looping to compute expositions and positions, and applying a near-black material.
Explore using SCNTransaction to wrap animation changes between begin and commit, running a 0.5-second update of a piano key’s color and position on taps.
Utilize completion blocks and transactions in SceneKit to chain animations, adjust durations, and trigger follow-up actions for a smoother 3D piano visualization, with orthographic projection options and SceneKit actions.
Explore a simple audio setup for piano notes, creating per-note AVAudioPlayer instances, initializing each with file URLs from the key sounds folder, and a play key function for immediate playback.
load a plane scene, extract the plane and propeller nodes, and attach them to an empty node under the root; animate using update at time in SceneKit.
Move the plane with a time-based update: compute time delta, apply a sine wave to the y position, and use a cosine derivative for gentle rotation.
Learn how to animate a propeller in scene kit by creating a rotate action, wrapping it in repeat forever, and running it on the propeller node for endless spinning.
Spawn obstacle models in a scene using a move action, selecting purple, orange, or red clones at random x and y positions and moving them toward the camera.
Spawn obstacles at random intervals using a scene kit action sequence that waits for duration and runs forever, combining a block action with a short wait.
Use group actions to run move and opacity together, replacing a move remove sequence with a single group action. Obstacles fade in and then remove smoothly.
Tap obstacles to trigger a scale by action, reverse it, and sequence the actions with SCNActionTimingMode to ease in and out.
Explore scene kit features for animations, gestures, and node hierarchy as you manipulate nodes, retrieve models, and implement a looped transaction animation on Monument Valley's four-sided tower with pan gesture.
Retrieve the tower node from assets, attach it to the monument scene, and scale it. Implement a pan gesture to rotate the tower and prepare the menu items.
Place menu items around a tower by adjusting scale and rotation, translating the pivot with SDN matrix, looping to attach items, and revealing only the first four.
Create a looping bobbing animation for the menu with SCNTransaction, using easing and a CA timing function to repeat, and synchronize the tower’s position for a smooth float.
Define object properties for a rotating 3D SceneKit menu, track rotation and bounce, implement snapping to positions, and compute which menu nodes to show during pan gestures.
Implement a snapping and bounce system for a SceneKit iOS menu, using angle ratio and menu spot to control rotation, bounce, and item appearance during pan gestures.
Learn to replace buttons by moving menu items with x translation, toggling visibility by position, and rotate the menu with a pan gesture to update the level number.
Tap a menu item to switch scenes by reassigning the scene property of the SCN view, using a tap gesture recognizer and a new scene variable.
Explore SCN material and how it controls lighting and shading on a planet sphere, then compare default material under white ambient light and black ambient light.
Change the diffuse contents of the material to a color or texture, such as red, billiard ball, or sand images, to see how diffuse shading defines the color output.
Adjust the specular property to switch between glossy and matte finishes on LCN materials, using white for glossy and black for matte.
Explore how normal maps enhance 3-D shading in Scene Kit, adding depth to low-poly models without increased geometry. Pair normal maps with diffuse textures to boost realism and performance.
Explore the reflective property of ECN materials by applying environment image for diffuse and specular reflections on a sphere, and use an environment map (right left top bottom front back).
Explore emission properties of LCN materials, showing colors without light via an emission image and how the multiply property colors the model by combining a chosen color with existing colors.
Apply a transparent material driven by a cloud image to a slightly larger sphere, using luminescence-based opacity, and enable double-sided rendering so clouds remain visible around wraparound.
Explore SceneKit particle systems to populate a solar system with sun, planet, moon, sunburst flames, and stardust. Set up nodes, materials, lighting, and particle properties while noting performance considerations.
Add a particle system from a file to the sun scene, then attach a Stardust particle system and flames, and rotate the sun, planet, and moon for a dynamic view.
Programmatically create a particle system from scratch, set the particle image to pixel block, adjust size, variation, rotation, and emitter sphere with loops, birth rate, and warm-up.
Learn how local space differs from world space in SceneKit particle systems, and switch the emitter to local space so particles originate from the moon’s local coordinates.
Set up physics in SceneKit by assigning physics bodies to nodes, creating a floor and a sphere, and using checker and wood panel materials to visualize motion and collisions.
Add a dynamic physics body with mass and zero restitution to a sphere, enabling gravity and collisions in scene kit; set gravity and ensure the floor has a physics body.
Implement a static physics body for nonmoving surfaces like floor in SceneKit, using long initialiser, so a sphere rests on the floor and bounce is tuned by restitution and gravity.
Learn how the did simulate physics at time function updates after physics, logging the sphere’s velocity (speed and direction) at each frame until it comes to rest.
Explore scene kit physics by building a ball pit with kinematic bodies that interact with others but are not affected by gravity, using invisible boundary planes for visualizing collisions.
Fill a boundary box with 200 SceneKit nodes using LCN actions, randomize size and mass, stagger insertion to avoid overlaps, then scale to 400 spheres to explore SceneKit physics.
Apply forces in a SceneKit physics world by manipulating gravity, impulses, and random forces on spheres, observing momentum changes and collisions in real time.
Build a drop scene with a floor, plank, and sphere to demonstrate collisions and physics joints, and apply a velocity factor to constrain motion to the x-y plane.
Learn how to use hinge joints in scene kit by attaching a hinge to a dynamic plank, defining a z-axis, and anchoring it in the physics world.
Explore collision masks in scene kit by configuring category, collision, and contact test masks for physics bodies to control interactions between spheres, planks, stoppers, and trigger blocks.
Recognize collisions using collision masks and implement didBeginContact in the scene's physics world delegate to trigger the block when the sphere contacts the trigger, moving it with scn action.
Tackle a collision challenge in scene kit by creating a goal for the ball to roll through and trigger a red light flash, using physics bodies and collision categories.
Set up a 3d bird scene in scene kit with lights, cameras, and node hierarchy, and build a flappy bird clone using bird, pipes, and slanted grass flooring.
Learn to create an endless grass segment in scene kit by instancing two grass nodes, adjusting their scale and position, and updating their movement in the render loop.
Create four empty pipe nodes, clone a bottom pipe to form a top pipe, rotate and place them. Use a random height to vary pipe placement and enable movement.
Add the main character bird to the scene, configure its physics body, gravity, and movement via touches, and apply a rotation sequence to create a lifelike flutter through pipes.
Create a simple menu scene by refactoring the bird scene, remove pipes and physics, and implement a bobbing bird animation, then wire the menu scene in the game view controller.
Learn to integrate SpriteKit with SceneKit to build a 2d overlay over a 3d scene, using a title and a play button as SpriteKit nodes.
Explore how SpriteKit overlays 2D sprites on 3D SceneKit, using an overlay scene, textures, and node sizing with anchor points for UI and gameplay.
Add a score label in the sprite kit overlay, initialize its value and appearance white font size 64, and implement a change scene function to transition on play taps.
Enable scene transitions from menu to game by wiring a weak parent reference in the overlay class, adding a size-based initializer, and routing touches began through the game view controller.
Set up physics bodies and a physics contact delegate to enable the bird to collide with pipes and floor using category, collision, and contact test bit masks.
Set up collision detection between physics bodies to trigger events, stop the bird, and remove all actions when it hits pipes or the floor.
Add a replay button to the overlay with a replay texture and fade-in, and use a trigger flag in the bird scene to show it after pipe collisions.
Update the game score at the right moment by adding score update functions to the game overlay, update the score label, and handle collision-driven points in SceneKit.
Take your app to the next level with the only fully in depth and comprehensive look at Apple's new framework for 3D development available on the web!
SceneKit is a framework that allows native developers on iOS to engage users in a totally new way using the elusive and often times intimidating 3D environment on mobile platforms. SceneKit allows developers the much needed access to 3D development that has so far been totally missing form the native world of mobile development, without having to use or learn an an entirely separate and external development software like Unity or Unreal Engine. Scene Kit makes it easy for the developers looking to get an edge over the competition to develop in 3D space. It is a powerful framework that has a lot to offer and can be applied to almost any sort of application.
3D is not just for games! By learning to use Scene Kit developers can also develop applications that use a 3D interface and push their apps to new heights by creating immersive experiences for the user.
In this course we cover all the basics of working with SceneKit and then go into all the essentials of SceneKit in detail recreating popular elements of some of today's biggest apps!
We include all the models and source code for this class! Afraid you won't have the 3D assets or know-how to start this course? Do not worry! As we have created all the essential 3D assets for you and included them along with the course and the source code for every step so you are never lost!
Skip the fluff and get to the main topic! This is a course that understands that you are here to learn SceneKit and will not take hours and hours of talking about irrelevant information. We get right to the point and tell you what you need to know quickly. We intentionally made this course low on fluff because you need this information, and you need it quickly! We've seen courses before that had all the information but spent hours and hours talking about things not relevant to the topic so we said we are not going to be one of those courses taking a firm stand for information now!
No course is as detailed or covers as many topics in SceneKit as this course does! If you are looking to get your hands on SceneKit and be among some of the very first developers able to take on this amazing framework then this is the course for you! It is the missing guide for SceneKit that will let you understand the power of SceneKit and allows you to learn every thing you need to in order to start developing your own apps from scratch in 3D!
Join the Comprehensive Guide to Scene Kit and you will be amazed at how easy it is to get started on the next great app!