diff --git a/KeepersCompound.Lightmapper/Light.cs b/KeepersCompound.Lightmapper/Light.cs index f74dbe8..73cb1ea 100644 --- a/KeepersCompound.Lightmapper/Light.cs +++ b/KeepersCompound.Lightmapper/Light.cs @@ -51,12 +51,8 @@ public class Light Matrix4x4 rotate, Matrix4x4 scale) { - var transform = scale * rotate * translate; - vhotLightPos = Vector3.Transform(vhotLightPos, transform); - vhotLightDir = Vector3.Transform(vhotLightDir, transform); - - Position = Vector3.Transform(Position, rotate) + vhotLightPos; - SpotlightDir = Vector3.Normalize(vhotLightDir - vhotLightPos); + Position = Vector3.Transform(Position, rotate) + Vector3.Transform(vhotLightPos, scale * rotate * translate); + SpotlightDir = Vector3.Normalize(Vector3.Transform(vhotLightDir, scale * rotate)); } public float StrengthAtPoint(Vector3 point, Plane plane) diff --git a/KeepersCompound.Lightmapper/LightMapper.cs b/KeepersCompound.Lightmapper/LightMapper.cs index 6f64240..3862933 100644 --- a/KeepersCompound.Lightmapper/LightMapper.cs +++ b/KeepersCompound.Lightmapper/LightMapper.cs @@ -258,7 +258,7 @@ public class LightMapper } if (model.TryGetVhot(ModelFile.VhotId.LightDirection, out vhot)) { - vhotLightDir = vhot.Position - model.Header.Center; + vhotLightDir = (vhot.Position - model.Header.Center) - vhotLightPos; } } }