So I read an article a while ago about setting up the “First Person Element” of FPS games. I was trying to utilize something that was amended into the article a while later to have the player’s body look up and down based on where the player was looking. I can do this easily using Remotes, but I want to avoid using Remotes if possible. The article suggests using BodyMovers to store the data needed to make the player look around across all clients, but the BodyMovers no longer seem to replicate the changes made by the client. The BodyMovers still function as intended, even without replicating the changes, but I’m wondering if there’s a different way around this. I’ve tried messing with Network Ownership and using different BodyMovers but they all have the same result, which is the Server reading the values that they were set at by default.
Here is the code on the client that sets the BodyMover’s (lookAt) Position to something I want to utilize:
local theta = math.asin(camera.CFrame.LookVector.y)
lookAt.Position = Vector3.new(theta, 0, 0)
Here is the code for the other clients (or the server, I have tried both) to read the properties and make the same change:
local lookAt = character:FindFirstChild('LookAt')
local theta = lookAt.Position.X
So I guess what I’m wondering is … A) do changes to the properties no longer replicate to the server even if the physics behind those changes do? and B) are there any other options to avoid having to send this data do the server via remotes?