Camera Custom Character

Hello,

why my camera is not at the head but the upper torso ??

Video: https://gyazo.com/1235db6dc6475ce1186c026092f9f0df

Script to change my character (server):

local RankDBModule = require(game:GetService("ServerScriptService").Modules.ManagementRank)

local event = game:GetService("ReplicatedStorage").Events.Deploy

event.OnServerEvent:Connect(function(plr, team)
	local playerRank = RankDBModule.get(plr.UserId)
	
	local newCharacter
	
	if team == "citizen" then 
		newCharacter = game:GetService("ReplicatedFirst").Morphs.Character:Clone()
	end
	
	
	local newAnimate = game:GetService("ReplicatedFirst").Morphs.ManagerAnimations:Clone()

	newAnimate.Name = "Animate"

	local char = plr.Character
	newCharacter.Name = plr.Name
	newCharacter:PivotTo(char.HumanoidRootPart.CFrame) 
	char:Destroy()
	plr.Character = newCharacter
	newCharacter.Parent = workspace
	newAnimate.Parent = newCharacter
	wait(game:GetService("Players").RespawnTime)
	local humanoid = newCharacter.Humanoid

	event:FireClient(plr, humanoid)
end)

(client) :

local event = game:GetService("ReplicatedStorage").Events.Deploy

event.OnClientEvent:Connect(function(plr, humanoid)
	workspace.Camera.CameraSubject = humanoid
end)
4 Likes

You should try that

local Head = newCharacter.Head

event:FireClient(plr, Head)
2 Likes

I tried and did not change something…

1 Like

Alright, this is a really easy fix I will show you. So I also have a custom character and had the same problem. To fix it press play and make sure you are using your custom character. Once you are in the world go on onto the explorer and look for your player. Once you do find your player click on the dropdown of the player and select humanoid as shown in the picture here.

Screenshot 2022-11-11 205426

Once you select the humanoid go onto the properties and make sure you are on the camera offset as shown in this second picture.

Properties

Once you are on the camera offset make sure you clicked on the dropdown. Once you do you will see X, Y, and Z. What you want to focus mainly on is the Y axis.

As you can see my camera is on the torso level.

To fix it go back to the properties tab and increase the Y level by 1 until the camera roughly sits around the face.

As you can see in the picture above I increased the Y level by 1 and it still wasn’t enough so I messed around a bit and the perfect number was 2 for me.

Alright, the picture above shows that I changed the camera offset of the Y axis to level “2” and you can also see that the camera is looking straight at the head which means this Y level is perfect for me.
You can also further verify that the camera is looking directly at the face by zooming all the way in. If it zooms into your face or head then you have it at the perfect Y level

I hope all of this helps you with whatever you are making. (:

Also, I don’t know if it is only for me but every time I make the camera offset edit from the humanoid (not while testing the game) it just reverts back to default (which is 0,0,0) so to fix this I just made a script containing all the settings for my character and that includes the camera offset edit.

you almost had it here just change the subject to the Head or a block you want the camera positioned at that is attached to the character

you can test this with local script default roblox avatar

local Camera = workspace.CurrentCamera
local Player = game.Players.LocalPlayer
local Character = Player.Character or Player.CharacterAdded:Wait()

Camera.CameraSubject = Character:WaitForChild('Head')

Thank you for this but it does not work…

Explain why it doesn’t. Show a video, or an image.

image
image

I have tried it before but it does not work as well.

You have to wait a bit but the video will be available soon.

Did you try doing it from the client side instead of the server? That’s what I did.