デイ シーケンス プラグインが提供する太陽月デイ シーケンス アクタは、芸術的な空に最適ですが、より精度の高いシミュレーションや建築プロジェクトに必要な天体の正確な位置がありません。
このプラグインは、より科学的な観点を考慮してデイ シーケンスの実装を行っています。 デイ シーケンスについて十分な知識があることを確認してから、天球プラグインを使用してください。
天球プラグインでは、空をより正確に表現するために、次の点が追加で考慮されます。
地球の自転を考慮した天球の背景。
星の位置と等級が公式カタログや任意の架空の位置からデータ化された星フィールド。
VSOP87 方程式を使用して正確に配置された太陽系の惑星。
天体暦に基づいた月の満ち欠け。 (手動制御は引き続き可能です)。
光の単位はすべて現実の物理的な単位に従って設定されており、昼と夜の輝度差は大きくなっています。
プラトンと同じ地動説的なアプローチで、地球から見た太陽系にフォーカスしています。 惑星間の移動を可能にする太陽中心のアプローチは、まだ考慮されていません。
プロジェクトで天球デイ シーケンスを有効にする
シーン内で天球デイ シーケンス アクタの使用を開始するには、まずプロジェクトで天球プラグインを有効にする必要があります。 これは、[編集] メニューの [プラグイン] ブラウザにあります。
DaySequence プラグインを追加する必要はありません。自動的な依存関係が定義されます
このプラグインは Georeferencing プラグインに依存していませんが、両方を使用することができます。 ただし、GeoReferencing アクタと CelestialVaultDaySequence アクタに同じ GeoReferencing の場所が設定されているようにしてください。
天球デイ シーケンス アクタの操作
天球デイ シーケンス アクタは、デイ シーケンス コレクション アセットと同じ概念に基づいていますが、このシーケンスには、空の動作が現実と一致するように維持するための、限定的なオプションがあります。
空に関連するさまざまなオブジェクトは、天球デイ シーケンス アクタの共有プロパティを読み取るプロシージャルな天球デイ シーケンスによって制御されます。
そのため、この天球シーケンスが別の型の DaySequence アクタに割り当てられていないことを確認してください。
このプロシージャルなシーケンスでは、次の考慮事項があります。
天球は 24 時間で地球の自転軸の周りを回転します。
星の位置は天井を基準とした固定位置です。
惑星が適切な位置に配置されています。 (スロー モーションのため、デイ シーケンス中は動かないことを前提としています。)
月は公転運動を続けています。 (背景の星に対して 13 度ほど東へ移動し、毎日 50 分遅れて上昇します。)
適切な月相が表現されています。 (簡単にするため、1 日以上一定であると想定しています。実際にはそうではありません。)
太陽は空の軌道をたどっています。
現在の制限事項に関する注記
一部の天体計算式はパフォーマンス向上のために簡略化されており、精度が非常に高い (数分の 1 度単位) 場合でも、このシステムが正確または超高精度の位置情報を提供することを保証するものではありません。
地球の軸の歳差/章動エフェクトはシミュレートされません。
RA、DEC の座標は J2000 エポックのものであり、日付の座標ではありません。
DaySequence システムは 1 日かけてループします。
月の公転運動により、真夜中を過ぎる頃には、月は以前の位置から大きく移動しています。
VSOP87 の式では、限定された数の係数を使用します。ただし、地球と月は除きます。 惑星の位置は大まかな値です。
日食/月食のユースケースについては、まだ考慮されていません。
SkyAtmosphere コンポーネントは地球を固定半径の球体オブジェクトと見なします。 WGS84 楕円体を基準として使用し、正確な地理空間データで作業する場合、半径のマッチングは不可能です。 推奨される回避策としては、SkyAtmosphere の半径を UE ワールドの原点の周りで適切な半径に設定し、カメラが原点から遠く離れている場合は、この半径を動的に変更する方法があります。
Geocentric ECEF フレーム (地球の中心を原点とする) はまだ設定できません。
これらの制限事項は、プラグインの今後のバージョンで改善される可能性があります。
天球デイ シーケンス アクタ
アクタをワールドに追加する
天球デイ シーケンス アクタは、事前構成された完全な昼と夜のサイクルであり、レベルにドラッグ アンド ドロップできます。 完全な機能のための追加設定は必要ありません。
以下の手順に従ってエクスポートします。
新しい空のレベルを作成するか、既存のレベルを開きます。 すでに環境ライティング コンポーネント (ディレクショナル ライト、スカイ ライト、スカイ環境、ボリュメトリック クラウド、グローバル ポストプロセス ボリューム) が含まれている場合は、これらを削除する必要があります。
レベル エディタのメイン ツールバーで [作成] をクリックし、天球デイ シーケンスアクタを [すべて] ロールアウト カテゴリーからシーンにドラッグします。
このシステムでは、ライトの強度および本体の輝度に物理的に正確な単位を使用します。 夜と昼には非常に幅広い動的範囲ジがあります (EV100 は -7 ~ 14 の範囲)。
これに対応するには、HDR の明暗順応の設定とローカル露出の設定に特別な値が必要になります。 アクタには、事前設定済みのポストプロセス ボリューム コンポーネントがすでに含まれています。
自分のプロジェクトで使用できますが、独自のプロジェクトが必要な場合は、これを無効にしてください。 アクタまたはさまざまなマテリアルのいずれかを使用すると、他の偽のユニットと作業することができます。
また、目の適応には時間がかかるため、作業時には [加速] と [減速] の値を上げること検討してください。
アクタのプロパティを操作する
レベルに天球デイ シーケンス アクタが追加されると、そのコンポーネントの値を自由に変更できます。 ただし、一部はプロシージャル シーケンスによって実行されるため、一部の編集がロックされるのは正常な動作です。
同様に、天球デイ シーケンス アクタは、常にワールド基点に配置する必要があります。 位置は変更しないでください。
次の制御する必要があるプロパティ実行はすべて、アクタ自体の一部です。
日付と場所
| プロパティ | 説明 |
|---|---|
現在の日付を使用 | オンにすると、コンピューターの年、月、日で初期化されます。 ただし、タイム ゾーンや夏時間は考慮されません。 |
年 | 空を表示する年 |
月 | 空を表示する月 |
日 | 空を表示する日 [時間] は TOD 時間スクラバーによって定義されるため、必須ではありません。 これはその位置でのローカル時間であると想定されています。 |
GMT タイム ゾーン | ここにタイム ゾーンを手動で入力します。位置から自動的には入力されません。 |
夏時間である | 夏時間かどうかを手動で確認します。 ローカル日付から自動的に計算されるものではありません。 |
緯度 | ワールド基点に対応するポイントの地球上の緯度。 |
経度 | ワールド基点に対応するポイントの地球上での経度。 |
ToD 0 の GMST [読み取り専用] | 現在の日付の t=0 (1 日の始まり) に対応するグリニッジ平均恒星時を返します。 |
惑星中心トランスフォーム [読み取り専用] | アニメーションを簡素化するため、すべてのコンポーネントは、適切に設定されたトランスフォームを持つ SceneComponent の子になります。トランスフォームは惑星の中心に配置され、その回転軸の方向を向いています。 このコンポーネントの回転は、惑星の回転をシミュレートします。 |
星
| プロパティ | 説明 |
|---|---|
天体の星カタログ | 天体プロパティを持つ実際の星に使用する入力データ テーブル。 |
架空の星カタログ | 基本プロパティがある架空の星に使用する入力データ テーブル。 |
最大可視等級 | このしきい値より等級が高いすべての星は生成時に無視されます。 等級が低いほど、明るい星であることを意味します。 通常、肉眼で見えるのは 6 等星までです。 しきい値を高く設定するとより多くの星が生成されますが、星マテリアルで可視性を意図的に高めない限り、それらは見えない可能性があります。 |
星情報を保持する | オンにすると、テーブルが生成されてメモリに維持され、星のデータをクエリできるようになります。 視覚的な表現のみに関心がある場合は、オフのままにします。 |
生成時に、両方のカタログはレンダリングのために単一の ISM コンポーネントにマージされます。 ただし、架空の星は同じ詳細がないため、データ テーブルの形式はそれぞれ異なります。
天体の星のデータ テーブルは CelestialStarInputData 型である必要があります
架空の星のデータ テーブルは StarInputData 型である必要があります
誤った形式を使用すると、メッセージ ログに警告が表示され、該当する星が生成されません。
一部のベース データ テーブルは「Engine/Plugins/CelestialVault/Data」フォルダーにあります。
天体の星
天体の星は公式カタログの星です。 後でクエリできる多くの情報が含まれます。 天体の星カタログは、CelestialStarInputData 型のフィールドが含まれている限り、CSV ファイルからインポートできます。
ID:一意の ID [1 ~ n]
Name:星の名前 - 空白にすることもできます
RA:右昇 - 時間で表現 (1 時間 = 15°)
DEC:降順 - 度で表現
DistanceInPC:距離 - パーセクで表現
等級:通常 [-2 ~ 13]
ColorIndex:BV とも呼ばれ、星の色を表します [-0.33 ~ 2.0]
HiparcosID:Hipparcos カタログ内の星 ID - 空白にすることもできます
HenryDraperID:HenryDraper カタログ内の星 ID - 空白にすることもできます
YaleBrightStarID:Yale の明るい星カタログ内の星 ID - 空白にすることもできます
このプラグインには 2 つのデータテーブルが用意されています
DT_HYGCatalog_Full - Astronomy Nexus ページの完全な HYG カタログ。 120,000 個の星レコードが格納されています。
DT_HYGCatalog_10K - 同じ HYG カタログですが、最も明るい星 10,000 個に制限されます (最大 6 等星)。 ほとんどのユースケースに十分です。
架空の星
架空の星は、よりシンプルでユーザーが作成できるように意図されています。 これらはカタログと同じ概念を使用しますが、必要なのはビジュアル部分のみであるため、データ テーブルには簡素化されたフィールドのセット、StarInputData 型のみを含める必要があります。
ID:一意の ID [1 ~ n]
Name:星の名前 - 空白にすることもできます
RA:右昇 - 時間で表現 (1 時間 = 15°)
DEC:降順 - 度で表現
等級:通常 [-2 ~ 13]
Color:「(R=0.924,G=0.114,B=1)」という形式の線形 RGB カラー文字列
このプラグインには 2 つのデータテーブルが用意されています
DT_FictionalStars - ランダムに配置された星の簡単な例
DT_Fictional EasterEgg - イースターエッグ形状の星座のより高度な例。
架空の星のカタログを自作するのはこのドキュメントの範囲外ですが、オープンソースのコンピューター ビジョン ソフトウェアを使えば、点の集合からピクセル座標を簡単に抽出できます。また、スプレッドシートのテクニックを少し使えば、CSV ファイルを作成することができ、派手な実験を行うことができます。
独自の CSV ファイルをインポートする
星のカタログは、このような CSV ファイルでインポートできます。
惑星
| プロパティ | 説明 |
|---|---|
惑星カタログ | 入力データ テーブルには惑星のプロパティが含まれます。 |
惑星のスケール | 惑星に適用する人工的なスケール係数 |
惑星情報を保持する | オンにすると、テーブルが生成されてメモリに維持され、惑星のデータをクエリできるようになります 視覚的な表現のみに関心がある場合は、オフのままにします。 |
現在、フォーカスされているのは太陽系の惑星です。 VSOP87 天体暦はその正確な軌道をシミュレートします。 このシステムでは、楕円軌道を使用して任意の惑星を描画することもできますが、まだ実装されていません。
惑星のデータ テーブルには次のフィールドが必要です。
ID:一意の ID [1 ~ n]
名前:惑星名 - 空白にすることもできます
OrbitType:太陽系の惑星の軌道のための列挙型。 楕円はまだ使用されていません。
Radius:惑星の半径 (km)
TextureColumnIndex:地球惑星アトラスの惑星テクスチャのインデックス。
惑星は、平面インポスターを使用してレンダリングされ、シェーダーにより、画面上のピクセル単位の最小サイズが常に最小になるようにスケーリングされます。 惑星スケール プロパティのエフェクトは、半径、距離、カメラ FOV に応じて、惑星の実際のサイズがこのピクセル サイズよりも大きい場合にのみ表示されます。
月
このシステムは現時点で地球の月のみに限定されているため、オプションは限られています。
| プロパティ | 説明 |
|---|---|
月のスケール | 月に適用する人工的なスケール係数 |
手動制御 | デフォルトでは、月の位置と月相は日付と位置の値から計算されます。 このボックスをオンにすると、追加のオプションが有効になります (下記の注記を参照)。 |
月齢 | 月の満ち欠けに対応:0 = 新月、0.25 = 上弦の月、0.5 = 満月、1.0 = 次の新月。 |
太陽の赤経に対する月のオフセット | 太陽を基準とした月の位置の水平方向のオフセット (時間単位)。 (1 時間 = 15°)。 このオフセットが 3 時間の場合、月は 45° のオフセットで太陽に追従し、太陽の 3 時間後に地平線を通過します。 |
太陽の赤緯に対する月のオフセット | 太陽を基準とした月の位置の垂直方向のオフセット (度単位)。 |
デフォルトでは、月の位置と月相が自動的に計算されるため、何も実行する必要はありません。 ただし、トレーニングおよびシミュレーションの一部のユースケースでは、夜間の可視性と明るい夜の可視性が大幅に異なるため、夜間の輝度を制御することが重要になることがあります。
月が正しい月相で正しい位置に来るような正確な日をカレンダーから探すのは面倒なことが多いため、手動制御オプションはこのユースケースに対応するのに役立ちます。
太陽のオフセットを設定するのが、ユーザーの観点からこれを行うための最も簡単な方法です。 これは、半球、緯度、現在の 1 日の長さにかかわらず、直感的に操作できます。
ただし、制御されていないビジュアル エフェクトが含まれている可能性があることに注意してください。たとえば、オフセットを 3 時間に設定するとします。 月は太陽の「左側」にあります。 この場合、太陽光によって下向きの波が生じるはずです。 そのため、月年齢の値を 0.75 を超える値に設定することは避けてください。 極端なケースとして、満月を太陽の近くに配置することができますが、これは決して起こりません。 最低限のリアリズムを求めるのであれば、この点に注意してください。
手動制御が必要なため、月は 3D 球体ではなく、カスタムマテリアルの平面を使用してレンダリングされます。
詳細
空は球体としてレンダリングされ、天体ごとに半径の小さいレイヤーが範囲を狭めて配置されています:天球の背景、星、惑星、月。
惑星からの視差エフェクトを避けるためには、惑星から十分に離れている必要がありますが、同時に深度衝突を避けるためにも、互いに十分な距離を保つ必要があります。 高度なプロパティを使用すると、さまざまなオブジェクト範囲を調整できます。
また、太陽と月のディレクショナル ライトの基本値を設定することもできます。
| プロパティ | 説明 |
|---|---|
天球距離 | 背景テクスチャ (天の川、星座、または天体グリッド線) でマッピングされる球の半径 (km) |
星の天球の割合 | 星が生成される天球の半径の比率。 |
惑星の天球の割合 | 惑星が生成される天球の半径の比率。 |
月の天球の割合 | 月が生成される天球の半径の比率。 |
Sunlight Intensity (日光の強度) | 物理的に正しい太陽光強度 (デフォルト:120000 ルクス) |
月光の強度 | 物理的に正しい月の光の強度 (デフォルト:0.1 ルクス) |
ライトと明暗順応に関する注意事項:
このシステムは物理的な精度を念頭に置いて設計されており、デフォルト値は自動的に設定されます。
太陽と月のライトは大気ライトとして定義されており、太陽はインデックス 0、月はインデックス 1 となります。
太陽光の輝度が 120,000 ルクスの場合、正午の地面の白色面の輝度は約 8000-12000 cd/m²
月の基本輝度は、満月の平均である 0.1 ルクスに設定されています。 資料では 0.05 ~ 0.1 ルクスの範囲で、スーパー ムーンでは 0.32 ルクスまでとされているため、自由に調整してみてください。 地上の白色面の輝度が約 0.01-0.02 cd/m² になります。
この基本輝度は相に応じて減少するため、人工的な光がない場合は非常に低くなります。
月面は通常非常に明るく (約 1000-2500 cd/m²)、満月の最中に月を見ると、圧倒されます。
範囲が非常に広いため、明暗順応のデフォルト値も調整する必要がありました。
MinEV100 は -0.5 に設定されているため、満月の夜は晴天ですが、新月の夜は暗い環境になります。
ヒストグラムに基づく明暗順応では、このような輝度範囲に対応するのに十分ではありません。特に画面上の月のサイズが小さい場合はなおさらです。 そこで、月の明るさに合わせて [ローカル露出の強調表示コントラスト] を設定します。
これらすべての設定は、アクタに関連付けられたグローバル ポストプロセス ボリュームの一部です。
このシステムは、ライティング、シャドウイング、フォグ オブジェクトの雲のカバレッジも処理します。 [太陽光] と [月光] の両方が [影を映す] と [雲の影] に設定されていますが、これによってパフォーマンスに影響があります。 必要ない場合は無効にしてください。
空の外観を調整する
このシステムには、すべてのコンポーネントのマテリアル インスタンスが提供されており、独自のものに自由に置き換えられます。 このパラグラフでは、マテリアル インスタンスのプロパティについて説明します。
マテリアルの輝度または強度の値を変更すると、明暗順応または露出の設定も変更されることに注意してください。
これらのマテリアルの変更を予定している場合は、オリジナルを変更するよりも、プロジェクト コンテンツ内でコピーを使用してください 。
Celestial Vault
MI_CelestialVault マテリアルはマルチテクスチャ マテリアルで、太陽の光輪も含んでいます。
| プロパティ | 説明 |
|---|---|
グローバル強度 | 天球全体の輝度係数 (背景 + 星座 + 天体グリッド) |
背景強度 | 単一の背景テクスチャの輝度係数 (天の川) |
背景テクスチャ | 天球の背景の変更テクスチャ。 天球座標内にある必要があります。 |
星座を表示 | 追加のテクスチャ レイヤーを星座マップ (白) とともに有効にします |
星座カラー | 星座の色合い |
星座強度 | 単一の星座テクスチャの輝度係数 |
星座テクスチャ | 星座の変更テクスチャ。 天球座標内にある必要があります。 |
天球グリッドを表示 | 追加のテクスチャ レイヤーを天球グリッド マップ (白) で有効にします |
グリッドカラー | 天球グリッドの色合い |
グリッドの強度 | 単一の天空グリッド テクスチャの輝度係数 |
グリッド テクスチャ | 天球グリッドの変更テクスチャ 天球座標内にある必要があります。 |
中程度のテクスチャはシステムで提供されていますが、より高い解像度のものはこちら (https://svs.gsfc.nasa.gov/4851/) で見つけることができます
スター
MI_Stars マテリアルは、星の個々の平面のテクスチャに使用され、インスタンス化されたスタティックメッシュ コンポーネントとしてレンダリングされます。 これには 星の外観とサイズのオプションが含まれています
アピアランス
| プロパティ | 説明 |
|---|---|
Desaturation | 星はすべて、インスタンスごとの色を使用してレンダリングされます。これは、架空の星に手動で設定し、天球の星の B-V 値から計算します。 この設定により、色の値の彩度を下げることができます (0 = アンタッチ、1 = グレースケールのみ) |
等級オフセット | 星の明るさは等級から計算します。 このパラメータを使用すると、理論等級を変更することで、星の明るさを人為的に増加させることができます。 負の値では等級が低くなります。したがって輝度が増加します。 輝度は等級の指数係数です。 |
マスク | 星に使用するテクスチャ マスク。 その他のマスクについては、T_StarMask_* を参照してください |
マスク フォールオフ | コントラストを増減させるためにマスクの色とアルファに適用される指数値 |
ベースサイズ
星を見るには星の明るさだけでは不十分です。アップスケーリングのアーティファクトを避けるため、画面上で最小限のサイズの 1 ピクセル以上である必要があります。
輝度が等級の指数係数であるのに対して、画面上の星のサイズは線形関数であり、等級とサイズのペアで定義されます。 (範囲限界を超えて調整)
| プロパティ | 説明 |
|---|---|
最も明るい星の明るさの等級 | 最も明るい星の基準等級。 この等級より下の星は最大サイズのままです。 |
最も明るい星のサイズ (ピクセル) | 最も明るい星の基準ピクセル サイズ。 等級の低い星は、最もかすかな星の設定に向けて補間されたサイズになります。 |