public GrassEntitiesWithMaterials GenerateUniformRectangeSingleGrass(Material material, IGrassPlacer placer, int lodLevel) { var mesh = _generator.GetGrassBladeMesh(Mathf.Max(1, 7 - lodLevel)); // todo do sth var outList = new List <GrassEntity>(); var singleCount = 5; for (var i = 0; i < singleCount; i++) { var entitiesSet = _singleGenerator.CreateSingleGrass(); placer.Set(entitiesSet); outList.AddRange(entitiesSet.EntitiesAfterTransform); } return(null); //new GrassEntitiesWithMaterials(outList, material, mesh); }
public GrassEntitiesWithMaterials GenerateUniformRectangeBillboardGrass(Material material, IGrassPlacer placer, int lodLevel) { List <GrassEntity> createdEntities = new List <GrassEntity>(); var billboardGenerator = new GrassBillboardGenerator(); var meshGenerator = new GrassMeshGenerator(); var mesh = meshGenerator.GetGrassBillboardMesh(0, 1); for (int i = 0; i < 75; i++) { var triangleTurf = billboardGenerator.GenerateTriangleTurf(); //todo : use grass entities set and rotate triangleTurf.Rotation = (MyMathUtils.DegToRad(new Vector3(0, UnityEngine.Random.Range(0, 360), 0))); placer.Set(triangleTurf); createdEntities.AddRange(triangleTurf.EntitiesAfterTransform); } return(null); // new GrassEntitiesWithMaterials(createdEntities, material, mesh); }
public GrassEntitiesWithMaterials GenerateUniformRectangleTufts(Material material, IGrassPlacer placer) { var mesh = _generator.GetGrassBladeMesh(1); var outList = new List <GrassEntity>(); var tuftCount = 50; //todo do sth with it for (var i = 0; i < tuftCount; i++) { var entitiesSet = _tuftGenerator.CreateGrassTuft(); placer.Set(entitiesSet); outList.AddRange(entitiesSet.EntitiesAfterTransform); } //return new GrassEntitiesWithMaterials(outList, material, mesh); return(null); }