Norbo wrote:Having the same body for both parameters won't work, but you can pass null in for the first parameter for both constraints. When null is passed into a two entity constraint as a connection, the constraint connects to a kinematic 'world' entity.
That sets Position.Z = ~20 and Velocity.Z = -110 consistently. Like, they're trying to move from that position and you can see it in the way the values change but it gets forced into those two values. Are you sure null as the first parameter is right?
I guess I don't need perfection but... I kinda expect them to at least stay in the right general area with like 0.1 or so... perhaps one of my other parameters is wrong, EG those Vector3(0,0,0)s shouldn't be like that?
EDIT: I changed unrelated code and the precise values changed... I'm very very confused...
EDIT2: The server wants the player at (x,y,50) and is maintaining that... the client wants to be at (x,y,0) and is fighting the server strongly. The server/client code is the same though...
EDIT3: The player sets the position to 50 on spawn and then adjusts back to 0... apparently it's current position at the time of jointing is what's used, not any of the parameters of the function call. Why is it not a param of the function?
EDIT4: An unrelated entity just fell over the edge, despite sharing the code... wot.
EDIT4.5: Yeah this constraint... is not effectively constraining much of anything... this box will consistently fall over the edge if I give it a proper force. I guess I gotta force-set the angles and position every tick. Can I do that without it activating?
EDIT 4.6: I suppose only force-setting if it's actually checked as exceeding the limits beforehand would suffice to avoid unintended activation.