RayExtensions.cs 598 B

123456789101112131415161718192021222324
  1. #if UNITY_EDITOR
  2. using UnityEngine;
  3. namespace O3DWB
  4. {
  5. public static class RayExtensions
  6. {
  7. #region Extension Methods
  8. public static Ray Transform(this Ray ray, Matrix4x4 transformMatrix)
  9. {
  10. ray.origin = transformMatrix.MultiplyPoint(ray.origin);
  11. ray.direction = transformMatrix.MultiplyVector(ray.direction);
  12. return ray;
  13. }
  14. public static Ray InverseTransform(this Ray ray, Matrix4x4 transformMatrix)
  15. {
  16. return ray.Transform(transformMatrix.inverse);
  17. }
  18. #endregion
  19. }
  20. }
  21. #endif