Trong nghiên cứu nhanh của tôi, khi bạn chụp một số hình học lên lưới:
Miễn là tất cả các đỉnh của đa giác của bạn (ở vị trí cuối cùng) trùng với các đỉnh của lưới (nói cách khác, nếu những gì bạn đang cố gắng chụp vừa vặn trong lưới), thì
Bạn có thể chụp bất kỳ đỉnh nào của đa giác của bạn vào đỉnh lưới gần nhất của nó và áp dụng cùng một bản dịch cho tất cả các đỉnh khác. Bạn sẽ luôn luôn kết thúc với cùng một vị trí kết quả.
Điều này có nghĩa là bạn chỉ cần chọn một đỉnh và làm tròn tọa độ của nó, hoặc, nếu bạn đang sử dụng lưới có cạnh lớn hơn một đơn vị, hãy sử dụng biểu thức của Austin:
cube.Position.XorYorZ = Math.round(cube.Position.XorYorZ / gridCubeWidth) * gridCubeWidth;