Почему Skybox перекрывает мне генератор sh? - PullRequest
0 голосов
/ 30 мая 2020

Я делаю игру на Android про катание на лыжах, и у меня проблема с камерой.

Вот видео, чтобы показать проблему: https://youtu.be/_SJ4z98EO8U

Я хотел сделать холм со мной sh руководство по генератору, но мой sh генератор перекрывается скайбоксом камеры.

Я sh Генератор создает холм с помощью Mathf.PerlinNoise и треугольников . Мой код:

using UnityEngine;
using System.Collections;

public class MeshGenerator : MonoBehaviour
{
Mesh mesh;

Vector3[] vertices;
int[] triangles;

public int xSize = 20;
public int zSize = 20;

void Start()
{
    mesh = new Mesh();
    GetComponent<MeshFilter>().mesh = mesh;
    CreateShape();
    UpdateMesh();
}

void CreateShape(){
    vertices = new Vector3[(xSize + 1) * (zSize + 1)];

    for(int z = 0, i = 0; z <= zSize; z++){
        for(int x = 0; x <= xSize; x++){
            float y = Mathf.PerlinNoise(x * .3f, z * .3f) * 2f;
            vertices[i] = new Vector3(x, y, z);
            i++;
        }
    }

    triangles = new int[xSize * zSize * 6];
    int vert = 0;
    int tris = 0;

    for(int z = 0; z < zSize; z++){
        for(int x = 0; x < xSize; x++){
            triangles[tris + 0] = vert + 0;
            triangles[tris + 1] = vert + xSize + 1;
            triangles[tris + 2] = vert + 1;
            triangles[tris + 3] = vert + 1;
            triangles[tris + 4] = vert + xSize + 1;
            triangles[tris + 5] = vert + xSize + 2;
            vert++;
            tris += 6;
        }
        vert++;
    }
}

void UpdateMesh(){
    mesh.Clear();
    mesh.vertices = vertices;
    mesh.triangles = triangles;
    mesh.RecalculateBounds();
    MeshCollider meshCollider = gameObject.GetComponent<MeshCollider>();
    meshCollider.sharedMesh = mesh;
}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...