Learn what nodes are and the role they play in SceneKit.
- [Instructor] According to the Apple Developer Documentation, a node is defined as "a structural element of a scene graph, "representing a position and transform "in a 3D coordinate space, "to which you can attach geometry, lights, "cameras, or other displayable content." So, there you have the technical definition from Apple themselves. But I think it's easier to understand the concept of nodes if we look at an example of how nodes are structured. Let's consider the parts of a backhoe. You have the boom, the stick, and the bucket.
Combined, these parts make up the backhoe. Individually, the boom can be considered the parent node, the stick can be considered a child node of the boom, and the bucket is a child node of the stick. If we wanted to move the stick and the bucket, we can rotate the boom node, and the stick and the bucket will move along with it. If we want to move just the bucket, we can do that independent of the boom by rotating the bucket around its parent node, which is the stick. To extend our metaphor even further, the nodes that make up the boom, stick, and the bucket do not live or function independently.
After all, it's a tractor that they're connected to. In this example, the tractor's our foundation. In SceneKit, this foundation is called the root node and all nodes are added, either as child nodes of the root node, or as a child from a previous node. To put this into context for this course, we're going to have geometric shapes flying across the screen and then falling back down. Each shape will have a trail of particles. In this case, the main geometric shape is the parent node and the particles are the child node of the parent and will inherit the colors of the parent node.
- Setting up SceneKit
- The SceneKit coordinate system
- Using built-in view features
- Physics in SceneKit
- Spawning multiple objects and timers
- Optimizing performance
- Creating your first particle system
- Configuring and implementing a particle system
- Enabling touch