星型宇宙エンジンの作成
このマニュアルでは、SpaceEngineに星型を追加する方法について説明します。 続行する前に、このマニュアルを読むことをお勧めします:はじめに。
デフォルトのSpaceEngineインストールの大部分の星は、csvファイルdata/catalogs/Catalogs0980に格納されています。pak/星/ヒッパルコス。——- これは約110,000個の星を持つヒッパルコス星カタログです。 連星系を含む他の星は、同じシステムのpakファイル内の複数のscファイルに格納されます。 これらのデフォルトファイルは、どのような方法でも変更または変更すべきではありません。 星を更新したり、星を削除したり、新しい星を追加したりする場合は、addons/catalogs/stars/フォルダに独自のscまたはcsvファイルを作成します。 SpaceEngineには、デフォルトのカタログから星や他のオブジェクトを変更したり削除したり、新しいオブジェクトを追加したりするスクリプトオプションがあります。
カタログのcsv形式は、類似したデータを持つオブジェクトの大きなカタログを作成するように設計されています。 Scよりもコンパクトでロードが高速ですが、指定できるデータの種類には制限があります。 これは、カンマで区切られた値を持つ単なるテーブルです。 Sc形式は、SEがオブジェクトを記述するために使用できるすべての可能なデータを指定するように設計されています。 これは、オブジェクト(このチュートリアルでは星または星系)とその様々なパラメータを記述するために使用される’タグ’を持つスクリプトのようなテキ まず、scファイル形式について説明します。
星カタログ
新しい孤立星”Mono”、降着円盤を持つブラックホール”Hole”、二つの星”Bin A”と”Bin B”を含む”Bin”と呼ばれる連星系を作成したいと考えてみましょう。 星”Bin A”と”Bin B”はすでにいくつかのカタログで孤立星として記述されており、それらを削除して各成分の軌道を持つ適切な連星系を作成したいと考 Addons/catalogs/stars/ディレクトリに移動し(存在しない場合は作成します)、そこに新しいテキストドキュメントを作成します。 に名前を変更しますmystars.sc (ファイル名は重要ではありませんが、既存のファイルと一致しないことを確認してください。 メモ帳で開き、次のコードを入力します:
星”モノ”
{
-25 12 11 // 赤緯
Dist100.0//太陽からの距離
クラス”G5V”//スペクトルクラス
Lum0.86//光度、または
//AbsMagn5.31//絶対等級、または
//AppMagn10.31//見かけの等級
RadSol0.95//masssol0.91//太陽質量の質量
teff5200//表面温度ケルビン
}
// 惑星カタログに追加の
//パラメータ(降着円盤)を持つ新しいオブジェクト–孤独な星(ブラックホール)を作成します。
//ここでの名前は”穴システム”であることに注意してください。
スターバックスコーヒー”ホールシステム”
{
64 16 38 // 赤緯
Dist250.0//太陽からの距離
クラス”X”//スペクトルクラス–ブラックホール
Lum150//系全体の光度(降着円盤)//それで十分です、降着円盤は惑星カタログ(下記参照)に記載されています。
}
// 古いカタログから孤独な星を削除します。
Remove”Bin A”
Remove”Bin B”
//新しいオブジェクトを作成します–連星系の重心、
//どのコンポーネントが惑星カタログに記載されますか(下記参照)。
スターバックスコーヒー”ビン”
{
28 18 47 // 偏角
Dist251.652//太陽からの距離
//これで十分です。StarBarycenterタグには他のパラメータは必要ありません(下記参照)。
}
新しい星を追加したり、すでにカタログに記載されている星を変更したりするには、星スクリプトで同じ名前の新しいオブジェクト(StarまたはStarBarycenter)を定義 SpaceEngineは古い星を新しいデータで更新します(そのタイプをStarからStarBarycenterに変更して戻すこともできます)。
カタログから星を削除するには、その星の名前を指定してRemoveパラメータを使用します。 これは、SEで二つの別々の星として表されるカタログ内の連星を、それぞれの星が正しい軌道にある完全な連星系にアップグレードするのに便利です。 注:Removeパラメーターは、変更日に関係なく、すべてのカタログファイルに影響するようです。 これは現在のバージョン(0.9.8.0)のバグです。
星表には連星系や多重星系の構成要素は記載されていないことに注意してください。 これらは惑星カタログで記述され、パラメータParentBodyを持つbarycenterを参照する必要があります(以下を参照)。 したがって、厳密に言えば、SEの星カタログは星系のカタログであり、星そのものではありません(惑星カタログを作成せずに孤独な星を記述すること システム全体の光度などの視覚的パラメータは、惑星カタログに記載されているシステムのコンポーネントのデータに基づいて、SpaceEngineによって自動的に計算さ ただし、パラメータLuminosity、AppMagnなどを定義することによって強制される可能性があります。 StarBarycenterタグで。
スタースクリプトの詳細
次のパラメータは、StarタグとStarBarycenterタグ内で使用できます。
RA–時間単位、十進形式、またはHH MM SS形式です。SSS
Dec–度単位の偏角、10進形式、またはDD MM SSとしてフォーマットされています。SSS
Dist–パーセク単位での太陽からの距離。
CenterOf–銀河または球状星団の中心にある手続き型超大質量ブラックホールシステムを置き換えるために使用されます。 パラメータの値は、銀河または銀河団の名前、例えばCenterOf”Milky Way”です。 銀河や銀河団には1つの超大質量ブラックホール系しか存在できません。 それがすでにいくつかのカタログで定義されている場合、それはこれに置き換えられます/更新されます。 このパラメータが定義されている場合、対応するオブジェクトの手続き型超大質量ブラックホールシステムは無効になりますが、これは通常の星系とし したがって、RA、Dec、およびDistパラメータは依然として必要です。 典型的なシステムには、ブラックホール、任意の降着円盤、およびそれを周回する多くの星が含まれている必要があります。 これらはすべて惑星カタログに記載されている必要があります; 星表は、システムとそのクラス(クラス”X”またはクラス”ブラックホール”)の座標のみを扱っています。
NoPlanets–NoPlanets trueとして指定されている場合、手続き型惑星の生成を無効にします。
Lum,Luminosity,AppMagn,AbsMagn–これらのオプションのいずれか、またはそれらの組み合わせを許可します(詳細は以下の”star solver”を参照):
Lum,Luminosity–太陽の光度の単位での星の光度、または
AppMagn–starの見かけ(光学)等級、または
AbsMagn–starの絶対(光学)等級。
: AppMagnR,AppMagnr,AppMagnI,AppMagni,AppMagnJ,AppMagnH,AppMagnKs,AppMagnK,Appmagnw1,Appmagnw2,Appmagnw3–対応する分光バンドにおける星の見かけの大きさ。 これらは、光学バンドの見かけの大きさが不明な場合にのみ、茶色のドワーフに使用してください。 SpaceEngineは、星が褐色矮星または後期M矮星であると仮定して、光学的見かけの大きさの簡単な計算を実行します。 これらのパラメータは他のタイプの星には使用しないでください。
クラス-星のスペクトルクラスを持つ文字列:
通常の星クラス:O、B、A、F、G、K、M
サブワーフクラス: L、T、白色矮星のクラス:DA、DB、DO、DQ、DZ、DC、DX、DAB、DAO、DAZ、DBZまたはWD(一般白色矮星クラス)
Wolf-Rayetクラス:WN、WN/C、WC、WO
白色矮星のクラス:DA、DB、DO、DQ、DZ、DC、DX、DAB、DAO、DAZ、DBZまたはWD(一般白色矮星クラス)
Wolf-Rayetクラス:WN、WN/C、WC、WO
白色矮星のクラス:DA、DB、DO、DQ、DZ、DC、DX、DAB、DAO、DAZ、DBZまたはWD(一般白色矮星クラス)
Wolf-Rayetクラス:WN、WN/C、WC、WO
Wolf-Rayetクラス:WN、WN/C、WC、WOジルコニウムおよびカーボンクラス:MS、S、Sc、C-R、C-N、C-J、C-H、C-hd、c、R、N
特別なクラス:MS、S、Sc、C-R、C-N、C-J、C-H、C-hd、c、R、N
特別なクラス:MS、S、Sc、C-R、: Q,NEUTRON-neutron star,X,BLACKHOLE–black hole,Z,WORMHOLE–wormhole,P–planemo(rogue planet)
上記のすべてのクラスは、サブクラスのインデックス番号0から9(ウォルフ–レイエ星の場合は0から11)を持つことができます。 つまり、3.25は3.2に四捨五入されます。
白色矮星を除くすべてのクラスは、光度クラスインデックスを持つことができます:0、Ia0、Ia+、Ia、Iab、Ib、II、III、IV、V、VI
例:クラス”G2V”、クラス”M5.2III”、クラス”DB3.1″、クラス”sdb5″(クラス”B5VI”に等しい)。
クラス”G2V”、クラス”M5″も許可されています。2III”、クラス”DB3.1″。
サブクラスまたは光度指数が提供できなかった場合:クラス”G2″、クラス”M III”、クラス”K”。 この場合、SpaceEngineは利用可能なデータ(光度または視覚的な大きさと距離など、star solverを参照)に基づいてそれらを計算するか、デフォルトの光度クラス「V」(主系列星)を
Mass–地球質量の単位での星の質量、または
Masssol–太陽質量の単位での星の質量。 孤独な星(タグスター)にのみ使用されます。 StarBarycenterタグで定義されている場合は、starソルバーで使用できます(以下を参照)。
Radius–星の半径(キロメートル)、または
RadSol、Radussol–太陽半径の単位の星の半径。 孤独な星(タグスター)にのみ使用されます。 StarBarycenterタグで定義されている場合は、starソルバーで使用できます(以下を参照)。
Teff、温度–星の光球(「表面」)の温度(ケルビン単位)。 孤独な星(タグスター)にのみ使用されます。 StarBarycenterタグで定義されている場合は、starソルバーで使用できます(以下を参照)。
FeH–スター金属量。 現時点では使用されていませんが、将来使用される予定ですので、情報が利用可能な場合はカタログに追加する価値があります。
star solver loggingを使用して、starsカタログのエラーを検出できます(詳細については、SEスクリプトの概要のStar solverとエラーのチェックを参照してください)。
惑星カタログ
サンプルアドオンの作成を続けましょう。 星”モノ”は惑星カタログに入れるために余分なものを必要とせず、必要なすべての情報は星カタログに提供されました。 それはブラックホール”穴”とシステム”Bin”のバイナリコンポーネントを持っている必要があります: “ビンA”および”ビンB”。 Addons/catalogs/planets/ディレクトリに移動し(存在しない場合は作成します)、そこに新しいテキストドキュメントを作成します。 に名前を変更しますmyplans.sc (”スターカタログ”セクションで指摘されているように、ファイル名は問題ではありませんが、それが既存のファイルと一致しないことを確認してくださ メモ帳で開き、次のコードを入力します:
Star”Hole”
{
Class”X”//ブラックホール”spectral class”
MassSol15.0//ブラックホール”spectral class”
MassSol15.0//ブラックホール”spectral class”
MassSol15.0//ブラックホール”spectral class”
MassSol15.0//ブラックホール”spectral class”
MassSol15.0//ブラックホール”spectral class”
MassSol15.0//ブラックホール”spectral class”
MassSol太陽単位、半径は自動的に計算されます
//lum0.0//ブラックホールはゼロ光度を持っています–指定しないでください//回転パラメータ
斜め16
Eqascnode64
Rotationperiod1.0E–7//ブラックホールは本当に速く回転します!//降着円盤
降着円盤
{
温度3000//ケルビンでは
光度150//太陽では
明るさ1//明るさスケールをレンダリング
密度8//いくつかの魔法の値
TwistMagn60//いくつかの魔法の値
}
// オービットタグはスキップされ、システムの中心の静的な位置に等しくなります
}
// 連星系
星”Bin A”の新しいオブジェクトの最初のコンポーネントを作成します”
{
クラス”G1V”
光度1.02
質量1.09
半径1の恒星の名前。1
// rotational parameters
Obliquity 82.2
EqAscendNode 67.726
RotationPeriod 923.6
RotationOffset 64.7
// orbit around the barycenter
Orbit
{
// but mass ratio 1.09:0.92 is taken into account!
SemiMajorAxis 10.765 // in AU
Period 79.914 // in years
Eccentricity 0.5179
Inclination 82.986
AscendingNode 67.726
ArgOfPericenter 3.772
MeanAnomaly 200.119
}
}
// 連星系
星”Bin B”の新しいオブジェクト第二成分を作成します”
{
MassSol0.92
RadSol0.90
//回転パラメータ
斜度82.6
EqAscendNode67.726
RotationPeriod850.5
回転周期850.5
回転周期850.5
回転周期850.5
回転周期850.5
回転周期850.5
回転周期850.5
回転周期850.5
回転周期850.5
回転周期850.5
回転周期850.5
回転周期850.5
回転周期850.5
rotationoffset127.4
//重心の周りの軌道
軌道
{
//しかし、質量比1.09:0.92を考慮に入れてください!
周期79.914//年
離心率0.5179
傾斜82.986
上昇ノード67.726
アルゴフェリックセンター183.772
平均異常200.119
}
}
このスクリプトを詳しく見てみましょう。 それは主に惑星や衛星を作るために設計されているので、それは”惑星カタログ”と呼ばれています。 しかし、”星体”自体、特に連星系では、ここでも説明する必要があります。 それは一般的なルールです:軌道を持つオブジェクトは、惑星カタログに記載されている必要があります。 連星の構成要素は軌道を持っているので、これが惑星カタログにあるべき理由です。 また、星のカタログよりも多くのパラメータ(回転軸の向きと回転周期、星のコロナ、降着円盤、表面のテクスチャ、軌道)を記述することができるので、太陽のような孤立した星でさえも惑星カタログに記述されることがあります。 惑星カタログで使用されるパラメータと惑星の作成についての詳細については、惑星の作成ガイドをお読みください。
上記のコード例では、最初に星カタログでは説明できない追加のパラメータ(回転パラメータと降着円盤)を持つ孤立した星”穴”について説明しました。 それらを指定するには、星カタログの星をStarBarycenterとして記述する必要がありますが、星が孤独であるという事実にもかかわらず、惑星カタログの星をタグStarで第二の記述を行う必要があります。 そのStarタグのParentBodyパラメータは、starsカタログに記載されているStarBarycenterの名前に設定する必要があります。 重要な注意事項: planetsカタログのStarタグとstarsカタログのStarBarycenterタグには、異なる名前を付ける必要があります。 つまり、星に「穴」という名前が付いている場合、barycenterは「穴システム」または「穴バー」などの名前にする必要があります。 天文学カタログに複数の名称がある実際の星を使用してアドオンを作成する場合は、StarBarycenterに1つ、残りの星に1つを与えることをお勧めします。
惑星カタログでは、星の光度、絶対等級または見かけの等級、スペクトルクラス、質量、半径、温度を星カタログと同じパラメータで指定することもできます。 これらのパラメータを指定する場所はあなた次第です:starsカタログまたはplanetsカタログでは、両方の重複は必要ありません。
軌道タグは孤独な星のためにスキップする必要があります、SpaceEngineはその星のためのシステムの中心に静的な位置を生成します。 同じ効果でOrbit{Type”Static”}またはStaticPosXYZ(0 0 0)を使用できますが、これは必要ありません。
barycenterは、連星や複数の星を作成するためにも使用できます。 惑星カタログでは、2つの星”Bin A”と”Bin B”が、システム”Bin”の主重心の周りを公転していることが記載されています(詳細については、惑星の作成ガイドの軌道タグの説明を参照してください)。 階層的な複数の星系を作成するには、システムの主重心を周回する二次重心を作成し(惑星カタログスクリプトのBarycenterタグを使用)、この二次重心を周回している二つの星を追加します。 より複雑なシステムを作成するために、このスキームを何度も繰り返すことができます。 SpaceEngineは無制限の階層のオブジェクトを使用できますが、実際には、星系には3〜4レベルの階層がありません。
各星の惑星やローカル重心も惑星カタログで指定することができます。 各惑星/barycenter/星のパラメータParentBodyは、それが周回している親オブジェクトの名前に設定する必要があります。 星が孤立しており、惑星カタログに記載されているその星の子オブジェクト(惑星)がない場合、SpaceEngineは手続き型惑星系を生成します。 これを無効にするには、starsスクリプトでNoPlanets trueを指定します。
星カタログ内の星/重心のパラメータは、星間空間から見ている間、すなわち点としてレンダリングされたときの星の外観を決定します。 多星系の場合、SpaceEngineは遠くからシステムをレンダリングするためにいくつかの「平均的な」スペクトルクラスを必要とします。 手続き型システムの場合、SpaceEngineはシステムの最も明るい星のスペクトルクラスを選択します(詳細は「star solver」を参照)。 星の光度は桁違いに異なるため、ほとんどの場合、これは非常にうまく機能します。 したがって、複数の星系を作成するときは、StarBarycenter(stars catalog)のスペクトルクラスを、そのシステムで最も明るい星のクラスと同じように指定できます。 それ以外の場合、SpaceEngineは自動的にそれを行います。 StarBarycenterの光度は、システム内のすべての星の光度の合計(降着円盤の光度を含む)に等しくするか、star solverが自動的に計算するように無視する必要があります。
要約すると、以下に注意してください。
1)星カタログで、StarBarycenterを使用して星を記述し、カスタム回転パラメータ、降着円盤などを指定する場合、または複数の星系を作成する場合。 その場合は、惑星カタログを作成し、そこに星または複数の星の構成要素を記述する必要があります。 星の質量、半径、温度だけが必要な場合、またはSpaceEngineによって生成/計算される値に問題がない場合は、Starタグで記述し、惑星カタログを作成しないでください。
2)惑星カタログに記載されている星の名前は、StarBarycenterの名前と同じであってはなりません。 StarBarycenterの名前は、ParentBodyパラメーターで星の親として指定する必要があります。
3)星が孤立している場合は、軌道タグを使用しないか、軌道を静的にします(Orbit{Type”Static”}またはStaticPosXYZ(0 0 0))ので、重心と一致します。
4)星が連星の場合は、ParentbodyパラメータにStarBarycenterの名前を付けて二つの星を記述し、それらのためにbarycenterの周りに適切な軌道を作ります。
star solver loggingを使用して、planetsカタログとstarsカタログのエラーを検出することができます(詳細については、SEスクリプトの概要のStar solverとエラーのチェックを参照)
star solver
star solverは、提供されたデータに基づいて星の欠損データを計算または生成しようとするコードのセットです。 いくつかのデータがカタログで提供されているが、いくつかが欠落しているのは天文学の状況であることがよくあります。 SpaceEngineは、星を正しくレンダリングするためにこれらのパラメータを必要とします(星系)。:
-星の完全な3D座標(RA、Dec、Dist)。 星カタログに距離が指定されていない場合、星ソルバーは、星の見かけの絶対等級(または光度)に基づいてそれを計算しようとすることがあります。 RAとDecが指定されていない場合、それらを計算する方法がないため、star solverはそれらのランダムな値を生成します。 距離のランダムな値は、starソルバーが計算に失敗した場合にも生成されます(詳細については、以下のエラーログを参照してください)。
-星のスペクトルクラス。 それがなければ、SpaceEngineはこの星が何であるかを知らず、それをレンダリングすることはできません。 スターソルバーは、半径、質量、温度が提供されている場合、スペクトルクラスを決定しようとすることができます。 複数の星系の場合、starソルバーは最も明るい成分のスペクトルクラス(惑星カタログから計算または取得されたもの)を取得し、システム全体の”クラス”(StarBarycenterタグで直接指定されていない場合)として割り当てます。
-星の明るさ。 光度、絶対光度、または見かけの大きさと距離から計算することができます。 何も指定されていない場合は、スペクトルクラスを使用して光度を大まかに決定することができます。 スペクトルクラスが指定されていない場合、star solverはStefan–Boltzmann方程式を使用して光度を計算するために半径と温度を使用しようとする場合があります。 複数星系の場合、starソルバーは各コンポーネントの光度を合計し、システム全体の光度として割り当てます(StarBarycenterタグで直接指定されていない場合)。
-星の物理的性質:質量、半径、温度。 指定されていない場合、starソルバーはスペクトルクラス(通常)に基づいてそれらを計算します。 温度はスペクトルクラスから直接導出することができ、その後、Stefan–Boltzmann方程式を使用して温度と光度に基づいて半径を計算します。 したがって、星のサイズが正しくない、または非現実的な場合は、実際の半径データを見つけてカタログに指定してみてください。
既に述べたように、星表は星の回転パラメータを定義するために使用することはできません(つまり、星の回転パラメータを定義することはできません)。 表面の外観(肉芽細胞の大きさなど)、コロナ、降着円盤、軌道:惑星カタログがこれに使用されます。 惑星カタログに欠けている場合、いくつかのパラメータを手続き的に生成することができます。 惑星は、惑星カタログで記述することも、手続き的に生成することもできます(惑星カタログに記載されている星の子オブジェクトがなく、星スクリプトにnoplanets trueが指定されていない場合)。
starソルバーは、実行された計算、警告、エラーに関する通知をログファイルシステム/seに出力できます。SpaceEngineの起動時にログオンします。 スクリプトでのエラーチェックの詳細については、”SEスクリプトの概要”を参照してください。
星カタログのcsv形式
SpaceEngineは、大規模な星や銀河カタログのcsv(”コンマ区切り値”)形式をサポートしています。 これは、カンマで区切られた値で、行ごとに記述された一つの星を持つプレーンテキスト形式です。 デフォルトのSpaceEngineインストールには、csv star catalog–data/catalogs/Catalogs0980があります。pak/星/ヒッパルコス。csvは112,523個の星を持ち、7.5MBのサイズ(解凍)しかありません。 Csv形式はscよりもコンパクトですが、いくつかの制限があります:
1)孤独な星だけを記述することができ、StarBarycenterタグのアナログは不可能です。
2)これらのパラメータのみが許可されます。Name、RA、Dec、Dist、AppMagn、SpecClass、MassSol、RadSol、Temperature。
ファイル形式は単純です:最初の行はパラメータの名前を記述するヘッダー(カンマで区切られています)、他のすべての行は対応するパラメータのstars data–value( ここにヒッパルコスの最初の4行の例があります。csvファイル:
HIP14066/HD18665,3.02094205,36.1179219,487.804884,7.24999999,K2V,,,
HIP14775/HD278329,3.17876994,36.5130485,505.050497,10.1093756,K0V,,,
ヒップ12888,2.76132567,32.8238759,476.190497,9.64843834,K0V,,,
星の名前とそのスペクトルクラスは引用符で囲まれておらず、欠落しているパラメータ(MassSol、RadSol、Temperature)は空白ですが、それらを区切るカンマはまだ必要です。
csvカタログはscカタログよりも優先されます。 しかし、star solverはファイル/pakの変更日を取得して、starデータのマージまたは更新を実行します。 Config/main-userのconfig-fileパラメータCsvLogLevel。cfgファイルは、すべてのcsvファイルのstarソルバーのロギングレベルを制御します。