My image system works by getting a canvas, cloning it, parenting it and positioning it to the characters pivot and sizing it based on the X and Y inputs you give it.
The problem (and what im trying to achieve) is that the position of the canvas is always set to the ground/players feet. Instead it’ll set itself AT the pivot, However I haven’t found a good solution to combat this and the results end up making the image float
When i divide the position by 2 the smaller it is it works better but the bigger it is it works worse. I’ve been fidgeting around with this system for a day or 2 and cannot figure out a solution that won’t end up being a double edged sword in the future
(The image is slightly opaque so you can see what i mean by it floating)
-- For now this is how the positioning of the cframe is used and what i've left off with
canvas.CFrame = character:GetPivot() * CFrame.new(0,-2+(Yvalue/2),0)
Tried using the root part itself, haven’t gotten any changing results, i’ve broken it down into a function so it can maybe be more identifiable
local function setCanvas()
newWeld.Part0 = canvas
newWeld.Part1 = rootPart
newWeld.Parent = character
canvas.Size = Vector3.new(Xvalue, Yvalue, 0.001)
canvas.Parent = character
canvas.CFrame = rootPart.CFrame * CFrame.new(0, -Yvalue/2, 0)
canvas.Front.canvaImage.Image = ID
canvas.Back.canvaImage.Image = ID
canvas.Anchored = false
canvas.Massless = true
for _,xi in pairs(character:GetDescendants()) do
if xi:IsA("Accessory") then
xi:Destroy()
elseif xi:IsA("Part") or xi:IsA("BasePart") or xi:IsA("MeshPart") then
xi.Transparency = 1
elseif xi:IsA("Decal") or xi:IsA("Texture") then
xi.Transparency = 1
end
end
end