Quantcast
Channel: Latest Questions on Unity Answers
Viewing all articles
Browse latest Browse all 171066

Procedurally generating a mesh?

$
0
0
So i wrote the script for my new infinite terrain generator, but when i run it nothing happens, Working with meshes is kinda new to me so i was wondering if somebody a bit more experienced could take a peek and hopefully find my mistake. using UnityEngine; using System.Collections; public class WorldGenesis : MonoBehaviour { void Start() { SectorInitialization(0,0,50,50);; } /* //Will be used later when the inharitence from monoBehaviour is removed, this class will be called from another script. public WorldGenesis(float originX, float originZ, int segmentsX, int segmentsZ) { SectorInitialization(originX,originZ,segmentsX,segmentsZ); } */ public void SectorInitialization(float originX, float originZ, int segmentsX, int segmentsZ) { int _ArraySize = segmentsX * segmentsZ * 6; Vector3[] _Vertices = new Vector3[_ArraySize]; int[] _Triangles = new int[_ArraySize]; int _Index = 0; //Initialize Sector Vertices for (float z = 0.0f; z < segmentsZ; z++) { for (float x = 0.0f; x < segmentsX; x++) { //First Triangle _Vertices[_Index] = new Vector3(originX + x, 0.0f, originZ + z); _Vertices[_Index+1] = new Vector3(originX + x, 0.0f,(originZ + z) + 1); _Vertices[_Index+2] = new Vector3((originX + x) + 1, 0.0f, originZ + z); //Second Triangle _Vertices[_Index+3] = new Vector3(originX + x, 0.0f,(originZ + z) + 1); _Vertices[_Index+4] = new Vector3((originX + x) + 1,(originZ + z) + 1); _Vertices[_Index+5] = new Vector3((originX + x) + 1, 0.0f, originZ + z); //Set Index for next batch of triangles _Index += 6; } } //Initialize Sector Triangles //Initialize Sector Vertices for (int v = 0; v < _Vertices.Length; v++) { _Triangles[v] = v; } //Generate Mesh SectorGeneration(_Vertices, _Triangles); } public void SectorGeneration(Vector3[] vertices, int[] triangles) { GameObject _Sector = new GameObject(); _Sector.name = "Sector"; MeshFilter meshFilter = (MeshFilter)_Sector.AddComponent(typeof(MeshFilter)); _Sector.AddComponent(typeof(MeshRenderer)); Mesh _Mesh = new Mesh(); _Mesh.vertices = vertices; _Mesh.triangles = triangles; _Mesh.RecalculateBounds(); _Mesh.RecalculateNormals(); _Mesh.Optimize(); } } ~Malarkey

Viewing all articles
Browse latest Browse all 171066

Latest Images

Trending Articles



Latest Images

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>