vuo.scene
These nodes are for working with 3D scenes.
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.
To load a 3D model from a file, you can use the Fetch Scene
node. It supports files with extension .3ds, .dae, .dxf, .lwo, .lxo, .ac3d, .ms3d, .cob, .scn, .xml, .irr, .irrmesh, .mdl, .md2, .md3, .pk3, .mdc, .md5, .m3, .smd, .ter, .raw, .b3d, .q3d, .q3s, .nff, .off, .3dgs, .hmp, and .ndo.
To make graphics rendering more efficient, by default Vuo only renders the front/exterior side of a 3D object. For example, with Make Sphere Vertices
, 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.
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.
If you’d like to create a scene within Vuo, you can start with the Make 3D Object
node or one of the shortcut nodes, such as Make Cube
or Make 3D Object from Image
.
To display a scene, you can use the Render Scene to Window
node.
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.
- Bend Sphere: Deforms a sphere by bending it around a focal point.
- 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 Scene Object Blend Mode: Changes the blend mode of the yellow foreground sceneobject, while oscillating back and forth.
- Change Traffic Signal: Displays a traffic signal mesh, and changes the shader used to render each of its lights.
- Compare 4 Cameras: Makes a scene consisting of a cube and a sphere. 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.
- Display Row Of Spheres: Displays multiple copies of a sphere in a row across the graphics area.
- Display Scene: Displays and animates a 3D scene.
- Display Scene With Floor: Displays a 3D scene with a plane underneath.
- Display Square: Displays a square.
- Divide Sphere: Breaks a sphere into pieces and moves them outward from the sphere's original surface.
- Explode Sphere: Shatters the front of a sphere.
- Facet Sphere: Deforms a sphere by turning its smooth surface into flat faces.
- Flip Coin: Displays a two-sided coin that you can flip by scrolling your mouse or touch pad.
- Flip Photo: Displays an image that you can flip to see the caption on the back. Click to flip.
- Move Spinning Sphere: Displays a rotating sphere that can be moved using the mouse.
- Pinch Sphere: Deforms a sphere by pulling it toward and pushing it away from a point.
- Play Tennis: Lets you play a retro tennis game against a computer player. Move the mouse to control your tennis racquet.
- Replace Shader For Scene: Displays a 3D scene whose shaders have been replaced with a checkerboard image.
- 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.
- Skew Sphere: Deforms a sphere by skewing it along a diagonal.
- Spike Sphere: Deforms a sphere by making spikes grow out of it.
- Spin Sphere: Displays a rotating sphere.
- Switch Cameras: Displays a cube alternately with a custom camera and the default camera. Click to switch cameras. Scroll to zoom the custom camera.
- Trim Sphere: Trims a sphere horizontally and vertically.
- Twirl Grid: Deforms a plane by twirling it.
Nodes:
- Arrange 3D Objects in Grid (vuo.scene.arrange.grid): Moves objects so that they are evenly arranged in a 3D grid.
- Show Back of 3D Object (vuo.scene.back): Shows the back/interior of the object (optionally keeping the front/exterior).
- 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.
- Get 3D Object Bounds (vuo.scene.bounds): Outputs the center and size of a 3D object.
- Combine 3D Objects (vuo.scene.combine): Groups multiple 3D objects together and applies a transformation to the group.
- Copy 3D Object with Transforms (vuo.scene.copy): Creates 3D object group consisting of transformed copies of an original.
- Copy 3D Object (vuo.scene.copy.trs): Creates a 3D object group consisting of transformed copies of an original.
- 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 Scene (vuo.scene.fetch): Loads or downloads a 3D scene (3D model) from a URL.
- Fetch List of Scenes (vuo.scene.fetch.list): Loads or downloads 3D scenes (3D models) from a set of URLs.
- Make 3D Object (vuo.scene.make): Creates a 3D object that can be added to a 3D scene.
- Make Orthographic Camera (vuo.scene.make.camera.orthographic): Creates an orthographic 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 Perspective Camera (vuo.scene.make.camera.perspective): Creates a perspective 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 Stereo Camera (vuo.scene.make.camera.stereo): Creates a stereoscopic perspective camera that can be added to a 3D scene.
- Make Targeted Stereo Camera (vuo.scene.make.camera.stereo.target): Creates a stereoscopic perspective camera that can be added to a 3D scene.
- Make Cube (vuo.scene.make.cube): Creates a cube that can be added to a 3D scene.
- 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 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.
- Make Ambient Light (vuo.scene.make.light.ambient): Creates ambient light 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 Spotlight (vuo.scene.make.light.spot): Creates a spotlight 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.
- Add Noise to 3D Object (vuo.scene.noise): Moves the object’s vertices using Perlin noise.
- 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.
- Render Scene to Image (vuo.scene.render.image): Creates an image that is a snapshot of a 3D scene.
- Render Scene to Stereo Images (vuo.scene.render.image.stereo): Creates an image that is a stereoscopic snapshot of a 3D scene.
- Render Scene to Window (vuo.scene.render.window): Displays a window containing a 3D scene.
- Ripple 3D Object (vuo.scene.ripple): Distorts the object with a wave effect.
- Change All Shaders (vuo.scene.shader.all): Applies a shader to a 3D object and all of its child objects.
- Change Shader for Material (vuo.scene.shader.material): Applies a shader to a specific material in a 3D object and all of its child objects.
- 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.
- 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.