
Explore ARKit through building apps from basic shapes to textured 3D models and animations. Master plane detection, object placement, vehicle physics, portals, and various AR projects.
Identify the tools and software for ARKit, confirm which devices support ARKit, and set up iOS 11, Swift 4, and Xcode 9 to run the projects.
Explore ARKit student success through the top three apps—AR Kick Drum, Hide Message, and Ghost Hunt AR—showcasing camera-based AR, core location murals, and 3D models with bullet-target detection.
Recognize and apply syntax changes by using ARWorldTrackingConfiguration instead of ARWorldTrackingSessionConfiguration, as Apple renamed the variable across Xcode updates discussed in this course.
Master building an iOS app in Xcode using storyboard, with a label and button, connect the view controller via an outlet and action, and practice optional unwrapping and value updates.
Master ARKit world tracking by configuring ARWorldTracking, displaying a camera view with feature points and world origin, and handling camera permissions for robust real-world alignment.
Position a box in an ARKit scene by creating a node, attaching it to the root, and placing it 0.3 meters from the world origin along x, y, and z.
Learn how to reset tracking in ARKit by pausing the session, removing the box, and restarting with a new starting origin to place objects in updated locations.
Position boxes in random places by generating x, y, z coordinates between -0.3 and 0.3 meters with an omnidirectional light. Experiment with white and orange specular reflections.
The lecture demonstrates adding default 3D shapes in ARKit, including capsule, cone, cylinder, sphere, tube, torus, plane, and pyramid, plus a custom shape with a bezier path.
Position nodes relative to other nodes by making the cylinder a child of the pyramid, then build a blue box house with a brown door, using trial-and-error.
Apply pitch, yaw, and roll rotations to 3d nodes with eulerAngles, observe x,y,z axis effects, and use degrees-to-radians conversion to rotate by 90 degrees while exploring parent-child orientation.
Learn to implement the renderer delegate in ARKit with SceneKit to draw in the real world, updating every frame using the camera's position and orientation.
Extract the current camera position and orientation from the scene view’s point of view using the transform matrix and SCNVector3, then combine them into a camera vector for 3D drawing.
draw in 3d by placing red spheres at the current camera position while the draw button is pressed, using a pointer, SceneKit nodes, and main-thread updates.
Create an earth in ARKit by texturing a sphere with diffuse textures, enable default lighting, apply specular, emission, and normal maps, and animate a 360-degree rotation around the y-axis.
Position planets around a sun using ARKit, textures, and a planet factory function to streamline scene construction. Learn to apply diffuse, specular, emission, and normal maps and set relative positions.
Rotate planets around the sun using SCN actions, create Earth and Venus parents to set different rotation speeds, and add moon textures to orbit each planet.
Learn to implement hit-testing in ARKit by tapping a jellyfish in a Whack a jellyfish game, detecting touches, performing hit tests, and extracting the touched node geometry.
Import a free 3D jellyfish model, convert it to SceneKit, apply the diffuse texture, and load and place it in an ARKit scene with correct orientation and size.
Animate a jellyfish in an ARKit scene using CABasicAnimation on its position, with autoreverse and a duration. Trigger the animation by taps and guard it with animation keys.
Finish an ARKit jellyfish tapping game by integrating the Each timer, placing jellyfish at random coordinates, and using scene transactions to remove and respawn new jellyfish after animation.
Explore ARKit plane detection to identify horizontal surfaces, turning them into lava, and manage AR plane anchors as floors and tables are detected and updated.
Explore ARKit by converting every detected horizontal surface into a lava plane, textured from assets, oriented correctly, double-sided, and updated as plane anchors change.
Set up an IKEA AR app UI by building a horizontal collection view of items and an ARKit scene view, wiring data sources and delegates for live world-tracking.
Learn to place 3d models on horizontal surfaces with ARKit horizontal hit-testing, rotate and align objects, and add items to the scene via taps.
Master scaling and rotating AR objects with pinch and long-press gestures, using hit tests and SCN actions, while detecting planes, updating pivots, and enabling lighting for immersive AR scenes.
Detect horizontal planes, replace lava with concrete, place a blue box car, and apply dynamic gravity with a static concrete floor using physics bodies for realistic collisions.
Turn a box into a car by building a SceneKit scene, adding a frame, head, and wheels, parenting the head to the frame, and applying physics.
Explore accelerometer data with a motion manager to determine phone orientation and gravity, then drive the car's direction using x and y axes updated 60 times per second.
Learn to convert a scene car into a physics vehicle with SCNPhysicsVehicle, using accelerometer-based orientation to steer and fix wheel and chassis rotation for realistic motion.
Steer the ARKit car with phone orientation and the accelerometer. Translate vertical acceleration to steering angle and use acceleration.x to correct orientation, updating front wheels in a 60 fps loop.
Drive the car via screen touches by applying engine force to the back wheels, adjust speed with mass, and fix orientation and steering to align with device direction.
Learn to drive an ARKit vehicle: smooth steering with gravity-filtered accelerometer data, reverse with two fingers, and brake with three fingers by applying engine and braking forces to back wheels.
Learn to measure distances in augmented reality by tapping to place a starting point and position a sphere 0.1 meters in front of the camera using the transform matrix.
Measure distances in an AR scene by setting a starting position, tracking the camera's x, y, z displacement each frame, and showing a two-decimal distance.
Build an AR portal with ARKit and SceneKit by detecting horizontal planes and constructing a red carpet doorway with walls, roof, and floor.
Create an ar portal by placing a cubemap room on a horizontal surface, loading the portal scene, and texturing its roof, floor, and walls to reveal a new world.
Mask the walls by adding black boxes in front of each wall and set rendering order so masks render before walls, making the walls translucent in the portal scene.
ARKit has been called a ‘Game Changer’ for Augmented Reality! It allows developers to create augmented reality apps for Apple's newly launched iOS 11.
This new technology opens up the door for creative people and mobile app designers to build new experiences in a brand new industry that is expected to be worth $165 billion by 2024!
Come learn Arkit in this fun and exciting course with Rayan Slim - an experienced iOS developer who has followed Rob Percival's "learn by doing" style to create this amazing course.
With over 9 hours of content and 5* reviews, it's already the longest and best rated ARKit course on Udemy!
Just Take A Look At What Students Are Saying…
★★★★★ "Goes from 0 to 100 very slowly and steadily, explains everything to the decimal point, and the apps we're building are fun and easy to understand."- Vladimir Porton
★★★★★ "Totally amazing, I love the step-by-step style of this course."- Wang Hang
★★★★★ "It gets you where you want to be with ARKit quickly. I would absolutely take another course from this instructor." - James Justin Davis
Build 11 Augmented Reality apps using ARKit in iOS 11 and Swift 4
You'll go from beginner to extremely high-level and your instructor will build each app with you step by step on screen.
You'll build 11 AR apps, including a Floor is Lava App, AR measuring App, Ikea App and many other popular augmented reality apps. By doing so, you will learn how to:
Use textures to make cool 3D models
Display and animate 3D models in the camera view of the real world
Use World Tracking to track your position at all times
Launch projectiles in the real world
Place 3D objects on horizontal surfaces
Drive a car on horizontal surfaces
Build an inter-dimensional portal
Detect collisions between two 3D nodes
As always, you'll get all the required source code and friendly support in the Q&A area. No ARKit or iOS development experience required, although basic understanding of Xcode and Swift will help you progress quicker.
Make This Investment in Yourself
If you're looking to create your own augmented reality app or win work as a freelancer or developer in a new field, then this is the course for you!
Come join this new wave of app development!
Take this course and start learning!