MirrorPreviewSystem.lua 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. local MirrorPreviewSystem = class("MirrorPreviewSystem", require("PreviewSystem"))
  2. function MirrorPreviewSystem:ctor(_, _, _, _, lookCamera)
  3. local previewCameraGo = self.previewCameraGo
  4. local mirrorCamera = previewCameraGo:AddComponent(typeof(MirrorCamera))
  5. mirrorCamera.lookCamera = lookCamera
  6. mirrorCamera.reflectionPosition = Vector3(-0.96, 0.43, -0.96)
  7. mirrorCamera.reflectionRotation = Quaternion.Euler(0, 78.2, 90)
  8. mirrorCamera.reflectionUp = Vector3(-0.2044961, 0, 0.9788674)
  9. mirrorCamera.clipPlaneOffset = 0
  10. mirrorCamera:ResetCamera()
  11. self.mirrorCamera = mirrorCamera
  12. end
  13. function MirrorPreviewSystem:Dispose()
  14. if self.mirrorCamera then
  15. UnityEngine.Object.Destroy(self.mirrorCamera)
  16. end
  17. self.mirrorCamera = nil
  18. MirrorPreviewSystem.super.Dispose(self)
  19. end
  20. function MirrorPreviewSystem:InitRTDescriptor()
  21. local descriptor = MirrorPreviewSystem.super.InitRTDescriptor(self)
  22. descriptor.msaaSamples = 1
  23. descriptor.width = 512
  24. descriptor.height = 512
  25. return descriptor
  26. end
  27. return MirrorPreviewSystem