Learning Pathway for 3D Coding
-
Introduction
The CreatiCode Playground provides a powerful and intuitive set of blocks designed specifically for 3D projects. These blocks are built on top of Babylon.js, a cutting-edge 3D engine developed by Microsoft, making it easier for students to create and experiment with 3D environments.
While CreatiCode has streamlined the process of 3D coding, it remains more complex than 2D coding due to several factors:- Vast Scenes: Unlike 2D, where objects are confined to a flat plane, 3D projects operate in a vast, three-dimensional space. This means there are more elements to manage, and understanding how to navigate and position objects in this space is essential.
- Advanced Rendering: The 3D rendering engine used in CreatiCode is incredibly powerful, but mastering it requires a deeper understanding of concepts such as lighting, textures, and camera angles.
- Complex Collision Handling: Managing collisions between objects is far more intricate in 3D, as it involves considering all three axes (x, y, and z) and dealing with more complicated shapes and movements.
- Additional Features: Tools like physics engines and particle emitters can enhance projects with realistic movements and effects. However, using them effectively demands additional skills and learning.
For those new to 3D coding, we recommend exploring a series of tutorials and projects designed to guide you through the basics. These resources will help you build foundational skills, step by step, making it easier to navigate the complexities of 3D environments.Teachers can also use these tutorials to develop an introductory course, allowing students to gain hands-on experience with 3D coding and build confidence in their abilities.
Topic 1 - Initialize a 3D Scene
-
Tutorial Link: Initializing a 3D scene
-
Overview: Every 3D project starts with a 3D scene, which is a virtual world where all objects reside. There are many pre-made 3D scenes that can be used, such as city or grassland.
Topic 2 - Using Orbit Cameras to View the Scene
- Tutorial Links
- Overview: Every 3D scene is infinitely large, so we can only view a portion of it using a camera, just like how we watch a TV broadcast of a football game. It would help if you learned how to view any part of a scene using a camera manually or with code and how to configure the camera’s parameters. The “orbit camera” is a very simple camera, which is like a satellite that orbits around an object.
Project Idea - Go Around the Globe (Difficulty: 1)
- Tutorial Link: Go Around the Globe (Difficulty: 1)
- Overview: Control the camera to orbit around the globe
Topic 3 - Create Your Own 3D Avatar
- Tutorial Links:
- Overview: Most 3D games or stories would need 3D avatars to represent the players in the 3D world. You can use a free tool to create an avatar of your own and customize its looks (optional). After that, you can load your own avatar or any avatar from the CreatiCode library into the 3D scene.
Topic 4 - Make Avatars Play Animations
-
Tutorial Link: Avatar Animations
-
Overview: After an avatar is added to a 3D scene, you can “teach” it new animations, such as “Run” or “Fly”, then it can play these animations.
Topic 5 - 3D Axis and 3D Boxes
- Tutorial Links:
- Overview: Besides avatars, you can also add all kinds of 3D shapes into the 3D scene, and the simplest shape is a 3D box. You will also learn to use the 3D axis to determine the X/Y/Z dimensions. Note that the Z-axis points up in the 3D scene.
Project Idea - Create a Pyramid (Difficulty: 2)
- Overview: Use one big flag box to serve as the sand floor, and then add 20 layers of boxes in a repeat loop. The bottom half of the boxes will hide below the sand floor.
Topic 6 - 3D Positions
- Tutorial Link: 3D Coordinates and Positions
- Overview: To place a 3D object anywhere in the 3D scene, you need to know its 3D position, which is specified as its (X, Y, Z) coordinates.
Project Idea - Rubik’s Cube (Difficulty: 2)
- Tutorial Link: Rubik’s Cube (Difficulty: 2)
- Overview: Create a 5x5x5 Rubik’s cube using boxes
Project Idea - 3D Art with Random Boxes (Difficulty: 2)
- Tutorial Link: 3D Art with Random Boxes (Difficulty: 2)
- Overview: Create a colorful scene of many boxes at random locations, with random sizes and colors.
Project Idea - Building a Simple Table (Difficulty: 2)
- Tutorial Link: Building a Simple Table (Difficulty: 2)
- Overview: Compose a simple table using 5 boxes for the table top and 4 legs. We need to size and position each box accurately.
Topic 7 - 3D Rotations
-
Tutorial Link: 3D Rotations
-
Overview: You can make a 3D object face any direction in the 3D scene by rotating it around the X/Y/Z axis.
Project Idea - Build a Small House (Difficulty: 3)
- Overview: Compose a simple house with a few boxes. The roof is made of 2 boxes that are tilted, and to fill the space under the roof, you also need a rotated box.
Topic 8 - 3D Spheres
-
Tutorial Link: Using Spheres
-
Overview: Similar to boxes, sphere shapes are very useful for composing simple scenes. In addition, a 3D sphere does not have to be complete, which allows you to create interesting shapes using part of a sphere
Project Idea - A Pokeball (Difficulty: 1)
- Tutorial Link: A Pokeball (Difficulty:1)
- Overview: Compose a Pokeball using a few spheres.
Project Idea - Create a Spacecraft (Difficulty: 3)
- Overview: Compose a spacecraft using a few spheres of different shapes, and make clever use of the “arc” parameter.
Topic 9 - 3D Models
-
Tutorial Link: Adding Models
-
Overview: For more complex objects, it is hard to use simple shapes to represent them. Instead, you can use 3D models that look much more realistic. There are thousands of models in the CreatiCode library for you to choose from, such as airplanes, cars, balls, etc.
Project Idea - Decorate the Simple House with Furnitures (Difficulty: 3)
- Overview: Add various furniture models to the simple house, and move/rotate them to fit into the room well.
Project Idea - Seaworld (Difficulty: 3)
- Overview: Add various sea animal models to the “Underwater” scene.
Topic 10 - Follow Camera
-
Tutorial Link: Follow Camera
-
Overview: The orbit camera you used earlier is good for viewing static objects/scenes. However, when we have an avatar or an airplane that moves through the 3D scene, we need to use a “follow camera”, which follows a target object as it moves or turns so that we get a first-person view of the scene.
Project Idea - A Flying Drone (Difficulty: 1)
- Tutorial Link: A Flying Drone (Difficulty: 1)
- Overview: Control a drone to fly around the city scene and use a follow camera to get the drone’s view point.
Topic 11 - Moving or Rotating Objects
-
Tutorial Link: Speed of 3D Objects
-
Overview: To move or rotate a 3D object, a simple and recommended method is to set its speed. There are many types of speeds, such as movement, rotation, acceleration, gravity, etc. As discussed later, the object will naturally stop at obstacles when we set its speed as opposed to changing its position directly.
Project Idea - A Running Avatar (Difficulty: 3)
- Overview: Add an avatar in a scene and control it to run, turn, fly, glide, etc.
Project Idea - Flying Spaceship (Difficulty: 3)
- Overview: Create a universe full of random obstacles, and control a spaceship to fly through it.
Topic 12 - Scaling Objects
-
Tutorial Link: Scaling Objects
-
Overview: You can resize an object in each of the X/Y/Z dimensions.
Project Idea - A Carpet (Difficulty: 2)
- Tutorial Link: A Carpet (Difficulty: 2)
- Overview: Compose a carpet using 3 cylinders that are scaled along one dimension
Topic 13 - Lighting up the scene
-
Tutorial Link: Using Lights
-
Overview: Every 3D scene must have one or more light sources, or we won’t be able to see anything through our camera. There are 4 types of light sources to choose from: ambient light (such as daylight), directional light (such as sunlight), point light (such as a light bulb), and spotlight (such as a car’s front light).
Project Idea - Lights from A Policecar (Difficulty: 2)
- Overview: Add a ground, wall and some light sources to a policecar model.
Topic 14 - Update Object Colors
-
Tutorial Link: Update Object Colors
-
Overview: You can use different color settings to make an object look like made of different types of materials. Also, you can update the color of a shape or model.
Project Idea - Balls of different roughness and brightness (Difficulty: 2)
- Overview: Use 2 repeat loops to add spheres and set them to increasing roughness and brightness.
Topic 15 - Update Object Texture
-
Tutorial Link: Update Object Texture
-
Overview: To make a simple shape look like a real object, such as a wall made of a box, you need to set the texture of the object.
Project Idea - A UFO (Difficulty: 1)
- Tutorial Link: A UFO (Difficulty: 1)
- Overview: Compose a simple UFO using spheres with different textures
Project Idea - Create a Minecraft-Style Island (Difficulty: 2)
- Overview: Use boxes of various shapes and textures to create a Minecraft-style island.
Topic 16 - Object Names and Sprite Objects
-
Tutorial Link: Object Names and Sprite Objects
-
Overview: Very often, you need to create and manage multiple 3D objects from the same sprite, such as creating multiple avatars using blocks from one sprite. In such cases, if you run the “move” block, you need a way to tell the system which box you want to move. This is one of the key differences between 2D and 3D coding, since in 2D Scratch, each sprite corresponds to one single object on the stage.
To solve this issue, CreatiCode invented a new concept of “sprite object”, which refers to one of the 3D objects created from the current sprite that’s currently “selected”. To apply any operation on a 3D object, you need to select that object first, then all subsequent blocks will be applied to that object, until a new object is selected as the “sprite object”.
Project Idea - Create a Moving Walkway (Difficulty: 2)
- Overview: Use 3 boxes to form a walkway, and repeatedly select and move the last box to the front.
Topic 17 - Other Simple Shapes
-
Tutorial Links:
-
Overview: Besides spheres and boxes, there are some other simple shapes that you can use to approximate objects, such as cylinders, tubes and rectangle tubes (a tube with 4 side faces). They also support a rich set of parameters.
Project Idea - A Painting in a Frame (Difficulty: 2)
- Tutorial Link: A Painting in a Frame (Difficulty: 2)
- Overview: create a program that displays a famous painting in a frame
Project Idea - Create a Chocolate Cake (Difficulty: 3)
- Overview: Use cylinders and tubes to create a chocolate cake.
Project Idea - Build Towers and Castles with Custom Block (Difficulty: 4)
- Tutorial Link: Build Towers and Castles with Custom Block (Difficulty: 4)
- Overview: Create a custom block that can build towers of different sizes and reuse it
Topic 18 - 3D Text
-
Tutorial Link: 3D Text
-
Overview: You can use 3D text to show information in your scene. They can be very thin or have some thickness, and they can also have different font types and curving styles.
Project Idea - Word Art (Difficulty: 2)
- Tutorial Link: Word Art (Difficulty: 2)
- Overview: Create a great visual effect with some 3D text
Project Idea - A Stop Sign (Difficulty: 2)
- Tutorial Link: A Stop Sign (Difficulty: 2)
- Overview: Create a stop sign using a cylinder and 3D text
Project Idea - Create a Movie Theater (Difficulty: 4)
- Overview: Use simple shapes with textures and 3D text to create a movie theater
Topic 19 - Extrusion
-
Tutorial Link: Extrusion
-
Overview: You can “extrude” any 2D image into a flat 3D object by adding thickness to it. This technique can have many interesting use cases when used cleverly, such as drawing a map then extruding it into a 3D maze.
Project Idea - Create a Maze (Difficulty: 2)
- Overview: Draw a maze using the costume editor, then extrude it into a 3D maze. You will need to rotate it, scale it up, and add texture to it.
Topic 20 - Object Collisions
-
Tutorial Links:
-
Overview: Object collision allows you to trigger events when 2 3D objects collide with each other, such as when an avatar runs into a wall or collects a power-up. This is a fundamental technique that allows the player to control their avatar and interact with the objects in the 3D world. There are 2 methods for detecting object collision: using the distance between the 2 objects, or casting rays (arrows) from one object and seeing if it touches the other object.
Project Idea - A Maze Game (Difficulty: 3)
- Tutorial Link: A Maze Game (Difficulty: 3)
- Overview: Control an avatar to run through a 3D maze.
Project Idea - Prevent Avatars from Running Through Walls (Difficulty: 4)
- Tutorial Link: Prevent Avatars from Running Through Walls (Difficulty: 4)
- Overview: When an avatar runs in a predefined scene like the city street, it may run through the buildings, because it is too slow to enable collision detection between the avatar and every object in the scene. Instead, we can use a transparent box to block the avatar out of the buildings.
Project Idea - Avatar Interacting with Objects (Difficulty: 4)
- Tutorial Link: Avatar Interacting with Objects (Difficulty: 4)
- Overview: In many games, the player controls an avatar to interact with other objects in the scene, such as colliding with walls or picking up reward items. In this tutorial, we will walk through 3 methods you can apply in your next game: ray cast, bounding box and distance measurement.
Project Idea - A Jumping Game (Difficulty: 5)
- Tutorial Link: A Jumping Game (Difficulty: 5)
- Overview: Create a game where the player jumps through the platforms to reach the goal area, and a leaderboard of the fastest players will be displayed at the end.
Project Idea - Crazy Highway Game (Difficulty: 6)
- Tutorial Link: Crazy Highway Game (Difficulty: 6)
- Overview: learn to build an exciting car game called “Crazy Highway”. The player will be driving a car to cut through fast-moving cars on a highway, and try to get to the finish line as soon as possible
Topic 21 - Copying Objects
-
Tutorial Link: Copying Objects
-
Overview: When you need to make many objects of the same type, it is often faster and more efficient to make copies of a single object. These copies can share the same data for model and animation, but have their own movements or colors.
Project Idea - An Alien Dance Party (Difficulty: 1)
- Tutorial Link: An Alien Dance Party (Difficulty: 1)
- Overview: create 3 copies of an Alien avatar and make them dance
Topic 21 - Highlights and Glow Effects
-
Tutorial Links:
-
Overview: When you need to draw the player’s attention to a specific object, you can “highlight” that object, or you can make that object glow in color.
Project Idea - A Spinning Earth (Difficulty: 1)
- Tutorial Link: A Spinning Earth (Difficulty: 1)
- Overview: create a spinning Earth using texture and add a highlight effect around it
Project Idea - A Human Model (Difficulty: 3)
- Overview: Load the human model, and use a dropdown to allow users to pick an organ, then load that oran with highlights.
Project Idea - An UFO in a garden (Difficulty: 3)
- Overview: Load a UFO model in the garden scene, then make it glow and update its emission color.
Topic 22 - Hover Event
-
Tutorial Link: Hover Event
-
Overview: You can allow the player to interact with objects in your scene by hovering the mouse pointer over any object. This is called the “hover” event. You will get information about which object is under the pointer, so you can make that object react to this event.
Project Idea - Highlighting Potions (Difficulty: 2)
- Overview: add some potion models, update them to different colors, then when the user hovers over any potion, highlight it.
Topic 23 - Picking Event
-
Tutorial Link: Picking Event
-
Overview: You can also allow the player to pick an object in your scene by clicking on it. This is called the “picking” event. You will get information about which object is clicked by the pointer, so you can make that object react to this event.
Project Idea - Pick A Letter (Difficulty: 2)
- Tutorial Link: Pick A Letter (Difficulty: 2)
- Overview: Allow the user to pick an letter and show some reactions
Project Idea - Shooting Aliens with Rocks (Difficulty: 3)
- Overview: repeatedly add aliens that run towards us, and when the user clicks any point on the grassland, throw a rock towards that point, and when it hits an alien, remove the alien.
Project Idea - A Piano (Difficulty: 3)
- Overview: Create a piano keyboard with white and black boxes, and when the user picks any key, play its note.
Project Idea - A Playable Rubik’s Cube (Difficulty: 6)
- Tutorial Link: A Playable Rubik’s Cube (Difficulty: 6)
- Overview: Create a playable Rubrik’s cube where the player can use swipe gestures and button to control the cubes.
Project Idea - A Minecraft Style World (Difficulty: 6)
- Overview: Create a Minecraft-style world made of different types of cubes. User can run or fly in the world with locked pointer, and click to add or remove cubes.
- Demo Project: play.creaticode.com/projects/660aa865b57a3da838c387bc
Topic 24 - Dragging Event
-
Tutorial Link: Dragging Objects
-
Overview: You can also allow the player to drag an object with the pointer. This is called the “picking” event. You will get information about which object is being dragged as well.
Topic 25 - Lines, Arrows and Curves
-
Tutorial Links:
-
Overview: You can add lines, dotted lines, arrows and curves to the scene, which are very helpful for creating illustrations.
Project Idea - House Measurement (Difficulty: 3)
- Overview: Pick any object, like a house, then add some lines/arrows and 3D text to show some measurement numbers.
Project Idea - Molecule Structure (Difficulty: 3)
- Overview: Create “ball-and-stick” models for molecules, such as carbonic acid (H2CO3), using lines, curves, spheres and 3D text.
Topic 26 - Parenting
-
Tutorial Link: Parent-Child Relationship
-
Overview: “Parenting” is another unique concept in 3D coding. It means setting one object as the parent of another, so when the parent moves or turns, the child is moved or turned relative to the parent. This is a great way to make multiple objects behave as one compound object, and it has many interesting and smart use cases when you know it well.
Project Idea - Solar System (Difficulty: 3)
- Overview: Load the “Solar System” scene, then make the planets/moon spin and rotate. User can pick any planet from the dropdown to observe it closely.
Topic 27 - Movement Trails
-
Tutorial Link: Add Trails to Meshes
-
Overview: You can add a beautiful trail for a moving object to clearly show how it has moved.
Project Idea - Fireworks (Difficulty: 3)
- Overview: Create some fireworks with one small fireball shoots up to the sky first, then it explodes into many colorful fireballs, each with a different color and direction. For a hint, you can use “rising speed”, “forward speed” and “gravity” to control the movement of each fireball.
Project Idea - Carbon Atom Model (Difficulty: 4)
- Overview: Create a carbon atom model using a few spheres as the core in the center, then add electrons that orbit around the core, and attach movement trails to them. Note that to make an electron rotate around multiple axes, you need to add a transformer parent to it, so rotating the parent will make the electron rotate.
Topic 28 - Carving Objects
-
Tutorial Link: Carving Objects
-
Overview: When 2 objects are overlapping, you can use one object to carve a hole from the other object. This allows you to create interesting new shapes.
Project Idea - A Space Station with windows (Difficulty: 3)
- Overview: Create a space station using simple shapes, then carve out some holes to serve as windows, and cover them with transparent glasses.
Project Idea - A Bus (Difficulty: 5)
- Overview: Create a bus using simple shapes, and carve out its doors/windows. Add wheels and seats.
Topic 29 - Community Models
-
Tutorial Links:
-
Overview: Although the CreatiCode library provides thousands of 3D models, you may sometimes need a special model that’s not in the library. In such cases, you can search through the library of models shared by the CreatiCode user community. If you still can’t find any suitable model there, you can try to find a free model with a permissive license from an external website like Tinkercad, Sketchfab or CGTrader, and upload that model as a new community model.
Project Idea - Using Your UFO as a Model (Difficulty: 2)
- Tutorial Link: Using Your UFO as a Model (Difficulty: 2)
- Overview: Use parenting to link 3 spheres of the UFO as one object, and export it as a GLB model.
Topic 30 - Making Copies in Bulk
-
Tutorial Links:
-
Overview: If you need to make a lot of copies of the same object, there are 3 methods to create multiple copies at once, which are more efficient than creating the copies one by one:
- You can make copies that form a “matrix” in the 3D space
- You can make copies that rotate around a given axis
- You can make copies that are at mirror positions of the original object.
Project Idea - A Bridge Runner (Difficulty: 4)
- Tutorial Link: A Bridge Runner (Difficulty: 4)
- Overview: create an animation with an avatar running and jumping on an infinitely long bridge
Project Idea - A Parkour Game (Difficulty: 5)
- Tutorial Link: A Parkour Game (Difficulty: 5)
- Overview: Extend the bridge runner project above to add game items that the avatar can pick up along the way
Project Idea - A Mars Rover (Difficulty: 6)
- Overview: Create a Mars rover using simple shapes; add one leg with wheel, then use “mirror copy” to duplicate it.
- Demo project: play.creaticode.com/projects/b3e25d457d8961e8da9b51c9
Topic 31 - Distance Sensors
-
Tutorial Link: Distance Sensors
-
Overview: You can cast rays (arrows) from an object in all 6 directions, which allows you to check its distance from other objects touched by these arrows.
Project Idea - A Self-Driving Car with Distance Sensors (Difficulty: 3)
- Tutorial Link: A Self-Driving Car with Distance Sensors (Difficulty: 3)
- Overview: Make a car avoid obstacles using a distance sensor.
Project Idea - Light Control with Distance Sensors (Difficulty: 2)
- Tutorial Link: Light Control with Distance Sensors (Difficulty: 2)
- Overview: Use a distance sensor to detect if a car is close to the entrance or exit of a tunnel, then turn on or off the light in the tunnel accordingly.
Topic 32 - Attach to Body Part
-
Tutorial Link: Attach to Body Part
-
Overview: You can attach one object (such as a hat) to a body part (such as the head) of another object (an avatar or an animal model), so that when that object plays an animation, the attached object will behave as if it is part of that object.
Project Idea - A Giraffe with Wings (Difficulty: 2)
- Overview: Load the giraffe model, and attach a “Wing 12” model to its “Spine” body part.
- Demo project: play.creaticode.com/projects/ab4f94592232a3706993b204
Topic 33 - First Person View Cameras
-
Tutorial Links:
-
Overview: You can move a “follow camera” right in front of an object or an avatar, so you get a first-person view without showing that object or avatar. You can also shoot out objects from the camera’s position, which is useful for first-person shooting games.
Project Idea - Shooting Boxes (Difficulty: 4)
- Overview: Add some random moving boxes in the sky, then whenever the player clicks, shoot out a ball, and if that ball collides with any box, delete that box.
- Demo project: play.creaticode.com/projects/488f7d22f257913f41a8cf31
Project Idea - Throwing a Ball (Difficulty: 5)
- Overview: Add a ring in the sky, then when the player clicks any point, throw a ball (handle gravity), and see if that ball can fly through the ring.
Topic 34 - Enable 3D Physics Engine for Simple Shapes
-
Tutorial Links:
-
Overview: You can use the 3D physics engine to help manage the 3D objects in your scene. For example, instead of writing code to directly move an object, you just need to tell the physics engine to “make this object behave like a ball”, then the engine will take full control of the object, including how it moves and collides with other objects. This is done by using a simple shape like box/sphere/cylinder to serve as the “physics body” of the object, and simulate how that simple shape would behave. The physics engine allows you to create very complex and realistic 3D worlds without writing too much code.
Project Idea - A Bouncing Ball Game (Difficulty 3)
- Tutorial Link: A Bouncing Ball Game (Difficulty 3)
- Overview: A physics-based game where we move and tilt a board so that the ball falls onto a platform
Project Idea - A Physics Puzzle Game (Difficulty: 3)
- Tutorial Link: A Physics Puzzle Game (Difficulty: 3)
- Overview: A physics-based game where we click to remove boxes so that the ball falls into a basket
Project Idea - Bloxorz Game (Difficulty 6)
- Tutorial Link: Bloxorz Game (Difficulty 6)
- Overview: learn to reproduce a classic puzzle game called “Bloxorz”. In this game, the player rotates a box on a platform to reach the target hole:
Topic 35 - Enable Physics Engine for Compound Shapes
-
Tutorial Link: Compound Physics Bodies
-
Overview: Sometimes, simple shapes like a box or sphere will not accurately simulate the behavior of an object, and you may need to create a “compound” shape that is composed of a few simple shapes.
Project Idea - Compound Body for a Chair (Difficulty 4)
- Overview: create a simple object like a chair or table, then create a compound physics body for it.
Topic 36 - Setting a Physics Body’s Moving Speed
-
Tutorial Link: Set a Physics Body’s Moving Speed
-
Overview: After an object is “handed over” to the physics engine, you can not move it or set its position directly, since it will be bound to the physics body assigned to it. Instead, you can ask the physics engine to set the movement speed of that object for you.
Project Idea - A Mini Pool Game (Difficulty: 4)
- Tutorial Link: A Mini Pool Game (Difficulty: 4)
- Overview: Create a mini pool game using the physics engine
Project Idea - Water Simulator (Difficulty: 2)
- Tutorial Link: 3D Physics - Water Simulator (Difficulty: 2)
- Overview: Create a lot of waterdrops (spheres) using the physics engine
Topic 37 - Apply Force to Physics Bodies
-
Tutorial Link: Apply Force to Physics Bodies
-
Overview: Another way to make an object move is to apply some “force” to it. For example, gravity is one type of force. The physics engine will simulate how the object should behave when that force is applied.
Project Idea - A Jumping Ball Game (Difficulty: 4)
- Overview: Create a simple game where you place a ball on a ramp. when user presses the up arrow, add push force to a ball. when the user releases the key, stop the force. See if the ball can fall into a basket.
Topic 38 - Handle Collisions Between Physics Bodies
-
Tutorial Link: Handle Collisions Between Physics Bodies
-
Overview: When 2 objects with physics body collides, the physics engine will broadcast a message, which allows you to add additional code to handle such events. For example, when a ball hits a target, remove the ball from the scene.
Project Idea - A Pinball Game (Difficulty: 5)
- Tutorial Link: A Pinball Game (Difficulty: 5)
- Overview: Create a pinball game using the physics engine
Topic 39 - Car with Physics Simulation
-
Tutorial Links:
-
Overview: The physics engine can accurately simulate the movement of a car and its 4 wheels, which is useful to create realistic car games. You can even build your own car using simple shapes, and then let the physics engine control it.
Project Idea - Smashing Boxes with a Car (Difficulty: 3)
- Tutorial Link: Smashing Boxes with a Car (Difficulty: 3)
- Overview: A physics-based game where we drive a car up a ramp to hit a stack of boxes.
Topic 40 - Constraints between 2 Physics Objects
-
Tutorial Links:
-
Overview: The physics engine can simulate various kinds of “constraints”, which are forces dynamically applied to objects to maintain the relative position between 2 physics-enabled objects.
- Distance Constraint: keeps 2 objects at the same constant distance even if they move
- Fixed Constraint: keeps the relative position between 2 objects the same
- Hinge Constraint: makes 2 objects look like they are connected by a rotating hinge (such as a door and the frame)
Project Idea - Spiderman Basketball (Difficulty: 5)
- Tutorial Link: Spiderman Basketball (Difficulty: 5)
- Overview: Create a game using the physics engine to swing a ball to a target basket
Topic 41 - Prebuilt Particle Emitters
-
Tutorial Link: Using Prebuilt Particle Emitters
-
Overview: “Particle Emitters” can emit (generate) particles, which are simply 2D images with transparent backgrounds. Usually, a particle emitter can emit hundreds or even thousands of particles continuously, which can produce beautiful and realistic visual effects. There are a few pre-built emitters that can be easily added to your scene with customization: fire, smoke, spark, halo and orb.
Project Idea - Cast Fire Balls (Difficulty: 5)
- Overview: Add an avatar and some other objects. When the user clicks any object, the avatar will cast a fireball onto that object.
- Demo project: play.creaticode.com/projects/2df80414e8d8d5f0356c65fe
Topic 42 - Single-Point Particle Emitter
-
Tutorial Link: Single-Point Particle Emitter
-
Overview: To produce more customized visual effects, you can use single-point particle emitters instead of using the pre-built ones. These emitters generate particles from a single point in the scene, and you can customize many parameters for the particles, such as their image pattern, size, moving speed, rotation speed and life span.
Project Idea - Click for Sparks (Difficulty: 3)
- Overview: Whenever the user clicks on a box, add a spark at that point.
- Demo project: play.creaticode.com/projects/5eb000b67c2db4d312d2f71d
Topic 43 - Moving and Rotating Particles
-
Tutorial Link: Moving and Rotating Particles
-
Overview: Just like any 3D object, you can move or rotate a particle emitter, which causes the new particles to be generated at new locations and angles.
Topic 44 - Shape-Based Particle Emitters
-
Tutorial Link: Shape-Based Particle Emitters
-
Overview: Besides single-point emitters, there are other particle emitters that generates particles from a transparent 3D shape, like a box or sphere.
Topic 45 - AR with Face Camera
-
Tutorial Links:
-
Overview: AR (Augmented Reality) is about overlaying 2D/3D content in camera videos in realtime. With the AR face camera block, we can detect and track the user’s face in the camera video and add additional 3D objects.
Project Idea - Virtual Face Paintings (Difficulty: 2)
- Tutorial Link: Virtual Face Paintings (Difficulty: 2)
- Overview: In this tutorial, you will build a program that allows the user to try different face paintings by augmenting the user’s face detected in the camera video.
Project Idea - Breathing Fire Effect (Difficulty: 3)
- Tutorial Link: Breathing Fire Effect (Difficulty: 3)
- Overview: In this tutorial, you will learn to detect events using the face tracking data, such as opening mouth, and attaching a fire particle emitter to the mouth.
Project Idea - Virtual Costume with Occlusion (Difficulty: 3)
- Tutorial Link: Virtual Costume with Occlusion (Difficulty: 3)
- Overview: In this tutorial, you will learn to use a transparent object to occlude (block) part of a virtual object from being seen, so it looks more realistic.
Topic 46 - AR with World Camera
-
Tutorial Links:
-
Overview: With the AR world camera block, we can detect and track the 3D world around us, and place new 3D objects in this world, which will overlay on the camera video. As we walk around, those objects will remain at the same position, as if they are part of the real world.
-