NEMESIS, прочитай это. Не надо писать скрипты на 100500 строк. я тебе сейчас опишу планетку с радиусом 10200 км и массой 2.5 земной c кольцами. пусть назывется LOL. [code] Planet "LOL" { ParentBody "Star" Class "Terra" Radius 10200 Mass 2.5 Rings { InnerRadius 15000 //не хотели работать пришлось ввести OuterRadius 25000 } Orbit { SemiMajorAxis 9 // середнее растояние к звезде в а.е. Eccentricity 0.41 //эксцентриситет характерезирует вытянутость орбиты от 0 до 1. 0 - коло 1 - гипербола (или парабола). Ввел просто так } }
от и наша плвнета
Да и ты можешь редактировать планету прамо в SE. Editor/Edit Planet (Редактор/Редактировать планету)
Точно, надо обновить мануал... Хотя да, теперь ведь есть редактор, поэтому создание планеты можно разбить на такие этапы:
1) Создание минимального скрипта, как описал GV_FiQst. В нём указываются только размеры, орбита, класс, наличие/отсутствие атмосферы, облаков, колец.
2) Открывание редактора для планеты, игра с параметрами в нём, кнопка Обновить применяет новые параметры, и можно увидеть, на что они влияют.
3) Экспорт скрипта (кнопка Экспорт).
4) Копирование кода из экспортированного скрипта (cache/export/имя.sc) с ваш скрипт.
В будущей версии сделаю сохранение сразу в скрипт редактируемой планеты, если он есть (т.е. если планета не процедурная). Но надо будет предусмотреть какую-нибудь защиту, чтобы не испортить стандартные планеты.
А я как дурак постоянно перезапускал SE... Облом... Попробую поколдовать с редактором... Windows 7 Ultimate x64 SP1 Intel Core i5 750 2.67 GHz 12 Gb 1333 MHz DDR3 RAM ASUS P7P55D PRO Sapphire HD7850 O.C. Edition 2 GB GDDR5 vRAM
SpaceEngineer, да и у редакторе невозможно настроить такие параметры как тэг облаков, тэг колец, тэг атмосферы. Надо бы усовершенствовать AMD Phenom II X2 555 3200 MHz; RAM 4GB 1333 Hz; ATI Radeon HD 5670 1024 Mb; ОС Win 7 tabulorasa edition 32 bit
Добавлено (27.08.2012, 10:47) --------------------------------------------- SpaceEngineer после настройки планеты через редактор, когда я пытаюсь приземлиться на поверхность планеты, почему я проваливаюсь намного ниже текстур? После изменений настроек Randomisex, y, z, такое происходит... Как сохранить настройки? Когда повторно открываю SE, планета принимает первоначальный вид, который описан в скрипте... На кнопку "Обновить" нажимаю, всёравно без изменений... Тэг Поверхности я описывал в скрипте... Может его убрать чтоб поверхность была процедурной? Как сделать?
Я пытаюсь добавить Астероид-спутник чтоб он вращался вокруг планеты (как у Марса)... Но он не появляется, нету блин... Скрипт ниже:
Code
Asteroid "Chronos a/BX65-48" { ParentBody "Chronos" //The Body, around wich this planet orbits Class "Asteroid" //Class of a Body
Radius 581.12 //Radius of Body, in Km Mass 0.0002091 //Mass of Body in Earth's masses
Albedo 0.382 //Reflection Coefficient Color (1.000, 1.000, 0.955) //Color of particles
RotationPeriod 6.06 //Rotation Period in Hours RotationOffset 4 //Rotation phase in Degrees RotationEpoch 2451545.0 //Epoch, Ellian's epoch Obliquity 34.16 //Obliquity of rotation axis, in Degrees EqAscendNode 20.16 //Longitude of Ascending Node of rotation in Degrees Precession 162 //Precession period, in Years
Orbit { RefPlane "Ecliptic" //Orbit reference plane Epoch 2451545.0 //Epoch, Ellian's epoch Period 0.0028748 // Orbital Period, in Years Eccentricity 0.045 //Eccentricity Inclination 7.6 //Inclination, in Degrees AscendingNode 139.0 //Longitude of Ascending Node in Degrees
//Next two parameters are interchangeable: SemiMajorAxis = PericenterDist/(1.0 Eccentricity) SemiMajorAxis 0.00044204506 //Semi Major Axis, in AU PericenterDist 0.00044205 //Pericentric distanse in AU
//Next two parameters are interchangeable: ArgOfPericen = LongOfPericen - AscendingNode ArgOfPericen 194.0 //Argument of Pericenter, in Degrees //LongOfPericen 333.0 //Longitude of Pericenter, in Degrees
//Next two parameters are interchangeable: MeanAnomaly = MeanLongitude - LongOfPericen MeanAnomaly -103.0 //Meam anomaly, in Degrees //MeanLongitude 230.0 //Mean longitude, in Degrees
AscNodePreces 100 //Ascending node precession period, in Years ArgOfPeriPreces 166 //Argument of pericenter precession period, in Years } {
Во первых астероиды не обращаются вокруг планет - это делают луны, поэтому надо описать так
Code
DwarfMoon "Name" { ParentBody "PlanetName" Class "Asteroid" ...
Во вторых у тебя последняя дужка открыта ("{") и обозначает "begin" а надо закрытую ("}") ("end").
Quote (NEMESIS)
Как сохранить настройки? Когда повторно открываю SE, планета принимает первоначальный вид, который описан в скрипте... На кнопку "Обновить" нажимаю, всёравно без изменений... Тэг Поверхности я описывал в скрипте... Может его убрать чтоб поверхность была процедурной? Как сделать?
Надо сначала експортировать скрипт нажав на кнопку "Export" в редакторе, после чего выскочит окно где ты вводишь имя файла которое ты хочешь и нажимаешь ок, и только потом лезешь по дереву у папку cache/export/ и открываешь свой файл откуда копируешь скрипт своей планеты у файл который описан в файле config/universe.cfg 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 - Понедельник, 27.08.2012, 14:04
Во вторых у тебя последняя дужка открыта ("{") и обозначает "begin" а надо закрытую ("}") ("end").
Даааа... я это тоже нашёл...
А поверхность у астероида как указывать или может вообще не указывать, чтоб процедурно генератор сгенерировал?
Отдельный вопрос - можно ли у процедурной планеты или астероида экспортировать скрипт?
Добавлено (27.08.2012, 18:21) --------------------------------------------- И ещё, в некоторых кодах (напромер MeanAnomaly) минимальное значение какое? Можно ли его изменять от 0 до 360 градусов или от -360 до 360 градусов...
Не сердитесь на меня , у меня получаются отрицательные значения (например -12.1, -112.68) и глюков в SE я не наблюдал...
Спасибо. Windows 7 Ultimate x64 SP1 Intel Core i5 750 2.67 GHz 12 Gb 1333 MHz DDR3 RAM ASUS P7P55D PRO Sapphire HD7850 O.C. Edition 2 GB GDDR5 vRAM
Сообщение отредактировал NEMESIS - Понедельник, 27.08.2012, 18:23
Отдельный вопрос - можно ли у процедурной планеты или астероида экспортировать скрипт?
Да. даже у 0,95 можно было
Quote (NEMESIS)
И ещё, в некоторых кодах (напромер MeanAnomaly) минимальное значение какое? Можно ли его изменять от 0 до 360 градусов или от -360 до 360 градусов...
-360 до 360 просто например -350 градусов равно 10 градусов такчто это значения не имеет. Да и ты знаешь что означает каждый параметр орбиты? Или ты интуитивно настраиваешь? 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 - Понедельник, 27.08.2012, 19:02
Неетт, я не знаю. Но и интуитивно не настраиваю... Представь, какой бред бы получился...
Мне помогает симулятор Universe Sandbox, я именно на том форуме наткнулся на Space Engine. Я в US составляю систему, а получившиеся данные я ввожу в скрипт... потом оставшиеся вычисляю, там уже делать нефиг
Когда прочитал этот мануал, долго парился как вычислять нужное расстояние и период. А потом осенило US же под рукой! Попробовал и получилось...
Блииииин, ты расколол меня!
Я пытался проверить данные, например расстояние между компонентами двойной планеты. Я так и не разобрался:
Quote
Рассчитать большую полуось орбиты (SemiMajorAxis) нужно из отношения масс компонентов системы (здесь R и есть требуемое расстояние между телами (средняя большая полуось)): Тело A: SemiMajorAxis = R * MassB / (MassA + MassB) Тело B: SemiMajorAxis = R * MassA / (MassA + MassB)
Этот R в километрах или в AU? Я точно по формуле вычислял, (R в AU) у меня бред выходил: тяжёлое тело находилось дальше от барицентра чем лёгкое. Windows 7 Ultimate x64 SP1 Intel Core i5 750 2.67 GHz 12 Gb 1333 MHz DDR3 RAM ASUS P7P55D PRO Sapphire HD7850 O.C. Edition 2 GB GDDR5 vRAM
Да, конечно... я что-то напутал, теперь всё понимаю... даже в Excel ввёл чтоб вычислять... Всё сходится...
Для астероида я ввёл следующее:
Code
DwarfMoon "Chronos A" { ParentBody "Chronos" //The Body, around wich this planet orbits Class "Asteroid" //Class of a Body
Radius 401.12 //Radius of Body, in Km Mass 0.0002091 //Mass of Body in Earth's masses
Albedo 0.382 //Reflection Coefficient Color (1.000, 1.000, 0.955) //Color of particles
RotationPeriod 6.06 //Rotation Period in Hours RotationOffset 4 //Rotation phase in Degrees RotationEpoch 2451545.0 //Epoch, Ellian's epoch Obliquity 34.16 //Obliquity of rotation axis, in Degrees EqAscendNode 20.16 //Longitude of Ascending Node of rotation in Degrees Precession 162 //Precession period, in Years
Orbit { RefPlane "Ecliptic" //Orbit reference plane Epoch 2451545.0 //Epoch, Ellian's epoch Period 0.0028748 // Orbital Period, in Years Eccentricity 0.045 //Eccentricity of Body orbit (if e=0 is cyrcle, if 1>e>0 is ellipse, if e=1 is parabola, if e>1 is hyperbola) Inclination 7.6 //Inclination of Orbit in degrees, 0<i<90 - is direct, 90<i<180 - is inverse AscendingNode 139.0 //Longitude of Ascending Node in Degrees
//Next two parameters are interchangeable: SemiMajorAxis = PericenterDist/(1.0 Eccentricity) SemiMajorAxis 0.00044204506 //Semi Major Axis, in AU PericenterDist 0.00044205 //Pericentric distanse in AU
//Next two parameters are interchangeable: ArgOfPericen = LongOfPericen - AscendingNode ArgOfPericen 194.0 //Argument of Pericenter, in Degrees //LongOfPericen 333.0 //Longitude of Pericenter, in Degrees
//Next two parameters are interchangeable: MeanAnomaly = MeanLongitude - LongOfPericen MeanAnomaly -103.0 //Meam anomaly, in Degrees //MeanLongitude 230.0 //Mean longitude, in Degrees
AscNodePreces 100 //Ascending node precession period, in Years ArgOfPeriPreces 166 //Argument of pericenter precession period, in Years } }
Астероид у меня круглый получился, но достаточно рыхлый... Как задать неправелную форму, и, задаётся ли вообще? И ещё, в моей системе 2 массивные + 1 как Земля (0,97 Земные массы) терры, с плотными атмосферами но гравитация почему-то слабоватая, меньше 1 (0,9...). Почему так?
Добавлено (29.08.2012, 14:58) --------------------------------------------- Хотелось бы уточнить (не сердитесь, но я запутался ):
ArgOfPericen Тела А должен отличаться от ArgOfPericen Тела Б на 180 или на -180 градусов? Разница есть? Спрашиваю потомучто например, ArgOfPericen Тела А = 134 градуса то значит ArgOfPericen Тела Б должен быть равен 314 градусам, если вычислить -180, то получается -46 градусов. Как правильно вычислять, + или -. Я и так и так вычислял - Глюков не наблюдал...
Windows 7 Ultimate x64 SP1 Intel Core i5 750 2.67 GHz 12 Gb 1333 MHz DDR3 RAM ASUS P7P55D PRO Sapphire HD7850 O.C. Edition 2 GB GDDR5 vRAM
Сообщение отредактировал NEMESIS - Вторник, 28.08.2012, 13:22
SpaceEngineer, в скобках формулы (SemiMajorAxis = PericenterDist/(1.0 Eccentricity)) написан е=1.0, эта 1 для примера дана? Вместо неё вставляем е=N параметр так?
И ещё, не знал где спросить, спрошу тут: В Солнечной системе планеты вращвются вокруг Солнца. Но Солнце, физически не стоит на месте, оно ревгирует на движение каждой планеты. Я в Википедии недавно прочитал что Юпитер — единственная планета, у которой центр масс с Солнцем находится вне Солнца и отстоит от него примерно на 7 % солнечного радиуса.. Значит, у Солнца с каждой планетой есть Барицентр.
На такую мысль меня натолкнул следующий пример:
В двойной системе из Звёзд А и В с планетой С, которая совершает орбитальное движение вокруг звёзд А и В т.е. вокруг Барицентра (А+В), а это значит что между Барицентром (А+В) и планетой С существует Барицентр ((А+В)+С). Если тут так, значит и в Солнечной Системе тоже самое, только Барицентры планет земной группы находятся под поверхностью Солнца. Значит: У Солнца с Меркурием - Барицентр (С+М) (массы складываем); У Барицентра (С+М) с Венерой - Барицентр ((С+М)+В) ... и т.д. Из-за такой иерархической системы Барицентров, Солнце совершает сложные движения в пространстве... не так ли это?
Мои рассуждения верны? Если я неверно рассуждаю, объясните пожалуйста. Мне очень интересно... Спасибо.
P.S. - Если оффтоп, заранее извиняюсь... Windows 7 Ultimate x64 SP1 Intel Core i5 750 2.67 GHz 12 Gb 1333 MHz DDR3 RAM ASUS P7P55D PRO Sapphire HD7850 O.C. Edition 2 GB GDDR5 vRAM
SpaceEngineer, в скобках формулы (SemiMajorAxis = PericenterDist/(1.0 Eccentricity)) написан е=1.0, эта 1 для примера дана? Вместо неё вставляем е=N параметр так?
Там знак минуса должен быть: SemiMajorAxis = PericenterDist/(1.0 - Eccentricity)
Quote (NEMESIS)
В Солнечной системе планеты вращвются вокруг Солнца. Но Солнце, физически не стоит на месте, оно ревгирует на движение каждой планеты.
Да. Это естественно. Вспоминаем физику: центр масс системы (Солнечной) в отсутствие внешних сил движется линейно. В нашем случае влияет притяжение соседних звёзд и галактик, но этим можно пренебречь. Если рассматривать движение Солнца относительно центра масс системы, оно будет вот так болтаться. Раельно его не получится отписать иерархической системой барицентров, ведь все планеты влияют на Солнце одновременно, а плюс к этому влияют и друг на друга. Тут поможет только точное N-body моделирование.