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
|
using UnityEngine;
using UnityEngine.Rendering;
namespace NGS.MeshFusionPro;
public struct MeshCombineInfo
{
public Mesh mesh;
public Matrix4x4 transformMatrix;
public Vector4 lightmapScaleOffset;
public Vector4 realtimeLightmapScaleOffset;
public int submeshIndex;
public readonly int vertexCount;
public readonly int trianglesCount;
public MeshCombineInfo(Mesh mesh, int submeshIndex = 0)
: this(mesh, Matrix4x4.identity, submeshIndex)
{
}
public MeshCombineInfo(Mesh mesh, Matrix4x4 transformMatrix, int submeshIndex = 0)
: this(mesh, transformMatrix, new Vector4(1f, 1f, 0f, 0f), new Vector4(1f, 1f, 0f, 0f), submeshIndex)
{
}
public MeshCombineInfo(Mesh mesh, Matrix4x4 transformMatrix, Vector4 lightmapScaleOffset, Vector4 realtimeLightmapScaleOffset, int submeshIndex = 0)
{
this.mesh = mesh;
this.transformMatrix = transformMatrix;
this.lightmapScaleOffset = lightmapScaleOffset;
this.realtimeLightmapScaleOffset = realtimeLightmapScaleOffset;
this.submeshIndex = submeshIndex;
SubMeshDescriptor subMesh = mesh.GetSubMesh(submeshIndex);
vertexCount = subMesh.vertexCount;
trianglesCount = subMesh.indexCount;
}
}
|