diff --git a/src/Plant.cs b/src/Plant.cs index 919b583..6ebda86 100644 --- a/src/Plant.cs +++ b/src/Plant.cs @@ -131,20 +131,20 @@ public partial class Plant : MeshInstance2D case 0: // Center dir = dir.Rotated(randF/8); maxChildren = 2; - size *= 0.95f; - maxDescentants = 4096; + size *= 0.99f; + maxDescentants = 1024; break; case 1: // left dir = dir.Rotated(-randAngleZeroDiv); - size *= 0.85f; - maxDescentants = 128; - maxChildren = maxChildren; + size *= 0.92f; + maxDescentants = 24; + maxChildren = randI-1; break; case 2: dir = dir.Rotated(+randAngleZeroDiv); - size *= 0.85f; - maxDescentants = 128; - maxChildren = maxChildren; + size *= 0.93f; + maxDescentants = 96; + maxChildren = randI-1; break; // 3D... diff --git a/src/PlantLife.cs b/src/PlantLife.cs index 765c853..4b29238 100644 --- a/src/PlantLife.cs +++ b/src/PlantLife.cs @@ -25,7 +25,7 @@ public class PlantLife public void Init() { _plantParams = new PlantParams(); - _plantParams.NodeParams.maxToRootAngleRange = Mathf.DegToRad(270); + _plantParams.NodeParams.maxToRootAngleRange = Mathf.DegToRad(200); GenesToPhenes(); //_plantParams.GrowDirection = Vector2.Right; @@ -42,8 +42,8 @@ public class PlantLife _plantParams.AverageChildren = a; var b = bytes[1]; - //var c = bytes[2]; - //_plantParams.MaxChildren = c + 1; + var c = bytes[2]; + _plantParams.MaxChildren += 1-c; var d = bytes[3]; @@ -57,7 +57,7 @@ public class PlantLife _plantParams.GrowDirection = Vector2.Down; //var v = Mathf.LerpAngle(0.5f, 5.8f, (float)d/4); // 0 - 6.2 - var v = Mathf.Lerp(0.5f, 5.8f, (float)d/4); + var v = Mathf.Lerp(0.5f, 3.8f, (float)d/4); _plantParams.NodeParams.MaxToParentAngleRange = v; } diff --git a/src/PlantParmeters.cs b/src/PlantParmeters.cs index 8a98ecd..3f13ad6 100644 --- a/src/PlantParmeters.cs +++ b/src/PlantParmeters.cs @@ -51,7 +51,7 @@ public struct PlantNodeParams [Phenotype] public float MinToParentAngleRange = Mathf.DegToRad(12); [Phenotype] - public float MaxToParentAngleRange = Mathf.DegToRad(80); + public float MaxToParentAngleRange = Mathf.DegToRad(42); public float maxToRootAngleRange = Mathf.DegToRad(180); public float MinAngleBetweenSibs = Mathf.DegToRad(12); @@ -81,7 +81,7 @@ public struct PlantNodeParams var p = new PlantNodeParams(); p.MaxChildren = 2; p.NodeType = PlantNodeTypes.Trunk; - p.maxToRootAngleRange = 0.1f; + //p.maxToRootAngleRange = 0.1f; return p;