Scene (vuo.scene)
Nodes for creating and rendering 3D graphics scenes.
Scene basics
A scene (scenegraph) contains a set of 3D objects. Each object has a set of vertices (mesh) that defines its shape. You can control how the object looks when rendered (such as color and texture) by changing its shader. You can control the position, angle, and size of the object by changing its transform. You can control the point of view on the scene by adding a camera.
Many of the nodes in this node set are object filters — they take an input object and apply an effect on it to produce an output object. To see a list of the object filter nodes, search the Node Library for “object filter”.
Loading a 3D model
To load a 3D model from a file, you can use the Fetch Scene node. It supports files with extension .3dgs, .3ds, .ac3d, .b3d, .blend, .cob, .dae, .dxf, .fbx, .hmp, .irr, .irrmesh, .lwo, .lxo, .m3, .md2, .md3, .md5, .mdc, .mdl, .ms3d, .ndo, .nff, .obj, .off, .pk3, .ply, .q3d, .q3s, .raw, .scn, .smd, .stl, .ter, and .xml.
Showing the back/interior
To make graphics rendering more efficient, by default Vuo only renders the front/exterior side of a 3D object. For example, with Make Sphere, Vuo shows the sphere when viewed from the outside — but if you move the camera inside the sphere, it disappears. You can make the back/interior of the object visible with the Show Back of 3D Object node.
GPU acceleration
If the GPU supports it, the object filter nodes do their work on the GPU (rather than CPU) for faster performance.
Coordinates
In Vuo Coordinates, (0,0,0) is the center of the scene. The default camera is at (0,0,1). When viewed through this camera, the scene has a width of 2, with X-coordinate -1 on the left edge and 1 on the right edge. The scene’s height is determined by its aspect ratio, with the Y-coordinate increasing from bottom to top. The Z-coordinate increases from back to front. Objects are visible if their distance from the camera along the Z-axis is between 0.1 and 10.
Example compositions:
- Add Noise to Clay: Displays 4 spheres in a grid, and deforms them with noise.
- Aim Flashlight: Displays a simple scene which can be lit and revealed by moving the mouse to aim the flashlight.
- Animate Supershape: Dynamically changes the supershape's n1, n2, and n3 exponents,
to demonstrate a range of shapes the supershape formula can create.
Drag to rotate the supershape.
- Bend Sphere: Deforms a sphere by bending it around a focal point.
- Blend Sphere into Scene: Demonstrates different ways of blending a semi-transparent sphere onto the scene behind it. Move the mouse to drag the camera.
- Bounce Line Strip: Animates a line segment that bounces around within an area.
- Bounce Stereo Sphere: Displays a sphere using a stereo camera, and displays the result as a red/cyan anaglyph to be viewed with 3D glasses.
- Change Traffic Signal: Displays a traffic signal mesh, and changes the shader used to render each of its lights.
- Compare Cameras: Makes a scene consisting of two palm trees, each shaded with different coloring. Displays 4 different views of the same scene, like CAD software.
- Compare Lights: Makes a scene consisting of a cube and a sphere. Displays 3 different types of lights, explaining the difference between them.
- Dent Room: Makes a room of grid lines that you can displace by moving the mouse.
- Displace Radial Gradient: Extrudes a set of lines in the shape of a rounded mound using the brightness of an image.
- Display Cube: Displays a 3D wireframe cube. You can rotate the scene by dragging the mouse.
- Display Row of Spheres: Displays multiple copies of a sphere in a row across the graphics area.
- Display Scene: Displays a 3D scene. Drag the mouse to alter the view.
- Display Scene with Floor: Displays a 3D scene with a plane underneath.
- Display Sphere: Displays a sphere.
- Divide Sphere: Breaks a sphere into pieces and moves them outward from the sphere's original surface.
- Draw In Space: Uses the mouse to draw lines in 3D space. A separate panel controls the speed of the rotation and the variation in the width and color of newly-created lines.
- Explode Sphere: Shatters a sphere.
- Facet Sphere: Deforms a sphere by turning its smooth surface into flat faces.
- Make Rugged Terrain: Deforms a plane by moving its points according to the brightness of parts of an image.
Press space to switch between vertical lines, horizontal lines, or both.
- Move Beads on String: Creates a simple bead and string scene, then applies wave motion to it.
- Move Spinning Sphere: Displays a rotating sphere that can be moved using the mouse. If you don't see the sphere, move the mouse over the composition window.
- Move through Tube with Fisheye: Animates moving through a tube, using a fisheye camera.
- Operate on 3D Objects: Demonstrates boolean operations on 3D objects. Drag the mouse to change the view.
- Paint Scene with Checkerboard: Displays a 3D scene whose shaders have been replaced with a checkerboard image.
- Pinch Rectangles: Deforms three different rectangular scene objects with a "pinch" object filter: a solid rectangle, a rectangle made up of grid lines, and a rectangle made up of grid points.
- Pinch Sphere: Deforms a sphere by pulling it toward and pushing it away from a point.
- Quantize Object: Quantizes a 3D object using a step size that varies over time.
- Rewind Checkerboard Explosion: Shows a cloud of triangular confetti that gradually joins together to form a checkerboard-painted square.
- Ripple Grid: Ripples a plane with various kinds of waves.
- Ripple Image of Sphere: Renders a rotating sphere to an image, then adds a ripple distortion to the image.
- Show Random Points: Shows a set of rotating points, demonstrating different random distributions.
- Show Spheres with Lights: This composition shows a rotating camera viewing three spheres. Click to change the elevation of the camera.
- Show Trees with Fisheye: Shows a simple scene using a fisheye camera.
- Skew Sphere: Deforms a sphere by skewing it along a diagonal.
- Spike Sphere: Deforms a sphere by making spikes grow out of it.
- Spin Shell: Animates a 3D seashell-shaped object.
- Switch Cameras: Switches between the default camera looking at the front of a scene and a second camera looking down on the scene from above.
- Tile Starfield: Animates a random points object shaded with ovals and tiled across the scene to simulate a starfield.
- Trim Sphere: Trims a sphere horizontally and vertically.
- Twirl Grid: Deforms a plane by twirling it.
Nodes:
- Add Noise to 3D Object (vuo.scene.noise): Moves the object’s vertices using Perlin noise.
- Arrange 3D Objects in Grid (vuo.scene.arrange.grid): Moves objects so that they are evenly arranged in a 3D grid.
- Bend 3D Object (vuo.scene.bend): Warps the object along a curve.
- Change 3D Object Blending (vuo.scene.blendMode): Applies a different image compositing style to the object.
- Change All Shaders (vuo.scene.shader.all): Applies a shader to a 3D object and all of its child objects.
- Change Shaders with Name (vuo.scene.shader.material): Replaces shaders in a 3D object and all of its child objects.
- Combine 3D Objects (vuo.scene.combine): Groups multiple 3D objects together and applies a transformation to the group.
- Combine 3D Objects (Group) (vuo.scene.combine.group): Groups multiple 3D objects together.
- Copy 3D Object (TRS + Material) (vuo.scene.copy.trs.material): Creates a 3D object group consisting of transformed copies of an original, each with a reassigned material.
- Copy 3D Object (TRS) (vuo.scene.copy.trs): Creates a 3D object group consisting of transformed copies of an original.
- Copy 3D Object (Transform) (vuo.scene.copy): Creates 3D object group consisting of transformed copies of an original.
- Displace 3D Object with Image (vuo.scene.displace.image): Translates each vertex in a direction perpendicular to its plane by an amount determined by the brightness of an image.
- Divide 3D Object (vuo.scene.divide): Separates the object’s edges, and moves them outward.
- Explode 3D Object (vuo.scene.explode): Violently shatters the object.
- Facet 3D Object (vuo.scene.facet): Sharpens the object’s edges.
- Fetch List of Scenes (vuo.scene.fetch.list): Loads or downloads 3D scenes (3D models) from a set of URLs.
- Fetch Scene (vuo.scene.fetch): Loads or downloads a 3D scene (3D model) from a URL.
- Find 3D Objects (vuo.scene.find): Searches a 3D object and its children for any 3D objects matching both the type and name, and outputs matches in a list.
- Flatten 3D Object (vuo.scene.flatten) [Pro node]: Merges all the object’s children together into a single object, and assigns a new material to that object.
- Get 3D Object Bounds (vuo.scene.bounds): Outputs the center and size of a 3D object.
- Get 3D Object Values (vuo.scene.get2): Gives information about a 3D object.
- Get Child Objects (vuo.scene.get.child): Outputs a list of a 3D object’s child objects.
- Intersect 3D Objects (vuo.scene.intersect) [Pro node]: Creates an object representing the intersection of all the input objects (the objects' overlapping volume), and assigns a new material to that object.
- Make 3D Object from Image (vuo.scene.make.image): Turns an image into a 3D object that can be added to a 3D scene.
- Make 3D Square (vuo.scene.make.square): Creates a scene object in the shape of a square.
- Make 3D Triangle (vuo.scene.make.triangle): Creates a scene object in the shape of an equilateral triangle.
- Make Ambient Light (vuo.scene.make.light.ambient): Creates ambient light that can be added to a 3D scene.
- Make Cone (vuo.scene.make.cone): Creates a scene object in the shape of a cone.
- Make Cube (vuo.scene.make.cube.1): Creates a scene object in the shape of a cube.
- Make Cube with Materials (vuo.scene.make.cube): Creates a scene object in the shape of a cube.
- Make Draggable Camera (vuo.scene.make.camera.drag2): Creates a draggable perspective camera that can be added to a 3D scene.
- Make Fisheye Camera (vuo.scene.make.camera.fisheye) [Pro node]: Creates a fisheye camera that can be added to a 3D scene.
- Make Grid Lines Object (vuo.scene.make.grid.lines): Creates a square mesh made up of lines.
- Make Grid Points Object (vuo.scene.make.grid.points): Creates a square mesh made up of points.
- Make Icosphere (vuo.scene.make.icosphere): Creates a scene object in the shape of a sphere.
- Make Line Strips Object (vuo.scene.make.lineStrips): Creates a scene object made up of a series of connected line segments.
- Make Lines Object (vuo.scene.make.lines): Creates a scene object made up of line segments.
- Make Orthographic Camera (vuo.scene.make.camera.orthographic): Creates an orthographic camera that can be added to a 3D scene.
- Make Parametric Object (vuo.scene.make.parametric): Creates a scene object in a shape defined by parametric math expressions.
- Make Perspective Camera (vuo.scene.make.camera.perspective): Creates a perspective camera that can be added to a 3D scene.
- Make Point Light (vuo.scene.make.light.point): Creates a point light that can be added to a 3D scene.
- Make Points Object (vuo.scene.make.points): Creates a scene object made up of points.
- Make Random Points Object (vuo.scene.make.random.points): Creates a 3D object made up of points at random positions.
- Make Sphere (vuo.scene.make.sphere): Creates a scene object in the shape of a sphere.
- Make Spotlight (vuo.scene.make.light.spot): Creates a spotlight that can be added to a 3D scene.
- Make Stereo Camera (vuo.scene.make.camera.stereo) [Pro node]: Creates a stereoscopic perspective camera that can be added to a 3D scene.
- Make Supershape (vuo.scene.make.supershape): Creates a scene object using the “supershape” formula.
- Make Targeted Fisheye Camera (vuo.scene.make.camera.fisheye.target) [Pro node]: Creates a fisheye camera that can be added to a 3D scene.
- Make Targeted Orthographic Camera (vuo.scene.make.camera.orthographic.target): Creates an orthographic camera that can be added to a 3D scene.
- Make Targeted Perspective Camera (vuo.scene.make.camera.perspective.target): Creates a perspective camera that can be added to a 3D scene.
- Make Targeted Spotlight (vuo.scene.make.light.spot.target): Creates a spotlight that can be added to a 3D scene.
- Make Targeted Stereo Camera (vuo.scene.make.camera.stereo.target) [Pro node]: Creates a stereoscopic perspective camera that can be added to a 3D scene.
- Make Torus (vuo.scene.make.torus): Creates a scene object in the shape of a torus.
- Make Triangles Object (vuo.scene.make.triangles): Creates a scene object made up of triangles.
- Make Tube (vuo.scene.make.tube): Creates a scene object in the shape of a tube.
- Make Unlit 3D Object from Image (vuo.scene.make.image.unlit): Turns an image into a 3D object that can be added to a 3D scene.
- Normalize 3D Object (vuo.scene.normalize): Centers and scales a 3D object so that it can easily be rendered.
- Pinch 3D Object (vuo.scene.pinch): Pulls the object toward the specified point, or pushes it away from the point.
- Quantize 3D Object (vuo.scene.quantize): Distorts the object by moving its vertices to the corners of a grid.
- Remove Texture Coordinates (vuo.scene.tc.remove): Removes the texture coordinates from a 3D object.
- Render Scene to Image (vuo.scene.render.image2): Creates an image that is a snapshot of a 3D scene.
- Render Scene to Stereo Images (vuo.scene.render.image.stereo2) [Pro node]: Creates an image that is a stereoscopic snapshot of a 3D scene.
- Render Scene to Window (vuo.scene.render.window2): Displays a window containing a 3D scene.
- Ripple 3D Object (vuo.scene.ripple): Distorts the object with a wave effect.
- Show Back of 3D Object (vuo.scene.back): Shows the back/interior of the object (optionally keeping the front/exterior).
- Skew 3D Object (vuo.scene.skew): Moves part of the object, while holding part of it steady.
- Spike 3D Object (vuo.scene.spike): This node takes every triangle in an object and splits it into 3 triangles, each touching a new vertex added at the center of the original triangle.
- Subtract 3D Objects (vuo.scene.subtract) [Pro node]: Creates an object representing the difference between the two input objects, and assigns a new material to that object.
- Tile 3D Object (vuo.scene.tile): Creates copies of a 3D object tiled in a grid.
- Transform 3D Object (vuo.scene.transform): Applies a transformation to a 3D object.
- Trim 3D Object (vuo.scene.trim): Hides parts of the object that are outside the specified box.
- Twirl 3D Object (vuo.scene.twirl): Rotates part of the object, while holding part of it steady.
- Union 3D Objects (vuo.scene.union) [Pro node]: Creates an object representing the union of all the input objects (the objects' combined volume), and assigns a new material to that object.