Exemplo n.º 1
0
 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;
 }
Exemplo n.º 2
0
    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);
        }
    }
Exemplo n.º 3
0
 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;
 }
Exemplo n.º 4
0
    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);
    }