İçeriğe atla
GravityCore — Custom Gravity Volumes | Planet, Ring & Cuboid | Multiplayer ilanı için 1. medya
0 yorum

Açıklama

GravityCore is a runtime C++ plugin (with full Blueprint support) for Unreal Engine 5 that adds shape-based custom gravity — planets, ring worlds, and directional cuboid zones — that actually works in multiplayer. Define a gravity volume (Sphere, Cylinder, or Box), give it a direction, and any character inside is pulled correctly, stands on the surface, and walks, jumps and falls in that gravity. It drives the engine's built-in variable gravity, so it works with the Character Movement Component instead of fighting it.

The hard part — multiplayer — is built in. Gravity is computed deterministically from position on every machine, so other players' characters stay surface-aligned and smooth: no proxy jitter, no tilt, no walk/fall animation flicker.

Drop a GravitySourceActor into your level, pick a shape, and base your character on the included BP_GravityCharacter (or reparent to AGravityCharacter). Add your own walkable mesh and play.

Includes a ready-to-use gravity character with an independent, gravity-aligned orbit camera (full 360° look) and orient-to-movement — walk a planet, the inside of a ring, or flip gravity inside a box.


Preview v1.0

Playable Demo
Documentation

──────────────────────────────

CORE FEATURES

──────────────────────────────

▸ Shape-Driven Gravity Volumes — one component, a Shape dropdown: Sphere, Cylinder, or Box. Each is a self-contained SceneComponent with its own transform, so you can place, rotate, attach, or stack as many as you like.

▸ Planet Gravity — Sphere pulls toward the center. Walk all the way around a planet, moon, or asteroid.

▸ Ring-World Gravity — Cylinder pushes radially outward from its axis (centrifugal). Walk the inside of a ring or O'Neill cylinder; the axis follows the component's local Z, so orient it any way.

▸ Cuboid / Directional Gravity — Box gives uniform gravity straight down its local −Z, for rooms, corridors, or flip-gravity puzzle zones.

▸ Invert Toggle — flip any shape: Sphere repels, Cylinder pulls to the axis, Box pushes up.

▸ Priority Override Zones — nest a small high-priority volume inside a large one; where they overlap, the highest Priority wins. Stack layers and mix shapes — e.g. a flip-gravity Box room inside a Sphere planet field.

▸ Multiplayer Replicated — gravity is a deterministic function of position, computed locally on every machine, so simulated proxies align to the surface and move smoothly. No overlap-event drift, no proxy jitter, no false "falling." Floor detection stays correct on proxies, so the animation graph never flickers between walk and fall.

▸ Built On Engine Variable Gravity — sets the Character Movement Component's gravity direction, so floor detection, stepping, jumping and falling all work in any gravity direction, with full network prediction.

▸ Gravity-Aligned Character & Camera — the included AGravityCharacter has an independent, gravity-aligned orbit camera (full 360° yaw, decoupled from the character's facing) and orient-to-movement that turns the character to face its movement on any surface.

▸ Subsystem-Driven Selection — a world subsystem picks the right source per location by point-in-volume + priority. No collision or overlap setup, no triggers to wire.

▸ Editor & Runtime Debug — per-shape boundary gizmo, red gravity-direction arrows, and an optional translucent volume mesh with adjustable color — each independently toggleable. Debug draws compile out of Shipping.

▸ Logical Volumes (No Collision) — the gravity source is the field only, kept independent from geometry, so you use your own walkable meshes (samples included).

▸ Full Blueprint Support — shape, size, invert, priority, and the gravity query are all exposed to Blueprint and C++.

──────────────────────────────

TECHNICAL HIGHLIGHTS

──────────────────────────────

▸ Full Blueprint support — all source parameters Blueprint read/write; GetGravityDirectionAtLocation(), ContainsPoint(), and the subsystem's ComputeGravityDirection() callable at runtime

▸ Custom UCharacterMovementComponent that drives the engine's variable gravity — walking / jumping / falling / floor detection in any gravity direction, with network prediction

▸ Deterministic, position-based gravity computed on every machine — correct simulated proxies without replicating rotation or using overlap events

▸ Point-in-volume + priority selection (sphere / cylinder / box), per tick — replication-safe by construction

▸ Smooth gravity transitions, translation-only network smoothing, and a movement-mode mirror on proxies to prevent walk/fall flicker

▸ Independent gravity-aligned orbit camera (absolute-rotation spring arm) with full 360° look

▸ SceneComponent sources — own transform, attachable, stackable; cylinder/box axis = component local Z

▸ No third-party dependencies


──────────────────────────────

INCLUDED

──────────────────────────────

▸ Full C++ source

▸ GravitySourceActor / BP_GravitySource — drop-in gravity volume (pick the shape)

▸ BP_GravityCharacter — ready-to-play character with gravity movement and a gravity-aligned camera

▸ Mannequin character + Anim Blueprint for the demo character

▸ Enhanced Input mapping context + Move / Look / Jump actions

▸ Walkable ring/cylinder mesh (SM_Ring) for the ring-world demo

▸ Demo level with a planet, a ring world, and a flip-gravity box, pre-configured

──────────────────────────────

PERFECT FOR

──────────────────────────────

Space games, planetary exploration, ring-world / megastructure settings, sci-fi platformers, gravity-flip puzzle games, and any multiplayer or single-player project needing custom gravity directions — without writing gravity-aligned movement, surface rotation, floor detection, or the multiplayer replication math from scratch.

──────────────────────────────

NOTES

──────────────────────────────

▸ The gravity source is a logical volume with no collision — provide your own walkable meshes (samples included).

▸ The example character uses Enhanced Input (bundled with UE5).

▸ Built on the engine's built-in variable gravity / per-character gravity direction.

▸ Supports Unreal Engine 5.4.

İçerdiği biçimler