threejs-procedural-planets

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Procedural Planets

程序化行星

Build a planet as a coupled field system evaluated on a unit direction. The same geological causes must drive geometry, color, roughness, normal, atmosphere handoff, and distance filtering.
基于单位方向向量构建一个耦合场系统的行星。相同的地质成因必须驱动几何形状、颜色、粗糙度、法线、大气衔接以及距离过滤。

Required build order

必要的构建顺序

  1. Establish planet-space direction, radius, sea level, and world-unit scale.
  2. Build macro silhouette fields before any surface material.
  3. Add named geological structures: continents, basins, ridges, craters, lava fields, or ice.
  4. Derive slope, cavity, altitude, latitude, exposure, and shoreline fields.
  5. Classify broad biomes from those causes.
  6. Derive displacement, color, roughness, and normal from the shared field bundle.
  7. Filter bands by represented mesh scale and camera altitude.
  8. Couple the material to atmosphere and lighting using the same planet transform.
Read references/planet-field-and-atmosphere-systems.md for terrain, biome, gas-giant, material, altitude-LOD, and atmosphere-handoff mechanisms, including a known CPU/GPU field-parity failure mode.
Read the procedural planet surface implementation and its shared terrain field for undeformed sphere coordinates, shared CPU/GLSL terrain, coupled biome and material causes, derivative bump, and altitude-filtered detail.
  1. 确定行星空间方向、半径、海平面和世界单位比例。
  2. 在添加任何表面材质之前构建宏观轮廓场。
  3. 添加指定的地质结构:大陆、盆地、山脊、陨石坑、熔岩场或冰层。
  4. 推导坡度、凹陷、海拔、纬度、暴露度和海岸线场。
  5. 根据这些成因划分广泛的生物群系。
  6. 从共享场集中推导位移、颜色、粗糙度和法线。
  7. 根据网格表示比例和相机海拔过滤波段。
  8. 使用相同的行星变换将材质与大气和光照耦合。
阅读references/planet-field-and-atmosphere-systems.md了解地形、生物群系、气态巨行星、材质、海拔LOD和大气衔接机制,包括一个已知的CPU/GPU场一致性失效模式。
阅读程序化行星表面实现及其共享地形场,了解未变形球体坐标、CPU/GLSL共享地形、耦合的生物群系和材质成因、导数凹凸以及海拔过滤细节。

Non-negotiable constraints

不可妥协的约束条件

  • Domain-warp tangentially and renormalize; do not distort the sphere radially.
  • Craters need floor, wall, rim, and optional ejecta—not dark circles.
  • Continents and biomes must be region fields, not isolated threshold bubbles.
  • Geometry displacement and shader normals must describe the same height function.
  • Close detail may disappear with altitude; the macro silhouette may not.
  • Expose individual field views and a displacement exaggeration mode.
  • 沿切线方向进行域扭曲并重新归一化;不要径向扭曲球体。
  • 陨石坑需要包含底部、侧壁、边缘以及可选的喷射物——而不是简单的暗圈。
  • 大陆和生物群系必须是区域场,而非孤立的阈值气泡。
  • 几何位移和着色器法线必须描述相同的高度函数。
  • 近距离细节可能随海拔升高而消失;但宏观轮廓不得消失。
  • 提供单独的场视图和位移夸张模式。

Completion test

完成测试

The body must remain intentional in:
  • unlit silhouette;
  • flat albedo with no atmosphere;
  • grazing directional light;
  • orbit view;
  • close approach;
  • biome-mask and normal-only views;
  • at least three seeds without losing the chosen planetary identity.
行星体必须在以下场景中保持设计一致性:
  • 无光照轮廓;
  • 无大气的平坦反照率;
  • 掠射方向光;
  • 轨道视角;
  • 近距离观测;
  • 生物群系遮罩和仅法线视图;
  • 至少三种随机种子下仍保持选定的行星特征。

Routing boundary

路由边界

Use
$threejs-procedural-fields
for a reusable field bundle without a complete body, and
$threejs-atmosphere-aerial-perspective
for scattering independent of planet generation. This skill owns the coupled planetary surface.
使用
$threejs-procedural-fields
获取不包含完整行星体的可重用场集,使用
$threejs-atmosphere-aerial-perspective
获取独立于行星生成的散射效果。本技能负责耦合式行星表面的开发。