Log inGet started
World

Blockbuster 767

Branchmain
Branchesmain
Commit8e9b87fcce

README.md

planeGeometry

The toy 767's shape, written as numbers.

Every function here returns a flat MeshGeometry table — positions, normals, uvs, indices — of the kind asset.create("mesh", …) takes. Nothing in this file touches the scene, so the shapes can be generated, measured and re-generated with no entity in existence.

The fuselage is sampled from a profile rather than hand-placed rings: a sine-series ogive nose closed by a rounded tip, a straight barrel, and a tapering upswept tail cone. Wings, tailplane and fin are aerofoils whose chord steps are cosine-spaced, crowded at the leading and trailing edges, which is what keeps the facets off the top of the wing. The engines carry a cowling, a duct and a spinner; the wind-up key has a shaft, a collar and a two-lobed bow, pivoted at the base of its shaft so it turns in place.

Model space follows the engine's basis — +X right, +Y up, and the toy's NOSE at local -Z. Every part is authored in the airframe's own space, so a part entity sits at the origin with no offset. Geo.UV names the atlas rectangle each surface is painted into, Geo.HALF the collider box the whole toy fits inside, and Geo.PART_HALF the same for each part on its own.

Consumed by game.art.planeAssets (which bakes these into meshes) and by game.art.planeTexture (which paints the rectangles Geo.UV names).