Replies: 4 comments
-
I don't think you can make proper motors right now, it's something that will be added in the future. You might be able to cheat it by changing the angle limits, but I doubt it would be very robust or easy to control |
Beta Was this translation helpful? Give feedback.
-
I am super-naïve here, having little real physics background or experience with other game engines. So, feel free to back away slowly if this is all completely off-base. I see that RevoluteJoint has This function also takes "lagrange" and "compliance" -- aren't these already properties of the joint itself, though? I see that it returns torque — I'm having trouble thinking of things from this (metaphorical) perspective — I'm thinking of a joint as a thing which applies force to the attached bodies to cause them to align in a certain way, and maybe that's all wrong. Maybe a motor shouldn't be part of a joint at all, but an entirely separate thing which:
For convenience, it would be of course nice to have a way to perfectly align a joint and motor. I'm thinking mostly of rotations, where I think the "motor" would be a point (although, interesting if it could be a circle, cylinder, or sphere, actually...). For linear motors, I would expect a line in 2D or rectangle (or other shape?) in 3D. I'm not sure there's a real-world equivalent, but for a game, this would make it easy to make those speed-up ramps in Mario Kart, or moving sidewalks without actually moving a platform. |
Beta Was this translation helpful? Give feedback.
-
Leaving aside motor ideas in xbpd for a second... if
This seems more straightforward to me, but less... integrated. I'd love to hear opinions on if this is close to sensible. :) |
Beta Was this translation helpful? Give feedback.
-
I see that motors aren't implemented yet, but in the interim does anyone have a good way to achieve the same functionality? I'm curious if there's a possible approach of applying torques and forces to the entities themselves. |
Beta Was this translation helpful? Give feedback.
-
Rapier3d joints have "motors", which ... aren't working for me like I think they ought to, so maybe I'm just really confused overall. But what I want is: a revolute joint which can swivel under normal influences subject to its limits but returns (with configurable torque and dampening) to a set point. I'd like to be able to change that set point dynamically -- causing a turret to swivel, or a head to turn, or a door to open or close.
However, xpbd does not have motors. There is
position_lagrange
andalign_lagrange
, but even after reading the theory section I'm not really clear on what these are or why I would want to set them... and anyway this doesn't seem like it.I guess I could temporarily reduce the angle limits, and then reset them? That doesn't seem right, though. What am I missing?
Beta Was this translation helpful? Give feedback.
All reactions