title: How to stop flying up objects by itself?
body: <p>I have a stack from cubes what are break for 2 small cubes when collide with specific object. After break the cubes should sliding on sides but they are flying up by itself when I collide the stacks with my object little faster. Can I stop that in any simple way and give the small cubes permission to only sliding on sides (left right) on X axis?</p>
  
  <pre><code>Vector3 pos = new Vector3(_pos.x, victim.position.y, victim.position.z);
  Vector3 victimScale = victim.localScale;
  float distance = Vector3.Distance(victim.position, pos);
  if (distance &gt;= victimScale.x/2) return false;
  
  Vector3 leftPoint = victim.position - Vector3.right * victimScale.x/2;
  Vector3 rightPoint = victim.position + Vector3.right * victimScale.x/2;
  Material mat = victim.GetComponent&lt;MeshRenderer&gt;().material;
  Destroy(victim.gameObject);
  
  GameObject rightSideObj = GameObject.CreatePrimitive(PrimitiveType.Cube);
  rightSideObj.transform.position = (rightPoint + pos) /2;
  float rightWidth = Vector3.Distance(pos,rightPoint);
  rightSideObj.transform.localScale = new Vector3( rightWidth ,victimScale.y ,victimScale.z );
  rightSideObj.AddComponent&lt;Rigidbody&gt;();
  rightSideObj.GetComponent&lt;MeshRenderer&gt;().material = mat;
  
  GameObject leftSideObj = GameObject.CreatePrimitive(PrimitiveType.Cube);
  leftSideObj.transform.position = (leftPoint + pos)/2;
  float leftWidth = Vector3.Distance(pos,leftPoint);
  leftSideObj.transform.localScale = new Vector3( leftWidth ,victimScale.y ,victimScale.z );
  leftSideObj.AddComponent&lt;Rigidbody&gt;();
  leftSideObj.GetComponent&lt;MeshRenderer&gt;().material = mat;
  </code></pre>
  
  <p>There is a code what I'm using for break big cubes to 2 small cubes.
  For sliding the leftsideobj and rightsideobj on sides I'm using a AddForce.</p>