PixiJS 3D, the @pixi/3d package, draws 3D scenes in a PixiJS application. A View3D holds the scene. It's a display object you add to the stage like a sprite. Hello cube shows the smallest scene, a cube and a light in a view.
How 2D and 3D fit together
2D content later in the display list draws over the scene. 2D content earlier in the list shows behind it, unless you give the view a background. By default the view catches pointer events anywhere in its rectangle, so the user can't click, tap or hover 2D content behind it. Interaction shows the ways around this.
Inside the scene, +Y points up, and the defaults expect one unit to be a metre, not a pixel. A camera draws nothing past its far distance, 1000 units by default, so it cuts off a scene built at pixel sizes.
Features
Some parts come from @pixi/3d/extras, another entry point that Installation explains.
Scene graph. Meshes, models, lights and cameras are all nodes. Each has a position, rotation and scale relative to its parent. See Scene graph and transforms and Scene objects.
Meshes. A Mesh3D draws a geometry with a material. The geometry is the shape, and the material is how its surface looks. Built-in geometries such as CubeGeometry make common shapes, and a Geometry3D holds your own vertex data. See Meshes and Geometry. Resources and cleanup covers sharing geometries and materials between meshes and freeing their GPU memory.
Models.Assets.load reads glTF, an open standard format for 3D models, from .gltf and .glb files. A Model3D builds a loaded file's meshes, lights and cameras as nodes under itself. See Loading models and Compressed models.
Materials. Material3D is physically based, so it shades a surface the way real materials reflect light. PhongMaterial costs less per pixel, FlatMaterial draws with no lighting, and the extras add ToonMaterial for cartoon shading. See Materials.
Environment. The view's environment lights the scene from its surroundings. Use a Hemisphere for a sky-and-ground gradient, or a cube map for a picture of the surroundings on the six faces of a cube. See Environment.
Cameras. A Camera3D's mode is perspective, where far things look smaller, or orthographic, where they don't. The extras' OrbitCamera lets the user drag the camera around a target point, and FPSCamera gives first-person controls. See Cameras and Camera controls.
Interaction. 3D nodes take PixiJS's pointer events. Set a node's eventMode and listen on it as in 2D. See Interaction.
Post-processing. The extras hold effects and passes. An effect changes the finished picture, and BloomEffect is one that adds a glow. A pass is an extra drawing step that redraws meshes, and OutlinePass is one that draws ink outlines. Both go in the view's passes. See Post-processing.