Issue with placement system using normal vector

id make a 3d representation of a 3d grid. also compare the click position with the position its placed in. that way we can see where parts are falling out of place.

You could also change the transparency so you can see how much is overlapping

I don’t really understand as in what you want me to do with making a 3d representation. Sorry

so basically if you rounding to every multiple of 3, set a tiny block at every multiple of 3 in a little area. then you can clearly see it filling space. if it constantly places in the correct area then it works


I’ve tried putting tiny blocks, but that really messed some stuff up for some reason, is that normal?

this means they might not be anchoring properly before placement, meaning they will move slightly

They are anchored themselves and I’m not unanchoring,

if its rounding and placing on a 333 grid they should all line up. whether theres blocks there or not. unless you are not placing it with cframe or position

so you are rounding the mouses position to the nearest multiple of 3, so it should be exactly 3 from the point next to it

if your getting something else then somethings not quite right

That’s the thing, it is exactly 3 from the point next to it!

Also noticed, it is only happening on the - axis. -x, -y, -z

are you still doing +0.5?

if so that might be it
it has to be -0.5 on the - axis

I’m still doing that. How would I check via code on what axis it is?

that +0.5 is for if it is rounding up. so when we are in the negatives its the opposite.
so
if X < 0 then
-0.5

I’ll try it out! Thanks for taking your time again!

I made a grid thing for the lolz, its trippy


local StartPoint = Vector3.new(90,-18,-90)
local XStartPoint = StartPoint
local YStartPoint = StartPoint
local ZStartPoint = StartPoint

for i = 1,10 do
XStartPoint = XStartPoint + Vector3.new(3,0,0)

YStartPoint = XStartPoint
for i = 1,10 do
	YStartPoint = YStartPoint + Vector3.new(0,3,0)
	ZStartPoint = YStartPoint
	for i = 1,10 do
		local NewP = Instance.new("Part")
		NewP.Anchored = true
		NewP.CanCollide = false
		NewP.Size = Vector3.new(0.5,0.5,0.5)
		NewP.Parent = game.Workspace.Debris
		NewP.Position = ZStartPoint
		NewP.Color = Color3.new(0,100,0)
		
		ZStartPoint = ZStartPoint + Vector3.new(0,0,3)
	end
end

end

Where are you using that for? I dont know what you want to do with that

Trying the adding or removing 0.5 depending on the axis didnt work either by the way

Still looking for a solution. Anyone got an idea?

I answered a similar question before that you might enjoy:

1 Like

Thank you so much! it worked!!!

1 Like