尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Seeded low-poly spaceship generator in the browser. Six classes, liveries, fleet view. Export game-ready GLB, CC0.
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗Seeded, game-ready low-poly spaceships, generated in your browser.
Type a seed, pick a class, get a ship. The same seed always rebuilds the same ship, and you can export it as a .glb (or a whole fleet as a .zip) and drop it straight into Blender, Unity, Godot or Roblox. Everything you generate is CC0: use it for anything, no attribution needed.
Try it: https://exoticspices.github.io/shipyard/ · Source: https://github.com/exoticspices/shipyard
kestrel-4821, -4822, ...) parked in a tidy dock lineup. Click any ship to open it..glb for the focused ship, a fleet .zip with all nine GLBs, PNG screenshots, copy link.&ui=0 to the hash (or ?shot to the URL) to hide all UI and stop the auto-spin. Useful for screenshots and thumbnails.Keys: Space new ship · 1–6 class · T tier · L livery · V view · F fleet · R spin.
| # | Class | Look | Signature (S / M / L) |
|---|---|---|---|
| 1 | Fighter | dart fuselage, canopy, swept/delta/forward/cranked/X wings | engines 1 / 2 / 3 (+ 0 / 2 / 4 missiles) |
| 2 | Hauler | spine with clamped containers/tanks, aft command tower | containers abreast 1 / 2 / 3 × slots |
| 3 | Surveyor | slim hull haloed by a sensor ring | rings 1 / 1 / 2 · sensor nodes |
| 4 | Miner | segmented boxy hull, intake maw with grinders, crane | hull segments 2 / 3 / 4 |
| 5 | Corvette | layered slab hull, command island, turret batteries | turrets 2 / 4 / 6 (+ sponsons) |
| 6 | Racer | cockpit hull with dorsal spine, engine nacelles in an arrowhead, catamaran or bundle layout, tied together by a swept wing | hulls 3 / 5 / 7 |
Every GLB is in meters, Y-up, nose toward +Z (glTF forward) and centered on the origin. Each material channel gets one mesh and one material: primary, structure, accent, accent2, glass, windows, engineGlow. That makes recoloring or retexturing a single slot easy. Normals are flat (faceted look) and UVs are box-projected at 1 UV unit = 1 m, so a tiling trim/panel texture works without unwrapping. Exhaust plumes and the hover bob exist only in the viewer and are never exported.
com.unity.cloud.gltfast), or import through Blender to FBX. One unit is one meter. glTF +Z forward maps onto Unity's +Z forward..glb into the project and it imports natively. Set windows and engineGlow to Unshaded or give them emission so they glow.max N/mesh) if you push the detail slider on large tiers.Each class is a small hull grammar: a handful of rules that place parts relative to each other rather than at fixed coordinates.
seed + class, so a seed keeps its family look (wing type, nose, layout, fins) at every tier. The detail stream also includes the tier, so plating and greebles vary per size.width, height, chamfers, offset at each station). Noses, tails and humps come from changing those sections.hull.top(z) puts a canopy on the surface, hull.at(z) sizes a collar. That keeps parts attached when proportions change. A dev check flags any part whose bounds don't touch the rest of the ship.A ship builds in a few milliseconds. Large ships are roughly 3k–15k triangles.
It's a static site with no build step. Serve the folder over HTTP (ES modules don't load from file://):
npx http-server shipyard -p 8123 -c-1
# or
python -m http.server 8123 --directory shipyard
Then open http://127.0.0.1:8123/. three.js loads from jsDelivr via an import map.
Dev tooling lives in _dev/ (npm install there first; uses puppeteer-core with your installed Chrome):
node --import ./register.mjs gen-test.mjs: determinism, NaN, triangle-budget and floating-part checks across many seeds.node glb-check.mjs, node zip-check.mjs: validate exported GLBs and fleet zips from the running app.node shoot.mjs name=hash[@WxH] ...: headless screenshots. node og.mjs regenerates og.png.node perf.mjs, node leak.mjs: frame timing and GPU/heap leak checks.