Я делаю игру на 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;
}
}