Hello,
I’m trying to create a simple piston via Blueprints; however, I’m running into issues where it seems like it’s just too heavy to move it. My question is what am I doing wrong? I’ve even tried changing the MassInKg on the Rod to “0.1” and still it can’t move it at all.
Here is my piston, a simple Actor with two static meshes ( Shell, Rod ), and a Physics Constraint to keep the Rod within the Shell, but allow it to extend out when I apply a force.
The Piston has a variable called “Force”.
Force is currently “41655596.0”, and even with that insanely high number, it won’t push the rod. Unless I check ‘Accel Change’ to ignore the mass completely. But then, the rod only moves at a snail pace.
Here is the Event Graph, which pretty much just fires off a Timeline for .25 seconds that will apply the force.
Thanks for your time and help.
From my testing, it seems that linear limits are in world coordinates, so if your piston coordinate system is not aligned with the world coordinate system, you might be trying to induce movement in a LOCKED direction. To the best of my knowledge, there is no elegant (or pre-programmed) solution to this. You have to set all linear limits to limited and adjust the limit values dynamically if your piston moves around.
There is also some chance that your motor strength is too low or that your damping/stiffness is too high.
i also tried creating a piston, i used linear motors instead of just applying force, i am still struggling with this, but you could try using SET LINEAR VELOCITY TARGET OR POSITION TARGET from the linear motor, but thats as far as i can help as im also still struggling with getting the piston to stay in place when releasing the input key assigned to the movement