Q3D allows you to create entire 3D games, or supplement existing 2D games with 3D backgrounds or overlays, with all programming done in the Construct 2 event sheet.
Check out the TINY TANK demo for an idea of what's possible with the Q3D plugin!
Supported Features:
3D WebGL canvas rendering inside Construct 2, using three.js
- Supplement the power of Construct 2 with the 3D capabilties of three.js
- Overlay the 3D canvas with 2D elements like text and sprites.
- Control rendering resolution at runtime
- Support for anti-aliasing
Objects:
- Easy loading of 3D models in .obj, and three.js JSON format
- Generate objects from built in geometric primitives with controllable parameters
- Plane, Circle plane, Ring plane, Cube, Cylinder, Sphere, Icosahedron, Octahedron, Tetrahedron, Torus, Torus knot
- Control 3D object position, rotation and scale in local and world space using various helper functions, or their transformation matrix directly
- Parent and group 3D objects to create articulated transformation hierarchies (example: tank turret, jointed arm, wheel on chassis, etc.)
- 2D billboard sprites. (camera facing polygons, for effects like smoke, fire, etc.)
- Clone existing hierarchies to make copies of complex groups easily.
- Give objects custom variables
- Retrieve object position, rotation, scale directly from the matrix.
- Control object appearance through materials and visibility.
Multiple scenes, cameras, viewports:
- Control scene background color, fog (color and type)
- Control camera projection modes, FOV, frustum shape, position and orientation
- Add, edit and remove multiple viewports at runtime for rendering splitscreen views, different view angles, GUI, or seperate scenes, simultaneously
Flexible materials system:
- Material shading models such as Phong, Lambert, Basic, as well as depth and normal based materials for other purposes
- Material properties like color, specular, ambient, emissive, opacity, blending, shading, wireframe and so forth can be changed at runtime
- Textures can be used for diffuse, specular, environment, bump, and normal mapping
- realtime cube mapping supported for dynamic reflections
- Texture properties can be changed at runtime, such as UV offsets, UV repeat, anisotrophy, image reference
Lighting Features:
- Various light types: spot, ambient, directional, hemisphere, and point
- Shadow mapping for spot and directional lights
- Control color, intensity, falloff, shadow darkness, position and direction, at runtime
- Control shadow filtering (unfiltered, PCF, PCF-Soft)
- Lights controlled through the same system as 3D objects.
Helper Objects:
- Light helpers to visualize position, direction and shadow frustums.
- Grid and axis helpers to help visualize orientation
- Bounding box visualization.
Specify how the 3D canvas is integrated with Construct with 3 simple modes:
- Above: A new canvas is created and placed above the Construct canvas (with it's CSS styling controlled by the construct object)
- Below: same as above, except it's placed under.
- Inside: Slower mode, where the canvas is rendered in Construct (like a sprite)
- Easy window fitting can be enabled as well.
Object Picking:
- Projected ray picking using a camera
- For each loop
New features will be added incrementally.