GLTFCamera.cs 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Threading.Tasks;
  5. using Newtonsoft.Json;
  6. using Siccity.GLTFUtility.Converters;
  7. using UnityEngine;
  8. using UnityEngine.Scripting;
  9. namespace Siccity.GLTFUtility {
  10. // https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#camera
  11. [Preserve] public class GLTFCamera {
  12. #region Serialization
  13. public Orthographic orthographic;
  14. public Perspective perspective;
  15. [JsonProperty(Required = Required.Always), JsonConverter(typeof(EnumConverter))] public CameraType type;
  16. public string name;
  17. [Preserve] public class Orthographic {
  18. [JsonProperty(Required = Required.Always)] public float xmag;
  19. [JsonProperty(Required = Required.Always)] public float ymag;
  20. [JsonProperty(Required = Required.Always)] public float zfar;
  21. [JsonProperty(Required = Required.Always)] public float znear;
  22. }
  23. [Preserve] public class Perspective {
  24. public float? aspectRatio;
  25. [JsonProperty(Required = Required.Always)] public float yfov;
  26. public float? zfar;
  27. [JsonProperty(Required = Required.Always)] public float znear;
  28. }
  29. #endregion
  30. }
  31. }