
Açıklama
PlanetGen is a runtime C++ plugin (with full Blueprint support) for Unreal Engine 5 that generates streaming procedural worlds — spherical planets AND cylindrical ring worlds (O'Neill habitats) you can fly around, land on, and explore. Async chunk streaming, layered 3D noise, spatial climate biomes with polar ice caps, player-following grass and foliage, hand-authored exclusion volumes, a biome-aware actor spawner, a depth-tinted ocean you can wade into, per-planet atmospheres, ring structural shells, and a multiplayer-ready gravity framework (radial planet gravity AND centrifugal ring gravity) — all without blocking the game thread.
New in 1.10: an optional SPARSE FAR LAYER for grass and foliage — a thinned subset keeps spawning past the normal radius and fills in as you approach, so trees and rocks stop appearing as a wall at the edge of the scatter when you travel fast — plus a PERFORMANCE PASS that cuts chunk-build noise sampling roughly in half, moves the water and far-LOD builds onto multiple cores, and trims per-tick cost, all without changing a single vertex of the generated world.
Includes a ready-to-use multiplayer gravity character (BP_GravityJetpackCharacter) with client prediction — walk, wade, fly, hyperdrive and land anywhere, solo or multiplayer. Drop a planet or ring in and its gravity field is automatic.
Drop ACLMPlanet (sphere) or ACLMRingWorld (ring) into your level, assign a material, and click Preview. Hit Randomize for a new world.
Playable demo | Documentation | Discord Community
1.9 Exclusion Volumes
1.9 Depth Tinted Planet Oceans
1.6 LOD
1.6 Multi Planet Streaming
1.6 Atmosphere Dark Side
1.5 Ring World
1.4 Multiplayer
1.3 Climate Zones
Preview 1.2 - 50km Walkable Planet
0.1 Cube-Face Sphere Terrain Explained
0.2 Noise Layering & Biome Blending Explained
0.3 Biome-Aware Vegetation System
──────────────────────────────
NEW IN 1.10
──────────────────────────────
▸ Sparse Far Layer — grass and foliage used to cut off hard at their radius, so travelling fast made trees and rocks appear as a wall at the edge. Switch it on and a thinned subset keeps spawning further out, tapering with distance. The far instances are the SAME ones the dense area places, so approaching fills in BETWEEN them — nothing moves or swaps. Off by default, per asset and per entry.
▸ Performance Pass, identical output — chunk builds reuse the heights they already sampled for seamless normals (about half the noise evaluations per chunk), the foliage scatter rolls density before touching terrain, and the water and far-LOD builds now run across cores. Per-tick cost drops too.
▸ M_PlanetWaterV2 — a second depth-water material on the same per-vertex depth. Like M_PlanetWater, it needs Adaptive Water Tessellation ON.
──────────────────────────────
MANY PLANETS & REAL ATMOSPHERE
──────────────────────────────
▸ Multi-Planet LOD — a central arbiter streams full terrain for the nearest planet and renders every other as a single low-poly far sphere, so only ONE chunk pool is ever alive — a hitch-free occlusion handoff.
▸ Per-Planet Atmosphere & Correct Night Side — per-planet scattering, ground albedo, cloud altitude and sun shadow on UE's Sky Atmosphere; distant planets get a fresnel halo + cloud shell, and a shader-space terminator darkens the night side.
──────────────────────────────
CORE FEATURES
──────────────────────────────
▸ Streaming Terrain — spheres use a cube-face parameterization (6 faces), rings a cylinder. Both stream chunks from a runtime actor pool built on a thread pool, with a memory guardrail — the game thread is never blocked.
▸ Layered 3D Noise — sampled in 3D world space, so terrain is uniform on every face with no pole distortion or seams. Original CLMNoise library (Perlin / Simplex / Cellular / Ridged / Domain Warp), no third-party dependencies.
▸ Spatial Climate Biomes — a temperature x humidity model sorts every point into a Tundra / Boreal / Desert / Tropical matrix (each with its own snow / rock line, grass density and sand), plus polar ice caps. Deterministic and seam-free.
▸ Biome Blending — per-vertex Grass / Rock / Snow / Underwater weights plus shoreline beach and sand, seamless normals; the included M_Planet wires it up.
▸ Ring Worlds — ACLMRingWorld builds cylindrical O'Neill habitats on the same pipeline. Terrain streams on the INNER surface (centrifugal gravity, world curving overhead) or the OUTER, with a collidable shell, end walls and stacked cloud / atmosphere layers.
▸ Multiplayer Gravity — placeable sphere / cylinder / box volumes with priority and Gravity Strength (1 = Earth, 0.165 = Moon). Planets auto-register a radial field, rings a centrifugal one. Full client prediction; gravity is recomputed from position, never replicated.
▸ Zero-G, Jetpack & Hyperdrive — mark regions (or the level default) zero-gravity for space; jetpack hover with a gravity-aligned orbit camera; fast-fly hyperdrive for point-to-point travel.
▸ Grass & Foliage — dense ISM ground cover follows the player, shape-aware for spheres and rings, with clustering, climate filter and per-instance collision. HISM tree/rock scatter runs on the thread pool.
▸ Procedural Water — a sea-level sphere (planets) or cylindrical band (rings), adaptively tessellated to stay smooth at any size. Single Layer Water, so clouds render over it from space.
▸ Blueprint Interface + Preview — IPlanetInterface exposes radius / gravity radius / centre / seed. Every world is seeded and deterministic; CallInEditor buttons rebuild terrain without entering Play. Co-installs with other CodeLikeMe plugins (all types uniquely prefixed).
──────────────────────────────
INCLUDED
──────────────────────────────
▸ Full C++ source
▸ Planet material (M_Planet) with biome blending, desert sand, slope mask and day/night terminator
▸ Atmosphere content — far-halo / cloud-shell materials, MPC_Planet, terminator material functions and atmosphere assets
▸ Ring materials (M_Ring, M_RingAtmosphere, M_RingClouds, M_RingPostProcess + MPC_Ring), the depth-tinted Single Layer Water (M_PlanetWater) and a simple flat-colour water (M_SimplePlanetWater)
▸ Exclusion Volume actor and Actor Spawner data asset for hand-authored pads and world scatter
▸ Sample foliage and grass assets (trees, pine, cactus, grass) with meshes + materials, a jetpack mesh, and biome textures
▸ BP_CLMPlanet and BP_GravityJetpackCharacter / BP_GravityCharacter demo characters (jetpack + hyperdrive + water traversal) + input assets
▸ StartMap, PlanetMap_Atmos, MultiPlanetsMap and RingMap demo levels
──────────────────────────────
PERFECT FOR
──────────────────────────────
Space games, planetary exploration, sci-fi survival, multi-planet solar systems, O'Neill-cylinder habitats — any project needing streaming planets or ring worlds with real terrain, biomes, atmospheres, multiplayer gravity and foliage without writing cube-sphere math, noise, streaming, LOD or gravity from scratch.
──────────────────────────────
NOTES
──────────────────────────────
▸ Requires the ProceduralMeshComponent and EnhancedInput plugins (bundled with UE5, enabled by default).
▸ The atmosphere drives the level's existing Sky Atmosphere, Volumetric Cloud, directional light and sky light — including the built-in SunSky (not required).
▸ The depth-tinted water needs Adaptive Water Tessellation ON (default). If you disable it, use the included M_SimplePlanetWater instead.























