Goal Portal
A level-end portal: an upright ring of stone blocks, riveted metal or crystal shards on a stepped plinth, filled with a swirling glowing vortex. The ring faces +Z. The part named swirl spins about z (userData.tick, Loop clip baked) and glows at night with the ring gems. Inner diameter 1.6 to 3.2 m.
- Size
- 3.6 × 3.5 × 1.8 m
- Triangles
- 1,228
- Kit
- Platformer
Tune it
4 knobs: Vortex, Frame, Size, Steps.
Specs
- Size
- 3.6 × 3.5 × 1.8 m width × height × depth
- Triangles
- 1,228 of 6,000
- Draw calls
- 1 one vertex-colour material
- Loop clip
- 8 m of travel per cycle
- Moving parts
- 1 swirl · spin
- Knobs
- 4 3 presets
- Night lights
- 2 swirl, glow
Passed the validator: real scale, rests on y = 0, front faces +Z, deterministic.
Use it
Code for the specimen as it is set up above; it follows your knobs.
import { createAsset } from 'https://gaitkit.com/cdn/goal-portal.mjs';
const goalPortal = createAsset();
scene.add(goalPortal); // rests on y = 0, front faces +Zimport { useMemo } from 'react';
import { createAsset } from 'https://gaitkit.com/cdn/goal-portal.mjs';
export function GoalPortal() {
const model = useMemo(() => createAsset(), []);
return <primitive object={model} />;
}# Import goal-portal.glb (download below). Moving parts are separate nodes, pivoted on their hinge.
add_child(preload("res://goal-portal.glb").instantiate())// Import goal-portal.glb with glTFast (com.unity.cloud.gltfast).
// Drop it in the scene: 1 unit = 1 metre, +Z is its front.Use the gaitkit MCP server: get_variant({ "id": "goal-portal", "want": "default look" })
then place the result.
# MCP endpoint
https://gaitkit.com/mcpKnobs
| Knob | Type | Values | Default | What it does |
|---|---|---|---|---|
vortex | choice | violet cyan gold green | violet | Colour of the swirling vortex and the ring gems: violet, cyan, gold or green. |
frame | choice | stone metal crystal | stone | stone (ancient ring of wedge blocks with a keystone), metal (riveted steel ring with gold trim, sci-fi warp gate), crystal (ring of pale ice-crystal shards). |
size | range | 1.6 to 3.2, step 0.1 | 2.4 | Inner diameter of the ring in metres; 2.4 lets a 1.8 m character walk through. |
steps | toggle | on / off | true | A stepped plinth with a front step under the ring. Off stands the ring straight on two feet. |
Presets: warp gate {"frame":"metal","vortex":"cyan","size":2.8} · ice gate {"frame":"crystal","vortex":"cyan","size":2} · golden finish {"frame":"stone","vortex":"gold","size":3}
Files
| File | What |
|---|---|
| goal-portal.glb | GLB, default look · 156 KB |
| goal-portal.mjs | ES module, every knob live |
| goal-portal.obj | OBJ, static, no colour |
| goal-portal-params.json | knob schema, presets, night zones |
Licence
Use it in games, apps, renders and client work, commercially and without credit. Do not resell it as an asset or train a 3D generator on it. The full licence.