А каким методом Вы пытались сделать эту функцию? Нельзя ли так: добавить в описание планеты параметр ProceduralMoons который бы отвечал за количество лун или принимал бы стринговое значение "RandomAmount" которое бы случайно или процедурно задавло количество лун. А потом просто генерировать код и описывать луны вокруг планеты. AMD Phenom II X2 555 3200 MHz; RAM 4GB 1333 Hz; ATI Radeon HD 5670 1024 Mb; ОС Win 7 tabulorasa edition 32 bit
Сообщение отредактировал GV_FiQst - Четверг, 28.06.2012, 23:42
Да дело не в этом, а в устройстве кода. Для каталожных систем сразу создаётся статичный массив тел, тогда как для процедурных - динамический. Скрестить два подхода сразу не получится.
А если заставить програму генерировать код сохраняя его в файле получится что програма генерирует не процедурную луну а каталожную. Что-то наподобии генератора текста только проще. AMD Phenom II X2 555 3200 MHz; RAM 4GB 1333 Hz; ATI Radeon HD 5670 1024 Mb; ОС Win 7 tabulorasa edition 32 bit
Примечание: в текущей версии (0.95) есть баг. Не пытайтесь создать планеты у звезд с именем "HD XXXX" или "HIP XXXX". Вы не сможете создать луны для них, и получите еще несколько глюков.
Интересно, эта информация уже устаревшая или нет? Лет эдак через десять, когда SE станет успешным и известным проектом, я буду считаться бородатым олдфагом.
Добавлено (29.07.2012, 01:24) --------------------------------------------- У меня SE генерирует кольца у гиганта без тэга Rings { }. Как исправить? А то у этого газового гиганта колец быть не должно. Перепробывал все что только лезло в голову ничего не помогло. от код
SE генерирует кольца у всех гигантов у которых не описано переменную NoRings? AMD Phenom II X2 555 3200 MHz; RAM 4GB 1333 Hz; ATI Radeon HD 5670 1024 Mb; ОС Win 7 tabulorasa edition 32 bit
Да, процедурно. Т.е. может и не сгенерировать. Я же описывал это уже: NoRings NoAtmo NoClouds NoOcean
Да нашел Ваш пост, в котором Вы это описываете. Просто с головы вылетело. AMD Phenom II X2 555 3200 MHz; RAM 4GB 1333 Hz; ATI Radeon HD 5670 1024 Mb; ОС Win 7 tabulorasa edition 32 bit
Вот скрин: Она почти как я хотел... Но почему Горячий Ледяной Гигант? Я хотел сделать на подобии Венеры с плотной атмосферой... Что не так?
Скрипт ниже...
Code
Planet "Chronos" { ParentBody "Light Scream System/Nemesis System" //The Body, around wich this planet orbits Class "Desert" //Class of Planet
Radius 22125.1 //Radius, in Km Mass 3.48 //Mass of Body in Earth's masses Oblateness 0.0033528 //Oblateness of the Planet
Albedo 0.701 //Reflection Coefficient Color (0.911, 0.749, 0.999) //Color of particles
RotationPeriod 21.06 //Rotation Period in Hours RotationOffset 17 //Rotation phase in Degrees RotationEpoch 2451545.0 //Epoch, Ellian's epoch Obliquity 29.11 //Obliquity of rotation axis, in Degrees EqAscendNode 28.16 //Longitude of Ascending Node of rotation in Degrees Precession 9614 //Precession period, in Years
Surface { //These parameters describes a texture pack stored on the disk. If the planet uses a procedural generation of surface, comment out these parameters... //DiffMap "Chronos/Surface" //Color texture //DiffTileSize 512 //Color texture tile resolution //DiffTileBorder 1 //Color texture tile border width //BumpMap "Chronos/Bump" //Bump (heightmap) texture //BumpTileSize 512 //Bump texture tile resolution //BumpTileBorder 1 //Bump texture tile border width
BumpHeight 10.03 //Max Height of landscape, in Km BumpOffset 1.02 //Offset of Zero Height level, in Km //DiffMapAlpha "None" //Mode of specular effect (flecks of sunlight) //SpecularBright 20.0 //Brightness of specular spot //SpecularPower 150.0 //Size of specular spot DayAmbient 5.0 //Brightness of fake daytime ambient light Lommel 0.1 //Lambert to Lommel-Seeliger lighting mode ratio Exposure 3.76 //Global Surface Brightness Life false //false, if there is life on the planet - true
//These parameters for procedural surface generation... Style 0.1600855 //Default color scheme Randomise (0.911, 0.373, 0.204) //Randomize vector colorDistMagn 0.09464233 //Magnitude of detail textures distortion colorDistFreq 945.9523 //Frequency of detail textures distortion detailScale 42684.58 //Scale of detail textures colorConversion true //Perform textures color conversion //snowLevel 0.9892518 //Snow line level (0...1) tropicLatitude 0.8670503 //Latitude of tropics icecapLatitude 1.0000000 //Latitude of ice caps boundaries icecapHeight 0.3133697 // Height of ice caps climatePole 1.000 //Climate of poles - index to color table (0...1) climateTropic 0.450 //Climate of tropics - index to color table (0...1) climateEquator 0.625 //Climate of equator - index to color table (0...1) tropicWidth 0.07 //Width of tropics mainFreq 0.8642751 //Main noise frequency (oceans/continents) venusFreq 0.6955331 //Venus-like global structures frequency venusMagn 0.3008256 //Venus-like global structures magnitude mareFreq 0.9387382 //Lunar mare frequency mareDensity 0.06008458 //Lunar mare density montesMagn 0.2209584 //Mountains magnitude (0...1) montesFreq 412.9121 //Mountains frequency montesDensity 0.108095 //Mountains density dunesMagn 0.1003256 //Dunes magnitude (0...1) dunesFreq 144.6532 //Dunes frequency dunesDensity 14 //Dunes density hillsMagn 0.1289276 //Hills magnitude (0...1) hillsFreq 503.3618 //Hills frequency hillsDensity 0.8554457 //Hills density canyonMagn 0.0341905 //Canyons magnitude (0...1) canyonFreq 163.7023 //Canyons frequency canyonDensity 0.4370083 //Canyons density cracksMagn 0.0 //Ice cracks magnitude (0...1) cracksFreq 0.0 //Ice cracks frequency cracksOctaves 0 //Number of ice cracks octaves craterMagn 0.9358109 //Craters magnitude craterFreq 24.14884 //Craters frequency craterDensity 0.05892152 //Craters density craterOctaves 4.606928 //Number of craters octaves craterRayedFactor 3 //Number of rayed craters relative to usual craters cycloneMagn 1.905298 //Cyclones magnitude (0...1) cycloneFreq 0.7607107 //Cyclones frequency cycloneDensity 0.04127789 //Cyclones density colorSea (0.040, 0.100, 0.200, 1.000) //Color of seas colorShelf (0.150, 0.480, 0.460, 1.000) //Color of shelf areas colorBeach (0.850, 0.740, 0.550, 0.000) //Color of beach lines colorDesert (0.770, 0.670, 0.470, 0.000) //Color of deserts colorLowland (0.440, 0.290, 0.170, 0.000) //Color of lower lands colorUpland (0.640, 0.570, 0.470, 0.000) //Color of upper lands colorRock (0.220, 0.200, 0.200, 0.000) //Color of rocks //colorSnow (1.000, 1.000, 1.000, 0.016) //Color of snow //colorLowPlants (0.100, 0.160, 0.070, 0.000) //Color of lower vegetation //colorUpPlants (0.090, 0.110, 0.040, 0.000) //Color of upper vegetation }
Clouds { //These parameters describes a texture pack stored on the disk. If the planet uses a procedural generation of surface, comment out these parameters... //DiffMap "Chronos/Clouds" //Color texture //DiffTileSize 512 //Color texture tile resolution //DiffTileBorder 1 //Color texture tile border width //BumpMap "Chronos/CloudsBump" //Bump (heightmap) texture //BumpTileSize 512 //Bump texture tile resolution //BumpTileBorder 1 //Bump texture tile border width
BumpHeight 1.0 //Max height of "clouds landscape", in Km BumpOffset 0.0 //Offset of Zero height level DayAmbient 3.6 //Brightness of fake Daytime Ambient light Lommel 0.3 //Lumbert to Lommel-Seeliger lighting model ratio Exposure 3.6 //Global clouds brightness Height 12.06 //Height of cloud layer, in Km Velocity 94 //Velocity of clouds layer, in Km/s Color (1.0, 0.9, 1.0) //Global color of clouds layer
//Next parameters for procedural generation... mainFreq 0.9 //Main noise frequency mainOctaves 10 //Number of octaves of main noise Coverage 0.89 //Clouds coverage (0...1) twistZones 1.0 //Nomber of Jupiter-like zones or strips twistMagn 3.5 //Strenght of twist }
//Ocean /*{*/ //Height 0.0 //Height of water surface above the lowest point of the planet's surface (Surface.Radius - Surface.BumpOffset), in Km //SpecularBright //Bright of the solar spot glare, def: 20 //SpecularPower //Size of the solar spot glare, def: 150 (less value - larger spot) //DayAmbient //Fake Ambient lighting at Daylight time //Color //Modificator of color of the water surface. Use the colorSea parameter from the Surface tag instead /*}*/
Atmosphere { Model "Venus" //Model of Atmosphere Height 98.0 //Height of the top boundary, in Km Pressure 130.6 //Surface pressure, in Bars Density 2.32 //Surface Dencity in Kg/m^3 Greenhouse 600.0 //Greenhouse effect in Degrees Bright 11.1 //Brightness (rendering parameter) Opacity 1.0 //Opacity (rendering parameter) SkyLight 3.0 //Brightness of Skylight on terrain EclipseBright 230.0 //Brightness of solar eclipse shadow EclipseColor (1.000 0.600 0.200) //Color of solar eclipse shadow }
Rings { //These parameters describes a texture pack stored on the disk. If the planet uses a procedural generation of textures, comment out these parameters... InnerRadius 38666.12 //Inner Radius of Rings, in Km OuterRadius 44032.06 //Outer Radius of Rings, in Km RotationPeriod 58.33 //Rings Rotation Period, in Hours RotationOffset 18.0 //Rings Rotation phase, in Degrees FrontBright 1.0 //Direct lighting brightness BackBright 5.0 //Back lighting brightness (scattering) Density 1.0 //Density (Opacity) Exposure 3.0 //Global Brightness of Rings }
Orbit { RefPlane "Ecliptic" //Orbit reference plane Epoch 2451545.0 //Epoch, Ellian's epoch Period 0.262839 // Orbital Period, in Years Eccentricity 0.0035 //Eccentricity Inclination 9.49 //Inclination, in Degrees AscendingNode -166.0 //Longitude of Ascending Node in Degrees
//Next two parameters are interchangeable: SemiMajorAxis = PericenterDist/(1.0 Eccentricity) SemiMajorAxis 0.504018 //Semi Major Axis, in AU PericenterDist 0.50401 //Pericentric distanse in AU
//Next two parameters are interchangeable: ArgOfPericen = LongOfPericen - AscendingNode ArgOfPericen 374.0 //Argument of Pericenter, in Degrees LongOfPericen 208.0 //Longitude of Pericenter, in Degrees
//Next two parameters are interchangeable: MeanAnomaly = MeanLongitude - LongOfPericen MeanAnomaly 107.0 //Meam anomaly, in Degrees //MeanLongitude 0.0 //Mean longitude, in Degrees
AscNodePreces 101034 //Ascending node precession period, in Years ArgOfPeriPreces 123602 //Argument of pericenter precession period, in Years } }
NEMESIS, потому что не бывает каменистых планет радиусом 22000 км. максимальный радиус 10000 км кажется. SE делает газовыми гигантами все планеты с радиусом большим чем 10000 км
Добавлено (18.08.2012, 18:42) --------------------------------------------- Да и у переменной ParentBody вказывается одно имя, но 2 имена не смертельно
AMD Phenom II X2 555 3200 MHz; RAM 4GB 1333 Hz; ATI Radeon HD 5670 1024 Mb; ОС Win 7 tabulorasa edition 32 bit