- Home /
Can Objects Snap Together In-Game Without A Grid?
I'm working on a RTS-style game with the camera facing straight down. Currently objects can be placed with raycasting from the camera to a plane. I would like to make it so that if a new cube is placed near an existing cube, they snap together. I feel like using a grid would be the ideal solution to my problem, but can this be done without a grid? No big deal if it cannot be done without one, I'm just trying to get an idea of how much work I have ahead of me.
Thanks! I'm definitely a Unity noob and have learned a LOT from the Unity Answers community. I appreciate how helpful you all are :)
Answer by Jamora · Jul 29, 2013 at 09:59 PM
It can be done without a grid.
You can use Physics.OverlapSphere on the newly instantiated cube to get all nearby other Units, then do a simple sort (example in GameObject.FindGameObjectsWithTag, middle one) to get the closest one. The actual snapping would be done by first parenting the new unit to the closest one, then adjusting the x,y position to begin at exactly where the other unit ends. Because you're using cubes, this can easily be done using renderer.bounds
Thanks for your help! I went ahead and tried this along with a grid system just to learn different ways to work with Unity. Everything seemed to return the correct information, but I just couldn't wrap my head around using Physics.OverlapSphere with the other objects in my game. Using a grid ended up being a little more noob-friendly for me to figure out.
Your answer
Follow this Question
Related Questions
What is the best way to navigate through a grid based level using Raycasting ? 2 Answers
Raycast not working in 2D game 1 Answer
Problem with raycast detection? 1 Answer
Snapping an object to another 0 Answers
Saving Grids in Grid System 1 Answer