- Home /
puzzel drop smoothly.
what is a good way to create smoth dropping objects in unity. I created a game where I have spawners that drop blocks if the blocks below are less then count but it uses unity physics engine and its needs spaces between blocks or else they collide with each other.
this is not practical because I want to create blocks in grids and drop them smoothly and quickly. they need to stack on top of each other.. kind of like a match 3 game.
how do I do this in unity ? any examples available ?
thx
Answer by joonturbo · Nov 16, 2013 at 05:57 PM
iTween is exactly what you need. You can download it for free through the Asset store.
itween.pixelplacement.com/documentation.php
Here's an example of how to use it, the syntax is a bit overwhelming at first. This will move a gameObject to another position smoothly over 1 second.
iTween.moveTo(gameObject, iTween.Hash("time",1,"position",newPosition));
Answer by robertbu · Nov 16, 2013 at 07:40 PM
Using physics for this game mechanic might not be the best choice, but you can make it work. It is easiest if your blocks are one unit square (1x1x1) and that you launch your block on the 1 unit grid (i.e. directly above a potential stack of blocks). Make your collider for the blocks just a bit smaller than the block (.999,.999,.999). Then put this in a script on your block prefab:
function OnCollisionEnter() {
rigidbody.isKinematic = true;
transform.position.x = Mathf.Round(transform.position.x);
transform.position.y = Mathf.Round(transform.position.y);
transform.position.z = Mathf.Round(transform.position.z);
}
Your answer
![](https://koobas.hobune.stream/wayback/20220613122021im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
Multiple Cars not working 1 Answer
Distribute terrain in zones 3 Answers
Any idea on how to make objects be clicked in a certain order? (C#) 1 Answer
Problems with 2D Collision 3 Answers
im trying to do an immortal state when my player take damage 2 Answers