so I made a physics-based interaction system along the lines of Amnesia: The Dark Descent (also inspired by one Tyridge77 once made but I don’t think his test place for it is active anymore so I can’t get a reference of it).
It works mostly okay except that the movement isn’t very ideal. It’s very deterministic of where you’re standing. For example, if I stand to the left of the valve seen in the video I cannot turn it fully. You can also see in the video it’s almost impossible to turn in third person (although this is meant for a first person horror game, I want to realise this system to the public and I don’t want to have that limitation)
This is the code that handles moving the clicked part with the mouse.
local lv = CFrame.new(hRP.Position,mouse.Hit.p)
bP.position=(hRP.Position+lv.lookVector*2) --bP is a body position,hRP is the player character's humanoid root part.
What can I do to make it work better? I wouldn’t mind moving from the physics based aspect since that would probably make it more stable(I mostly did used physics since it made it easier to move the parts).