Hello! I’ve been struggling on making the r15 arms move along with the camera, any help?
Search for terms like ‘make R15 arms follow camera’ using the search tool up top.
Post your script so we can see how you are trying to do it. Put 3 backticks (```) before and after your script when you copy/paste it here it formats properly so we can read it.
I’ve been searching for like 2 days now and all I see is either them turning the torso along with the arms (which I already did, but for some reason, only the torso moves and the arms doesnt move along) or arms that moves for r6.
This is what i used for my torso moving script (all in client) (ignore defined variables but unused)
local Character = Player.Character or Player.CharacterAdded:Wait()
local HeadLight_ = Character:WaitForChild("HeadModel")
local camera = workspace.CurrentCamera
local remoteEvents = game.ReplicatedStorage:WaitForChild("RemoteEvents");
local Root = Character:WaitForChild("HumanoidRootPart")
local neckC0 = CFrame.new(0, .92, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1);
local waistC0 = CFrame.new(0, 0.2, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1);
local LeftShoulderOG = Character:WaitForChild("LeftUpperArm"):WaitForChild("LeftShoulder").C0
local CFNew, CFAng = CFrame.new, CFrame.Angles
local asin = math.asin
local LeftShoulder : Motor6D = Character:WaitForChild("LeftUpperArm"):WaitForChild("LeftShoulder")
local function onUpdate(dt)
Player:SetAttribute("Theta", math.asin(camera.CFrame.LookVector.y))
for i, otherPlr in pairs(game:GetService("Players"):GetPlayers()) do
if otherPlr ~= game.Players.LocalPlayer then
local neck = otherPlr.Character.Head.Neck;
local waist = otherPlr.Character.UpperTorso.Waist;
neck.C0 = neck.C0:Lerp(neckC0 * CFrame.fromEulerAnglesYXZ(otherPlr:GetAttribute("Theta")*0.5, 0, 0), .5/2);
waist.C0 = waist.C0:Lerp(waistC0 * CFrame.fromEulerAnglesYXZ(otherPlr:GetAttribute("Theta")*0.5, 0, 0), .5/2);
end
end
for i, v in pairs(Player.Character:GetDescendants()) do
if v.Name == "Ring" and v.Parent.Name == "HeadModel" then
v.LocalTransparencyModifier = 0
end
end
HeadLight_:WaitForChild("Front").CFrame = Character:WaitForChild("Head"):WaitForChild("LightAttach_").WorldCFrame * CFrame.lookAt(HeadLight_:WaitForChild("Front").CFrame.Position, camera.CFrame.Position)
end
game:GetService("RunService").RenderStepped:Connect(onUpdate);
local Theta
is the number for the cframe for torso
Ill send a vid through streamables in a second
cant you like make an ik controller and let it follow mouse position, I’ve made this before. If you would like, I can give you the model.
I’m not very familiar with IKs, I would appreciate it if you would share the model
Weird, here is the exact script which I used:
local Player = game:GetService("Players").LocalPlayer
local Character = Player.Character or Player.CharacterAdded:Wait()
--local HeadLight_ = Character:WaitForChild("HeadModel")
local camera = workspace.CurrentCamera
--local remoteEvents = game.ReplicatedStorage:WaitForChild("RemoteEvents");
local Root = Character:WaitForChild("HumanoidRootPart")
local neckC0 = CFrame.new(0, .92, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1);
local waistC0 = CFrame.new(0, 0.2, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1);
local LeftShoulderOG = Character:WaitForChild("LeftUpperArm"):WaitForChild("LeftShoulder").C0
local CFNew, CFAng = CFrame.new, CFrame.Angles
local asin = math.asin
local LeftShoulder : Motor6D = Character:WaitForChild("LeftUpperArm"):WaitForChild("LeftShoulder")
local function onUpdate(dt)
Player:SetAttribute("Theta", math.asin(camera.CFrame.LookVector.y))
for i, otherPlr in pairs(game:GetService("Players"):GetPlayers()) do
if otherPlr == game.Players.LocalPlayer then
local neck = otherPlr.Character.Head.Neck;
local waist = otherPlr.Character.UpperTorso.Waist;
neck.C0 = neck.C0:Lerp(neckC0 * CFrame.fromEulerAnglesYXZ(otherPlr:GetAttribute("Theta")*0.5, 0, 0), .5/2);
waist.C0 = waist.C0:Lerp(waistC0 * CFrame.fromEulerAnglesYXZ(otherPlr:GetAttribute("Theta")*0.5, 0, 0), .5/2);
end
end
for i, v in pairs(Player.Character:GetDescendants()) do
if v.Name == "Ring" and v.Parent.Name == "HeadModel" then
v.LocalTransparencyModifier = 0
end
end
--HeadLight_:WaitForChild("Front").CFrame = Character:WaitForChild("Head"):WaitForChild("LightAttach_").WorldCFrame * CFrame.lookAt(HeadLight_:WaitForChild("Front").CFrame.Position, camera.CFrame.Position)
end
game:GetService("RunService").RenderStepped:Connect(onUpdate);
im guessing its something todo with your animations?
I also figured that it’s something to do with animations, altho how and why?
try disabling the property retargeting under workspace
Lol, it worked! Thank you so much!
Now, i’ll change the title since it’s so off topic now lol
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.