u/LetterheadTall8085

Good news. The Qt quick3d engine implement joints support
▲ 7 r/QtGames+1 crossposts

Good news. The Qt quick3d engine implement joints support

The QtQuick3D.Physics module (starting from version 6.12) now features support for physical joints. This allows the physics engine to natively handle constraints and connections between bodies, which is essential for achieving physically accurate skin behavior, complex skeletal rigs, and natural ragdoll physics in games.

Core Architecture

All new joint types inherit from an abstract base type: PhysicsJoint.

Key rules of PhysicsJoint

  • Connects two bodies: bodyA and bodyB. If one body is left unassigned (null), the joint automatically anchors to the static world space.
  • Strict Requirement: At least one of the connected bodies must be dynamic.
  • Scene registration and lifecycle management are handled automatically behind the scenes via QPhysicsWorld::registerJoint() and deregisterJoint().
  • Local positioning and rotation relative to each body's frame are configured using:
    • positionA / positionB (vector3d)
    • orientationA / orientationB (quaternion)

Available Joint Types

Five specialized joint types have been introduced to handle specific constraints:

1. FixedJoint

Locks the relative position and orientation between two bodies completely. Perfect for composite objects or breakable structures.

2. DistanceJoint

Maintains the origins of the joint within a specified distance range.

  • minDistance — The lower bound of the constraint.
  • maxDistance — The upper bound of the constraint.

3. PrismaticJoint

Permits relative translational (linear) movement along a single axis (the local X-axis of the joint frame) while completely blocking relative rotation.

  • lowerLimit — Maximum translation along the negative X-axis.
  • upperLimit — Maximum translation along the positive X-axis.

4. RevoluteJoint

Commonly referred to as a hinge. It keeps the origins and X-axes of the frames aligned, allowing free rotation exclusively around this shared axis.

  • enableAngularLimit — Toggles the angular constraint (default is false).
  • angularLimitLower / angularLimitUpper — Lower and upper rotation limits specified in radians.

5. SphericalJoint

Also known as a ball-and-socket joint. It keeps the origins locked together but allows the orientations to vary freely (e.g., a shoulder or hip joint).

  • enableConeLimit — Toggles the cone limit constraint (default is false).
  • coneLimitY / coneLimitZ — Angular limits for the cone constraint specified in radians.

Key Takeaways for Developers

  • Natural Skins & Ragdolls: Essential for character physics, secondary clothing motion, and lifelike skeletal simulations.
  • Mechanical Simulation: Simplifies the implementation of vehicles, doors, levers, and suspension systems.
  • Tooling Support: The update includes built-in tests and dedicated Design Studio QML files, enabling visual setup and prototyping.
u/LetterheadTall8085 — 24 hours ago

Developing a custom-engine colony sim / economy survival game solo for 2 years (Ecliptica). I’d love to hear your feedback and questions!

Hi everyone!

I'm looking for players who might be interested in my work. If the core concepts and ideas behind my game resonate with you, please let me know. Building a community and hearing from you would be a massive motivation boost to keep pushing forward.

For the past two years, I’ve been single-handedly developing a game that blends deep base building with a broader planetary life simulation. Sadly, I haven’t managed to build an active community around it yet, which means I rarely get any feedback, suggestions, or ideas. I would genuinely love to hear absolutely any opinions, questions, or wishes you might have.

As far as I understand, this community is always on the lookout for good, unique games — and I am looking for dedicated, reliable players.

What is Ecliptica?

In short, Ecliptica is a fairly large-scale project that includes:

  • City & Base Building: Managing and expanding your settlement.
  • Living Economy: A fully dynamic market with no hardcoded price ceilings, completely driven by supply and demand rules.
  • Harsh Survival: Enduring a hostile planetary environment.
  • Expeditions: Scouting and exploring uncharted territories.
  • Urban Survival: Mechanics that challenge you even inside the city if your character lacks wealth or political influence.
  • Procedural Generation & World Destructibility: Making the sandbox unpredictable and interactive.
  • Story & Procedural Quests: A mix of hand-crafted narrative and emergent objectives.
  • and a lot of other features planned for the future.

The Technical Side (No Asset Flips, No AI Slop)

Managing a project of this scale alone is incredibly tough. To make it even more challenging (and rewarding), the game is built entirely on a custom game engine.

  • No generic asset stores. Everything is built from scratch.
  • No low-quality AI-generated content (the only exception is a few temporary inventory icons, which I'm replacing very soon).

So your feedback

If the project sounds like something you'd enjoy, I’d love to make this subreddit a regular home for my development logs and updates. If not, I completely understand and won't spam the space.

I’m highly open to any questions about the mechanics, the custom engine, or the gameplay loop. I would appreciate any feedback or advice you can share!

Thank you all for your time!

reddit.com
u/LetterheadTall8085 — 4 days ago