Other, more "realistic" way to lower pins

So if we use
transform.Translate (new Vector3 (0, -distanceToRaise, 0), Space.World);
causes pins to be placed where they stopped before tidying. In real game we want lower pins spot they were when game started, so this is what i did instead.

private Quaternion pinStartRot;
private Vector3 pinStartPos;

void Start () {
rb = GetComponent<Rigidbody>();
pinStartRot = transform.rotation;
pinStartPos = transform.position;
}

	public void Lower ()
{
		transform.position = pinStartPos;
		transform.rotation = pinStartRot;
		rb.useGravity = true;
}

With this, pins will be set as they were at beginning, even they would have been moved a bit in a collision

Privacy & Terms