public void SetValues( SizingConfig sizingConfig, NoiseConfig noiseConfig, FalloffConfig falloffConfig, ColorConfig colorConfig, BackgroundColorConfig backgroundColorConfig, OutlineConfig outlineConfig, SymmetryConfig symmetryConfig, SymmetryConfig3D symmetryConfig3D, ScalingConfig scalingConfig, AnimationConfig animationConfig, ShadingConfig shadingConfig, CleanupConfig cleanupConfig, NormalsConfig normalsConfig ) { this.sizingConfig = sizingConfig; this.noiseConfig = noiseConfig; this.falloffConfig = falloffConfig; this.colorConfig = colorConfig; this.backgroundColorConfig = backgroundColorConfig; this.outlineConfig = outlineConfig; this.symmetryConfig = symmetryConfig; this.symmetryConfig3D = symmetryConfig3D; this.scalingConfig = scalingConfig; this.animationConfig = animationConfig; this.shadingConfig = shadingConfig; this.cleanupConfig = cleanupConfig; this.normalsConfig = normalsConfig; }
public void AttemptToApplySymmetry(ref GeneratedVoxelModel voxelModel, SymmetryConfig3D configuration, ref SymmetryOutcome3D symmetryOutcome) { symmetryOutcome = Determine3DSymmetryDirectionsToApply(configuration); foreach (var direction in symmetryOutcome.symmetryDirections) { ApplySymmetry(ref voxelModel.modelData, direction, symmetryOutcome); } }
public void Copy(ConfigurationAsset source) { sizingConfig = source.sizingConfig; noiseConfig = source.noiseConfig; falloffConfig = source.falloffConfig; colorConfig = source.colorConfig; backgroundColorConfig = source.backgroundColorConfig; outlineConfig = source.outlineConfig; symmetryConfig = source.symmetryConfig; symmetryConfig3D = source.symmetryConfig3D; scalingConfig = source.scalingConfig; animationConfig = source.animationConfig; shadingConfig = source.shadingConfig; cleanupConfig = source.cleanupConfig; normalsConfig = source.normalsConfig; }
SymmetryOutcome3D Determine3DSymmetryDirectionsToApply(SymmetryConfig3D configuration) { var outcome = new SymmetryOutcome3D(); foreach (SymmetryDirection3D direction in Enum.GetValues(typeof(SymmetryDirection3D))) { if (Random.value < configuration.ChanceOf(direction)) { if (outcome.symmetryDirections.Count == 0 || configuration.allowMultipleSymmetryTypes && outcome.symmetryDirections.Count > 0) { outcome.symmetryDirections.Add(direction); } } } return(outcome); }