StructureSettings CreateStarStructure() { // stars are basically just spheres StructureSettings newStructureSettings = new StructureSettings(); newStructureSettings.resolution = randomSettings.defaultResolution; newStructureSettings.noiseLayers = new StructureSettings.NoiseLayer[1]; StructureSettings.NoiseLayer newNoiseLayer = new StructureSettings.NoiseLayer(); NoiseSettings newNoiseSettings = new NoiseSettings(); newNoiseSettings.filterType = (NoiseSettings.FilterType.Simple); newNoiseSettings.simpleNoiseSettings = new NoiseSettings.SimpleNoiseSettings(); newNoiseSettings.simpleNoiseSettings.strength = 0; newNoiseLayer.noiseSettings = newNoiseSettings; newStructureSettings.noiseLayers[0] = newNoiseLayer; return(newStructureSettings); }
StructureSettings CreateRandomStructureSettings() { StructureSettings newStructureSettings = new StructureSettings(); // set the resolution of the meshes created for each celestial body newStructureSettings.resolution = randomSettings.defaultResolution; int numNoiseLayers = (int)Lerp(randomSettings.randomNoiseSettings.minNumNoiseLayers, randomSettings.randomNoiseSettings.maxNumNoiseLayers + 1, UnityEngine.Random.value); StructureSettings.NoiseLayer[] newNoiseLayers = new StructureSettings.NoiseLayer[numNoiseLayers]; for (int i = 0; i < numNoiseLayers; i++) { newNoiseLayers[i] = new StructureSettings.NoiseLayer(); // create a new type of noise settings NoiseSettings newNoiseSettings = new NoiseSettings(); newNoiseSettings.filterType = (NoiseSettings.FilterType)UnityEngine.Random.Range(0, Enum.GetNames(typeof(NoiseSettings.FilterType)).Length); if (i > 0) { newNoiseLayers[i].useFirstLayerAsMask = true; } // populate the settings depending on which type of noise it is if (newNoiseSettings.filterType == NoiseSettings.FilterType.Simple) { noiseSettingsGenerator.PopulateSimpleNoiseSettings(ref newNoiseSettings.simpleNoiseSettings, newNoiseLayers[i].useFirstLayerAsMask); } else if (newNoiseSettings.filterType == NoiseSettings.FilterType.Rigid) { noiseSettingsGenerator.PopulateRigidNoiseSettings(ref newNoiseSettings.rigidNoiseSettings, newNoiseLayers[i].useFirstLayerAsMask); } newNoiseLayers[i].noiseSettings = newNoiseSettings; } newStructureSettings.noiseLayers = newNoiseLayers; return(newStructureSettings); }