//Built Bouding Sphere private void builtBoudingSphere() { BoundingSphere sphere = new BoundingSphere(Vector3.Zero, 0); foreach (ModelMesh mesh in Model.Meshes) { BoundingSphere tranformed = mesh.BoundingSphere.Transform(modelTranforms[mesh.ParentBone.Index]); sphere = BoundingSphere.CreateMerged(sphere, tranformed); } this.boudingSphere = sphere; } //Check Collision public bool CheckColision(CModel otherModel) { return (this.BoudingSphere.Contains(otherModel.BoudingSphere)==ContainmentType.Intersects); } //BoundingSphere Property public BoundingSphere BoudingSphere { get { Matrix worldTranform = Matrix.CreateScale(Scale) * Matrix.CreateTranslation(Positon); BoundingSphere transformed = boudingSphere; transformed = transformed.Transform(worldTranform); return transformed; } }
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)