public virtual Matrix4 GetWorldMatrix() { Matrix4 parentWorldMatrix = Matrix4.Identity; if (ParentComponent != null) { parentWorldMatrix *= ParentComponent.GetWorldMatrix(); } var WorldMatrix = Matrix4.Identity; WorldMatrix *= Matrix4.CreateScale(ComponentScale); WorldMatrix *= Matrix4.CreateRotationX(MathHelper.DegreesToRadians(ComponentRotation.X)); WorldMatrix *= Matrix4.CreateRotationY(MathHelper.DegreesToRadians(ComponentRotation.Y)); WorldMatrix *= Matrix4.CreateRotationZ(MathHelper.DegreesToRadians(ComponentRotation.Z)); WorldMatrix *= Matrix4.CreateTranslation(ComponentTranslation); WorldMatrix *= parentWorldMatrix; return(WorldMatrix); }
public override Matrix4 GetWorldMatrix() { Matrix4 parentWorldMatrix = Matrix4.Identity; if (ParentComponent != null) { parentWorldMatrix *= ParentComponent.GetWorldMatrix(); } Matrix4 modelMatrix = Matrix4.Identity; // Rotation modelMatrix *= Matrix4.CreateRotationX(MathHelper.DegreesToRadians(ComponentRotation.X)); modelMatrix *= Matrix4.CreateRotationY(MathHelper.DegreesToRadians(ComponentRotation.Y)); modelMatrix *= Matrix4.CreateRotationZ(MathHelper.DegreesToRadians(ComponentRotation.Z)); // Scale modelMatrix *= Matrix4.CreateScale(ComponentScale); // Translation modelMatrix *= Matrix4.CreateTranslation(ComponentTranslation); modelMatrix *= parentWorldMatrix; return(modelMatrix); }