private void CreateScene3() { // add a chain List<BoxObject> chainBoxes = new List<BoxObject>(); for (int i = 0; i < 25; i++) { BoxObject boxObject = new BoxObject(this, boxModel, Vector3.One, Matrix.Identity, new Vector3(i, 25 - i, 0)); if (i == 0) boxObject.PhysicsBody.Immovable = true; chainBoxes.Add(boxObject); } for (int i = 1; i < 25; i++) { HingeJoint hingeJoint = new HingeJoint(); hingeJoint.Initialise(chainBoxes[i - 1].PhysicsBody, chainBoxes[i].PhysicsBody, Vector3.Backward, new Vector3(0.5f, -0.5f, 0.0f), 0.5f, 90.0f, 90.0f, 0.0f, 0.2f); hingeJoint.EnableController(); hingeJoint.EnableHinge(); } foreach (BoxObject obj in chainBoxes) { this.Components.Add(obj); } }