Пример #1
0
    void Awake()
    {
        _greedyMeshGenerators = new GreedyMeshGenerator[3];

        _map = new Map();
        _okButton.onClick.AddListener(() =>
        {
            gameState = GameState.GeneratingMesh;
        });

        for (int i = 0; i < 3; i++)
        {
            _greedyMeshGenerators[i] = new GreedyMeshGenerator();
        }
    }
Пример #2
0
 //[Benchmark]
 public void GreedyMeshGeneratorTest()
 {
     GreedyMeshGenerator.GenerateMesh(_data, (typeNum, orientation, side, quad, size) =>
     {
         var textureOffset = Vector2.Zero;
         _indices.Add((ushort)(_vertices.Count + 0));
         _indices.Add((ushort)(_vertices.Count + 1));
         _indices.Add((ushort)(_vertices.Count + 3));
         _indices.Add((ushort)(_vertices.Count + 1));
         _indices.Add((ushort)(_vertices.Count + 2));
         _indices.Add((ushort)(_vertices.Count + 3));
         _vertices.Add(new VertexPositionTextureNormal(quad.A, (textureOffset + new Vector2(0, 128)) / _imageSize, quad.Normal));
         _vertices.Add(new VertexPositionTextureNormal(quad.B, (textureOffset + new Vector2(0, 0)) / _imageSize, quad.Normal));
         _vertices.Add(new VertexPositionTextureNormal(quad.C, (textureOffset + new Vector2(128, 0)) / _imageSize, quad.Normal));
         _vertices.Add(new VertexPositionTextureNormal(quad.D, (textureOffset + new Vector2(128, 128)) / _imageSize, quad.Normal));
     });
 }