glTFCamera.cs
1.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
using System;
using UniJSON;
namespace UniGLTF
{
public enum ProjectionType
{
Perspective,
Orthographic
}
[Serializable]
public class glTFOrthographic
{
[JsonSchema(Required = true)]
public float xmag;
[JsonSchema(Required = true)]
public float ymag;
[JsonSchema(Required = true, Minimum = 0.0f, ExclusiveMinimum = true)]
public float zfar;
[JsonSchema(Required = true, Minimum = 0.0f)]
public float znear;
[JsonSchema(MinProperties = 1)]
public glTFOrthographic_extensions extensions;
[JsonSchema(MinProperties = 1)]
public glTFOrthographic_extras extras;
}
[Serializable]
public class glTFPerspective
{
[JsonSchema(Minimum = 0.0f, ExclusiveMinimum = true)]
public float aspectRatio;
[JsonSchema(Required = true, Minimum = 0.0f, ExclusiveMinimum = true)]
public float yfov;
[JsonSchema(Minimum = 0.0f, ExclusiveMinimum = true)]
public float zfar;
[JsonSchema(Required = true, Minimum = 0.0f, ExclusiveMinimum = true)]
public float znear;
public glTFPerspective_extensions extensions;
public glTFPerspective_extras extras;
}
[Serializable]
public class glTFCamera
{
public glTFOrthographic orthographic;
public glTFPerspective perspective;
[JsonSchema(Required = true, EnumSerializationType = EnumSerializationType.AsLowerString)]
public ProjectionType type;
public string name;
public glTFCamera_extensions extensions;
public glTFCamera_extras extras;
}
}