public override void Generate() { const int c1 = 200; m_instances = new BatchCubeRenderer.InstanceData[c1]; m_imd = new IMD[c1]; Quaternion r = Quaternion.AngleAxis(8.0f, Vector3.forward); m_axis = r * Vector3.up; for (int i = 0; i < c1; ++i) { m_imd[i].axis1 = RV(); m_imd[i].axis2 = RV(); m_imd[i].rot_speed1 = Random.Range(0.25f, 1.5f) * 20.0f; m_imd[i].rot_speed2 = Random.Range(0.25f, 1.5f) * 20.0f; m_imd[i].rot1 = R(360.0f); m_imd[i].rot2 = R(360.0f); m_imd[i].speed = R(1.0f) + 4.0f; m_imd[i].base_y = 1.5f + R(1.25f); m_instances[i].scale = 0.75f + R(0.1f); m_instances[i].translation = r * new Vector3(R(), 0.0f, R()).normalized *(12.0f + R(1.25f)); m_instances[i].translation.y += m_imd[i].base_y; } }
public override void Generate() { const int c1 = 32; const int c2 = 256; m_instances = new BatchCubeRenderer.InstanceData[c1 + c2]; m_imd = new IMD[c1 + c2]; for (int i = 0; i < c1; ++i) { m_imd[i].axis1 = RV(); m_imd[i].axis2 = RV(); m_imd[i].rot_speed1 = Random.Range(0.25f, 1.5f) * 20.0f; m_imd[i].rot_speed2 = Random.Range(0.25f, 1.5f) * 20.0f; m_imd[i].speed = R(10.0f); m_imd[i].rot1 = R(360.0f); m_imd[i].rot2 = R(360.0f); m_instances[i].scale = 0.5f; m_instances[i].translation = RV() * Random.Range(2.5f, 4.0f); m_instances[i].translation.y += 2.0f; } for (int i = c1; i < c1 + c2; ++i) { m_imd[i].axis1 = RV(); m_imd[i].axis2 = RV(); m_imd[i].rot_speed1 = Random.Range(0.25f, 1.5f) * 20.0f; m_imd[i].rot_speed2 = Random.Range(0.25f, 1.5f) * 20.0f; m_imd[i].speed = R(2.5f); m_instances[i].scale = 1.0f; m_instances[i].translation = RV() * (17.0f + R(5.0f)); m_instances[i].translation.y += 5.0f; } }
public override void Generate() { const int c1 = 32; const int c2 = 256; m_instances = new BatchCubeRenderer.InstanceData[c1 + c2]; m_imd = new IMD[c1 + c2]; for (int i = 0; i < c1; ++i) { m_imd[i].axis1 = RV(); m_imd[i].axis2 = RV(); m_imd[i].rot_speed1 = Random.Range(0.25f, 1.5f) * 20.0f; m_imd[i].rot_speed2 = Random.Range(0.25f, 1.5f) * 20.0f; m_imd[i].speed = R(10.0f); m_imd[i].rot1 = R(360.0f); m_imd[i].rot2 = R(360.0f); m_instances[i].scale = 0.5f; m_instances[i].translation = RV() * Random.Range(2.5f, 4.0f); m_instances[i].translation.y += 2.0f; } for (int i = c1; i < c1+c2; ++i) { m_imd[i].axis1 = RV(); m_imd[i].axis2 = RV(); m_imd[i].rot_speed1 = Random.Range(0.25f, 1.5f) * 20.0f; m_imd[i].rot_speed2 = Random.Range(0.25f, 1.5f) * 20.0f; m_imd[i].speed = R(2.5f); m_instances[i].scale = 1.0f; m_instances[i].translation = RV() * (17.0f + R(5.0f)); m_instances[i].translation.y += 5.0f; } }
public override void Generate() { const int c1 = 200; m_instances = new BatchCubeRenderer.InstanceData[c1]; m_imd = new IMD[c1]; Quaternion r = Quaternion.AngleAxis(8.0f, Vector3.forward); m_axis = r * Vector3.up; for (int i = 0; i < c1; ++i) { m_imd[i].axis1 = RV(); m_imd[i].axis2 = RV(); m_imd[i].rot_speed1 = Random.Range(0.25f, 1.5f) * 20.0f; m_imd[i].rot_speed2 = Random.Range(0.25f, 1.5f) * 20.0f; m_imd[i].rot1 = R(360.0f); m_imd[i].rot2 = R(360.0f); m_imd[i].speed = R(1.0f)+4.0f; m_imd[i].base_y = 1.5f + R(1.25f); m_instances[i].scale = 0.75f + R(0.1f); m_instances[i].translation = r * new Vector3(R(), 0.0f, R()).normalized * (12.0f + R(1.25f)); m_instances[i].translation.y += m_imd[i].base_y; } }
public override void Generate() { const int cubes_par_piller = 200; const int num_pillers = 8; m_instances = new BatchCubeRenderer.InstanceData[cubes_par_piller * num_pillers]; m_imd = new IMD[cubes_par_piller * num_pillers]; const float r1 = 9.0f; const float r2 = 16.0f; const float shift = 0.0f; Vector3[] base_pos = new Vector3[num_pillers] { new Vector3(Mathf.Cos((0.0f + shift) * Mathf.Deg2Rad), 0.0f, Mathf.Sin((0.0f + shift) * Mathf.Deg2Rad)) * r1, new Vector3(Mathf.Cos((90.0f + shift) * Mathf.Deg2Rad), 0.0f, Mathf.Sin((90.0f + shift) * Mathf.Deg2Rad)) * r1, new Vector3(Mathf.Cos((180.0f + shift) * Mathf.Deg2Rad), 0.0f, Mathf.Sin((180.0f + shift) * Mathf.Deg2Rad)) * r1, new Vector3(Mathf.Cos((270.0f + shift) * Mathf.Deg2Rad), 0.0f, Mathf.Sin((270.0f + shift) * Mathf.Deg2Rad)) * r1, new Vector3(Mathf.Cos((45.0f + shift) * Mathf.Deg2Rad), 0.0f, Mathf.Sin((45.0f + shift) * Mathf.Deg2Rad)) * r2, new Vector3(Mathf.Cos((135.0f + shift) * Mathf.Deg2Rad), 0.0f, Mathf.Sin((135.0f + shift) * Mathf.Deg2Rad)) * r2, new Vector3(Mathf.Cos((225.0f + shift) * Mathf.Deg2Rad), 0.0f, Mathf.Sin((225.0f + shift) * Mathf.Deg2Rad)) * r2, new Vector3(Mathf.Cos((315.0f + shift) * Mathf.Deg2Rad), 0.0f, Mathf.Sin((315.0f + shift) * Mathf.Deg2Rad)) * r2, }; for (int pi = 0; pi < num_pillers; ++pi) { for (int ci = 0; ci < cubes_par_piller; ++ci) { int i = cubes_par_piller * pi + ci; const float rxz = 0.75f; const float ry = 15.0f; Vector3 pos = base_pos[pi] + new Vector3(Random.Range(-rxz, rxz), Random.Range(-ry, ry), Random.Range(-rxz, rxz)); m_imd[i].initial_pos = pos; m_imd[i].speed = Random.Range(0.25f, 1.0f); m_instances[i].translation = pos; m_instances[i].scale = Random.Range(0.5f, 1.1f); } } }
public override void Generate() { const int w = 31; m_instances = new BatchCubeRenderer.InstanceData[w * w]; m_imd = new IMD[m_instances.Length]; for (int xi = 0; xi < w; ++xi) { for (int zi = 0; zi < w; ++zi) { int i = w * xi + zi; Vector3 pos = new Vector3(1.1f * xi - 16.1f, Random.Range(-2.0f, 0.0f) - 0.7f, 1.1f * zi - 16.1f); float d = Mathf.Sqrt(pos.x * pos.x + pos.z * pos.z); m_imd[i].base_pos = pos; m_imd[i].up = -10.0f - Mathf.Max(10.0f - d * 1.5f, 0.0f); m_imd[i].random = Random.Range(-1.0f, 1.0f); pos.y += m_imd[i].up + (-d * 0.1f); m_instances[i].translation = pos; m_instances[i].rotation = Quaternion.identity; m_instances[i].scale = 1.0f; } } }
public override void Generate() { const int cubes_par_piller = 200; const int num_pillers = 8; m_instances = new BatchCubeRenderer.InstanceData[cubes_par_piller * num_pillers]; m_imd = new IMD[cubes_par_piller * num_pillers]; const float r1 = 9.0f; const float r2 = 16.0f; const float shift = 0.0f; Vector3[] base_pos = new Vector3[num_pillers] { new Vector3(Mathf.Cos(( 0.0f+shift)*Mathf.Deg2Rad), 0.0f, Mathf.Sin(( 0.0f+shift)*Mathf.Deg2Rad))*r1, new Vector3(Mathf.Cos(( 90.0f+shift)*Mathf.Deg2Rad), 0.0f, Mathf.Sin(( 90.0f+shift)*Mathf.Deg2Rad))*r1, new Vector3(Mathf.Cos((180.0f+shift)*Mathf.Deg2Rad), 0.0f, Mathf.Sin((180.0f+shift)*Mathf.Deg2Rad))*r1, new Vector3(Mathf.Cos((270.0f+shift)*Mathf.Deg2Rad), 0.0f, Mathf.Sin((270.0f+shift)*Mathf.Deg2Rad))*r1, new Vector3(Mathf.Cos(( 45.0f+shift)*Mathf.Deg2Rad), 0.0f, Mathf.Sin(( 45.0f+shift)*Mathf.Deg2Rad))*r2, new Vector3(Mathf.Cos((135.0f+shift)*Mathf.Deg2Rad), 0.0f, Mathf.Sin((135.0f+shift)*Mathf.Deg2Rad))*r2, new Vector3(Mathf.Cos((225.0f+shift)*Mathf.Deg2Rad), 0.0f, Mathf.Sin((225.0f+shift)*Mathf.Deg2Rad))*r2, new Vector3(Mathf.Cos((315.0f+shift)*Mathf.Deg2Rad), 0.0f, Mathf.Sin((315.0f+shift)*Mathf.Deg2Rad))*r2, }; for (int pi = 0; pi < num_pillers; ++pi) { for (int ci = 0; ci < cubes_par_piller; ++ci) { int i = cubes_par_piller * pi + ci; const float rxz = 0.75f; const float ry = 15.0f; Vector3 pos = base_pos[pi] + new Vector3(Random.Range(-rxz, rxz), Random.Range(-ry, ry), Random.Range(-rxz, rxz)); m_imd[i].initial_pos = pos; m_imd[i].speed = Random.Range(0.25f, 1.0f); m_instances[i].translation = pos; m_instances[i].scale = Random.Range(0.5f, 1.1f); } } }