The title is very bland because I don’t know how I would describe the issue in the title. I want to connect the front face of a part to the back face of a part while keeping the orientation of the parts the same. This might be a mouthful so this may help out:
I want to connect another parts front face to the back face of this part (highlighted in red) using a script. So afterward it would look something like this:
I want to do this because I want an easy way to set the orientation and placement of the arms on a viewmodel I am making. I’ve tried to use EgoMoose’s tutorial to help me figure this out but he is using a viewmodel with multiple parts for each arm. I am only using a single part for each arm and I have tried to tweak his code in an attempt to make it work to no success.
If anybody could help me that would be greatly appreciated!
try this
part1 is the part you want to connect to the face of the other part
part 2 is the other part
part2.Orientation = part1.Orientation
part1.CFrame = part2.CFrame + part1.CFrame.LookVector + Vector3.new(0,part1.Size.X / 2,0)
This didn’t seem to do anything as seen in this video:
You can see the shadow of the viewmodel. Instead of the arms just being straight up I want them to be oriented towards the smaller parts. I’m completely stuck if you’re interested here is my localscript:
local camera = game.Workspace.CurrentCamera
local humanoid = game.Players.LocalPlayer.CharacterAdded:Wait():WaitForChild("Humanoid")
local viewModel = game.ReplicatedStorage:WaitForChild("viewModel"):Clone()
viewModel.Parent = workspace
local function onDied()
viewModel.Parent = nil
end
local function updateArm(key)
local CurrentArm = viewModel[key.."Arm"]
local CurrentArmAttachable = viewModel[CurrentArm.Name.."Attachment"]
CurrentArm.Orientation = CurrentArmAttachable.Orientation
CurrentArmAttachable.CFrame = CurrentArm.CFrame + CurrentArmAttachable.CFrame.LookVector + Vector3.new(0,CurrentArmAttachable.Size.X / 2,0)
end
local function onUpdate(dt)
viewModel.Head.CFrame = camera.CFrame
updateArm("Right")
updateArm("Left")
end
humanoid.Died:Connect(onDied)
game:GetService("RunService").RenderStepped:Connect(onUpdate)