Think of a game like F-Zero. The race cars can move around and gravity always goes towards the race track. Essentially, I want to make a part (Part A) attracted to the nearest point on another part (Part B). My idea was to use raycasting to cast a ray straight down from Part A, and have a BodyPosition in Part A that would pull Part A to where the ray intersects with Part B. However, I ran into the problem that I could not make a ray oriented relative to Part A's orientation. This is my code, inside of a BodyPosition, inside of Part A:
while true do wait() part, point = game.Workspace:FindPartOnRay(Ray.new(script.Parent.Parent.Position,script.Parent.Parent.Orientation)) script.Parent.Position = point print(part) end
I am not married to the raycasting idea, so if you have another suggestion that would also be appreciated. Thanks.
(The complete line that might get cut off is: part, point = game.Workspace:FindPartOnRay(Ray.new(script.Parent.Parent.Position,script.Parent.Parent.Orientation)) )