public SolarSystemMaker(Vector3 coords) { //INIT solarSystemSettings = GameObject.Find("SpaceMaker").GetComponent <CommonSettings>().solarSystemSettings; center = coords; seed = ((int)coords.x) | (((int)coords.y) << 8) | (((int)coords.z) << 16); noise = new NoiseFilter(seed); //MAKING makeSun(); makePlanets(); }
// Start is called before the first frame update void Start() { globalProperties = GetComponentInParent <SolarSystemSettings>(); globalProperties.PropertyChanged += OnGlobalPropertyChange; // Set global properties planetScale = globalProperties.PlanetScale; distanceScale = globalProperties.DistanceScale; framesPerDay = globalProperties.FramesPerDay; // Set planet properties planetGO = CreatePlanet(name, diameter, distanceScale, planetScale, transform); SetAxialProperties(transform, tilt, axialRotationDays, framesPerDay); // Set orbital properties SetOrbitalProperties(distanceScale, framesPerDay, sunOrbit, AU, eccentricity); }
internal static void GenerateTestSystem(SolarSystemSettings solarSystemSettings) { StarHelper.CreateAndInitialiseSystemStar(ScaleHelper.Millions(1), StarHelper.BasicSunColor()); string planetShader = "flatshaded"; Planet earth = new Planet("earth", new Vector3d(ScaleHelper.Millions(20), 0, 0), NoiseGenerator.FastPlanet(6000), EffectLoader.LoadSM5Effect("AtmosphericScatteringGround").Clone(), 6000, Color.DarkSeaGreen.ChangeTone(-100), Color.SaddleBrown, Color.SaddleBrown.ChangeTone(-10), 0.000001f); earth.Orbit(Vector3d.Zero, ScaleHelper.Millions(20), ScaleHelper.Millionths(0.1f)); earth.AddAtmosphere(); SystemCore.GameObjectManager.AddAndInitialiseGameObject(earth); Planet moon = new Planet("moon", new Vector3d(ScaleHelper.Millions(20) + 20000, 0, 0), NoiseGenerator.Voronoi(0.02f), EffectLoader.LoadSM5Effect(planetShader).Clone(), 2000, Color.DarkGray.ChangeTone(10), Color.DarkGray, Color.DarkGray.ChangeTone(-10)); moon.Orbit(earth, 20000, ScaleHelper.Millionths(50f)); moon.orbitAngle = RandomHelper.GetRandomeAngle(); SystemCore.GameObjectManager.AddAndInitialiseGameObject(moon); Planet moon2 = new Planet("moon2", new Vector3d(ScaleHelper.Millions(20) + 40000, 0, 0), NoiseGenerator.RidgedMultiFractal(0.02f), EffectLoader.LoadSM5Effect(planetShader).Clone(), 1000, Color.SandyBrown.ChangeTone(-80), Color.SandyBrown.ChangeTone(-90), Color.SandyBrown.ChangeTone(-100)); moon2.Orbit(earth, 40000, ScaleHelper.Millionths(50f)); moon2.orbitAngle = RandomHelper.GetRandomeAngle(); SystemCore.GameObjectManager.AddAndInitialiseGameObject(moon2); Planet moon3 = new Planet("moon3", new Vector3d(ScaleHelper.Millions(20) + 45000, 0, 0), NoiseGenerator.RidgedMultiFractal(0.02f), EffectLoader.LoadSM5Effect(planetShader).Clone(), 500, Color.DarkSlateGray.ChangeTone(10), Color.DarkSlateGray, Color.DarkSlateGray.ChangeTone(-10)); moon3.Orbit(moon2, 5000, ScaleHelper.Millionths(50f)); moon3.orbitAngle = RandomHelper.GetRandomeAngle(); SystemCore.GameObjectManager.AddAndInitialiseGameObject(moon3); }
internal static void GenerateRandomSystem(SolarSystemSettings settings) { int planetsMin = 5; int planetsMax = 10; }