Generieren prozedurale schwimmende Insel in EinheitC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Generieren prozedurale schwimmende Insel in Einheit

Post by Anonymous »

Ich möchte in Einheit eine einfache schwimmende Insel mit niedriger Verfahren erzeugen:

. Ich habe nicht die Ergebnisse erhalten, die ich wollte, wie eine richtige Kurve und kein Verjüngen. Stimmt etwas mit meinem Code nicht? Oder gibt es einen anderen Algorithmus, den ich verwenden kann? < /p>
Der Code, den ich bisher verwendet habe: < /p>

Code: Select all

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class SphereGenerator : MonoBehaviour
{

public float minRadius = 1f;
Vector3[] vertices;
Vector3[] normales;
Vector2[] uvs;
int[] triangles;
MeshFilter filter;

// Start is called before the first frame update
void Start()
{

StartCoroutine(createMesh());
}

// Update is called once per frame
void Update()
{
updateMesh();
}

IEnumerator createMesh(){
float radius = minRadius;
// Longitude |||
int nbLong = 24;
// Latitude ---
int nbLat = 16;

#region Vertices
vertices = new Vector3[(nbLong+1) * nbLat + 2];
float _pi = Mathf.PI;
float _2pi = _pi * 2f;

vertices[0] = Vector3.zero;

float y = 0f;
for( int lat = 0; lat < nbLat; lat++ )
{
float a1 = _pi * (float)(lat+1) / (nbLat+1);
float sin1 = Mathf.Sin(a1);
float cos1 = Mathf.Cos(a1);

for( int lon = 0; lon

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post