updates to night sky assets and new actions for ui panel; (#3660)

* updates to night sky assets and new actions for ui panel;

* Apply suggestions from code review

Co-authored-by: Alexander Bock <alexander.bock@liu.se>

* swap order of east/south declaration

* updated zeropoint_data to synched resource

* rework action to use fadeIn

* Apply suggestions from code review

update to ns navigation actions

Co-authored-by: Alexander Bock <alexander.bock@liu.se>

* update to position function for review

* removed action based on review

* Update data/assets/actions/nightsky/createsuntrails.asset

up formatting of suntrails action

Co-authored-by: Alexander Bock <alexander.bock@liu.se>

* update to nightsky grids for segement property name change

* updated fade distances for mercury and venus label to be visible from earth when close

* fix to nightsky grid segments

* added time actions to list of nightsky assets

* Update default UI panels to include night sky panel

* fix to add sun trails action

* Show night sky panel in nightsky profile

---------

Co-authored-by: Alexander Bock <alexander.bock@liu.se>
Co-authored-by: Emma Broman <emma.broman@liu.se>
This commit is contained in:
Micah Acinapura
2025-05-19 10:27:49 -04:00
committed by GitHub
parent 880a941296
commit 9ef8a24f1c
22 changed files with 672 additions and 121 deletions

View File

@@ -19,7 +19,7 @@
"type": "FisheyeProjection",
"fov": 180.0,
"quality": "1k",
"tilt": 27.0,
"tilt": 90.0,
"background": { "r": 0.1, "g": 0.1, "b": 0.1, "a": 1.0 }
}
}

View File

@@ -43,7 +43,7 @@
"type": "FisheyeProjection",
"fov": 180.0,
"quality": "1k",
"tilt": 27.0,
"tilt": 90.0,
"background": { "r": 0.1, "g": 0.1, "b": 0.1, "a": 1.0 }
}
}

View File

@@ -61,7 +61,7 @@ local LookingNorth = {
Command = [[
local currentNavState = openspace.navigation.getNavigationState()
local newNavState = {
Pitch = math.pi / 2.0,
Pitch = math.pi,
Anchor = currentNavState["Anchor"],
Yaw = currentNavState["Yaw"],
Position = currentNavState["Position"],
@@ -74,13 +74,36 @@ local LookingNorth = {
IsLocal = false
}
local LookingEast = {
Identifier = "os.nightsky.LookingEast",
Name = "Looking East",
Command = [[
local lat, lon, alt = openspace.globebrowsing.geoPositionForCamera()
local lon_rad = math.rad(lon)
local upx = -math.sin(lon_rad)
local upy = math.cos(lon_rad)
local currentNavState = openspace.navigation.getNavigationState()
local newNavState = {
Pitch = math.pi,
Anchor = currentNavState["Anchor"],
Yaw = currentNavState["Yaw"],
Position = currentNavState["Position"],
Up = { upx, upy, 0 }
}
openspace.navigation.setNavigationState(newNavState)
]],
Documentation = "Sets the view looking up and East.",
GuiPath = "/Night Sky/View",
IsLocal = false
}
local LookingSouth = {
Identifier = "os.nightsky.LookingSouth",
Name = "Looking South",
Command = [[
local currentNavState = openspace.navigation.getNavigationState()
local newNavState = {
Pitch = math.pi / 2.0,
Pitch = math.pi,
Anchor = currentNavState["Anchor"],
Yaw = currentNavState["Yaw"],
Position = currentNavState["Position"],
@@ -88,22 +111,48 @@ local LookingSouth = {
}
openspace.navigation.setNavigationState(newNavState)
]],
Documentation = "Sets the view for a horizon looking South.",
Documentation = "Sets the view looking up and South.",
GuiPath = "/Night Sky/View",
IsLocal = false
}
local LookingWest = {
Identifier = "os.nightsky.LookingWest",
Name = "Looking West",
Command = [[
local lat, lon, alt = openspace.globebrowsing.geoPositionForCamera()
local lon_rad = math.rad(lon)
local upx = math.sin(lon_rad)
local upy = -math.cos(lon_rad)
local currentNavState = openspace.navigation.getNavigationState()
local newNavState = {
Pitch = math.pi,
Anchor = currentNavState["Anchor"],
Yaw = currentNavState["Yaw"],
Position = currentNavState["Position"],
Up = { upx, upy, 0 }
}
openspace.navigation.setNavigationState(newNavState)
]],
Documentation = "Sets the view looking up and West.",
GuiPath = "/Night Sky/View",
IsLocal = false
}
asset.onInitialize(function()
openspace.action.registerAction(LookUp)
openspace.action.registerAction(LevelHorizonYaw)
openspace.action.registerAction(LevelHorizonPitch)
openspace.action.registerAction(LookingNorth)
openspace.action.registerAction(LookingEast)
openspace.action.registerAction(LookingSouth)
openspace.action.registerAction(LookingWest)
end)
asset.onDeinitialize(function()
openspace.action.removeAction(LookingWest)
openspace.action.removeAction(LookingSouth)
openspace.action.removeAction(LookingEast)
openspace.action.removeAction(LookingNorth)
openspace.action.removeAction(LevelHorizonPitch)
openspace.action.removeAction(LevelHorizonYaw)
@@ -114,4 +163,6 @@ asset.export("LookUp", LookUp.Identifier)
asset.export("LevelHorizonYaw", LevelHorizonYaw.Identifier)
asset.export("LevelHorizonPitch", LevelHorizonPitch.Identifier)
asset.export("LookingNorth", LookingNorth.Identifier)
asset.export("LookingEast", LookingEast.Identifier)
asset.export("LookingSouth", LookingSouth.Identifier)
asset.export("LookingWest", LookingWest.Identifier)

View File

@@ -0,0 +1,66 @@
local AddSunTrail = {
Identifier = "os.nightsky.AddSunTrail",
Name = "Add sun trail",
Command = [[
local date
if is_declared("args") then
if (args.Date == "NOW") then
date = openspace.time.currentWallTime()
elseif (args.Date == "UTC") then
date = openspace.time.UTC()
else
date = args.Date
end
else
date = openspace.time.UTC()
end
local datePlus = openspace.time.advancedTime(date, '1d')
date = string.sub(date, 1, string.find(date, "T") - 1)
datePlus = string.sub(datePlus, 1, string.find(datePlus, "T") - 1)
local SunTrailEarth = {
Identifier = "SunTrailEarth" .. date,
Parent = "Earth",
Renderable = {
Type = "RenderableTrailTrajectory",
Translation = {
Type = "SpiceTranslation",
Target = "SUN",
Observer = "EARTH",
Frame = "IAU_EARTH",
},
EnableFade = false,
StartTime = date,
EndTime = datePlus,
SampleInterval = 1000,
ShowFullTrail = true,
Color = { 0.9, 1.0, 0.0 },
},
Tag = { "sun_trail" },
GUI = {
Name = "Sun Trail " .. date,
Path = "/Night Sky/Sun Trails",
}
}
openspace.addSceneGraphNode(SunTrailEarth)
]],
Documentation = [[
Adds a trail for the sun, if an argument is provided, that date will be used instead of now
]],
GuiPath = "/Night Sky/Sun Trails",
IsLocal = false
}
asset.onInitialize(function()
openspace.action.registerAction(AddSunTrail)
end)
asset.onDeinitialize(function()
openspace.action.removeAction(AddSunTrail)
end)
asset.export("AddSunTrail", AddSunTrail.Identifier)

View File

@@ -0,0 +1,112 @@
local textures = asset.resource({
Name = "Cardinal Directions Textures",
Type = "HttpSynchronization",
Identifier = "cardinal_directions_textures",
Version = 1
})
local FadeInConstellationLabels = {
Identifier = "os.nightsky.FadeInConstellationLabels",
Name = "Fade In Constellation Labels",
Command = [[openspace.fadeIn("Scene.Constellations.Renderable.Labels",nil)]],
Documentation = "Fades in the constllation labels",
GuiPath = "/Constellations/Lines",
IsLocal = false
}
local FadeOutConstellationLabels = {
Identifier = "os.nightsky.FadeOutConstellationLabels",
Name = "Fade Out Constellation Labels",
Command = [[openspace.fadeOut("Scene.Constellations.Renderable.Labels")]],
Documentation = "Fades out the constellation labels",
GuiPath = "/Constellations/Lines",
IsLocal = false
}
local ShowConstellationElements = {
Identifier = "os.nightsky.ShowConstellationElements",
Name = "Show Constellation Elements",
Command = [[
openspace.setPropertyValueSingle('Scene.Constellations.Renderable.DrawElements', true)
openspace.setPropertyValueSingle('Scene.Constellations.Renderable.Fade', 0)
local fadeSpeed = openspace.propertyValue("OpenSpaceEngine.FadeDuration")
openspace.fadeIn("Scene.Constellations.Renderable", fadeSpeed, "")
]],
Documentation = "Shows the constellation lines with consideration of label state",
GuiPath = "/Constellations/Lines",
IsLocal = false
}
local HideAllMarkings = {
Identifier = "os.nightsky.HideAllMarkings",
Name = "Hide All Markings",
Command = [[
openspace.fadeOut("Scene.Constellations.Renderable")
openspace.fadeOut("{nightsky_marking}")
openspace.fadeOut("{du_grid}")
openspace.fadeOut("{du_grid_labels}")
openspace.fadeOut("{ImageConstellation}")
]],
Documentation = "Hides all markings in the night sky",
GuiPath = "/Night Sky/Markings",
IsLocal = false
}
local AddTickMarksBand = {
Identifier = "os.nightsky.AddNeswBandMarks",
Name = "Add a band to cardinal directions",
Command = [[
local tex = openspace.propertyValue("Scene.CardinalDirectionSphere.Renderable.Texture")
if (string.find(tex, "small")) then
openspace.setPropertyValueSingle("Scene.CardinalDirectionSphere.Renderable.Texture", "]].. textures:gsub("\\","/") .. [[nesw_lines_red_small.png")
else
openspace.setPropertyValueSingle("Scene.CardinalDirectionSphere.Renderable.Texture", "]].. textures:gsub("\\","/") .. [[nesw_lines_red.png")
end
]],
Documentation = "Adds tick marks to the cardinal directions",
GuiPath = "/Night Sky/Directions",
IsLocal = false
}
local RemoveTickMarksBand = {
Identifier = "os.nightsky.RemoveNeswBandMarks",
Name = "Add a band to cardinal directions",
Command = [[
local tex = openspace.propertyValue("Scene.CardinalDirectionSphere.Renderable.Texture")
if (string.find(tex, "small")) then
openspace.setPropertyValueSingle("Scene.CardinalDirectionSphere.Renderable.Texture", "]].. textures:gsub("\\","/") .. [[nesw_red_small.png")
else
openspace.setPropertyValueSingle("Scene.CardinalDirectionSphere.Renderable.Texture", "]].. textures:gsub("\\","/") .. [[nesw_red.png")
end
]],
Documentation = "Removes tick marks to the cardinal directions",
GuiPath = "/Night Sky/Directions",
IsLocal = false
}
asset.onInitialize(function()
openspace.action.registerAction(FadeInConstellationLabels)
openspace.action.registerAction(FadeOutConstellationLabels)
openspace.action.registerAction(ShowConstellationElements)
openspace.action.registerAction(HideAllMarkings)
openspace.action.registerAction(AddTickMarksBand)
openspace.action.registerAction(RemoveTickMarksBand)
end)
asset.onDeinitialize(function()
openspace.action.removeAction(RemoveTickMarksBand)
openspace.action.removeAction(AddTickMarksBand)
openspace.action.removeAction(HideAllMarkings)
openspace.action.removeAction(ShowConstellationElements)
openspace.action.removeAction(FadeOutConstellationLabels)
openspace.action.removeAction(FadeInConstellationLabels)
end)
asset.export("FadeInConstellationLabels", FadeInConstellationLabels.Identifier)
asset.export("FadeOutConstellationLabels", FadeOutConstellationLabels.Identifier)
asset.export("ShowConstellationElements", ShowConstellationElements.Identifier)
asset.export("HideAllMarkings", HideAllMarkings.Identifier)
asset.export("AddTickMarksBand", AddTickMarksBand.Identifier)
asset.export("RemoveTickMarksBand", RemoveTickMarksBand.Identifier)

View File

@@ -0,0 +1,59 @@
local NorthPole = {
Identifier = "os.nightsky.position.NorthPole",
Name = "Jump to the North Pole",
Command = [[
openspace.navigation.jumpToGeo("Earth", 90.0001, 0.0001, 500)
local script = 'local wait = openspace.propertyValue("NavigationHandler.JumpToFadeDuration")openspace.action.triggerAction("os.nightsky.LookUp");openspace.setPropertyValueSingle("RenderEngine.BlackoutFactor", 1, wait)'
local wait = openspace.propertyValue("NavigationHandler.JumpToFadeDuration")
openspace.scheduleScript(script, wait + 0.1)
]],
Documentation = "",
GuiPath = "/Night Sky/Position",
IsLocal = false
}
local SouthPole = {
Identifier = "os.nightsky.position.SouthPole",
Name = "Jump to the South Pole",
Command = [[
openspace.navigation.jumpToGeo("Earth", -89.9, 0.001, 2800);
local script = 'local wait = openspace.propertyValue("NavigationHandler.JumpToFadeDuration")openspace.action.triggerAction("os.nightsky.LookUp");openspace.setPropertyValueSingle("RenderEngine.BlackoutFactor", 1, wait)'
local wait = openspace.propertyValue("NavigationHandler.JumpToFadeDuration")
openspace.scheduleScript(script, wait + 0.1)
]],
Documentation = "",
GuiPath = "/Night Sky/Position",
IsLocal = false
}
local Equator = {
Identifier = "os.nightsky.position.Equator",
Name = "Jump to the Equator",
Command = [[
local _, long, _ = openspace.globebrowsing.geoPositionForCamera(false);
openspace.navigation.jumpToGeo("Earth", 0.0001, long, 500);
local script = 'local wait = openspace.propertyValue("NavigationHandler.JumpToFadeDuration")openspace.action.triggerAction("os.nightsky.LookUp");openspace.setPropertyValueSingle("RenderEngine.BlackoutFactor", 1, wait)'
local wait = openspace.propertyValue("NavigationHandler.JumpToFadeDuration")
openspace.scheduleScript(script, wait + 0.1)
]],
Documentation = "",
GuiPath = "/Night Sky/Position",
IsLocal = false
}
asset.onInitialize(function()
openspace.action.registerAction(NorthPole)
openspace.action.registerAction(SouthPole)
openspace.action.registerAction(Equator)
end)
asset.onDeinitialize(function()
openspace.action.removeAction(Equator)
openspace.action.removeAction(SouthPole)
openspace.action.removeAction(NorthPole)
end)
asset.export("NorthPole", NorthPole.Identifier)
asset.export("SouthPole", SouthPole.Identifier)
asset.export("Equator", Equator.Identifier)

View File

@@ -31,14 +31,92 @@ openspace.time.setTime(openspace.time.advancedTime(openspace.time.currentTime(),
IsLocal = false
}
local SiderealWeekIncrease = {
Identifier = "os.time.siderealWeekIncrease",
Name = "Advance 1 sidereal week",
Command = [[
openspace.time.setTime(openspace.time.advancedTime(openspace.time.currentTime(), 86164.0905 * 7));
]],
Documentation = [[Advances time by a sidereal week (Instant)]],
GuiPath = "/Time",
IsLocal = false
}
local SiderealWeekDecrease = {
Identifier = "os.time.siderealWeekDecrease",
Name = "Decrement 1 sidereal week",
Command = [[
openspace.time.setTime(openspace.time.advancedTime(openspace.time.currentTime(), -86164.0905 * 7));
]],
Documentation = [[Decrements time by a sidereal week (Instant)]],
GuiPath = "/Time",
IsLocal = false
}
local SolarDayIncrease = {
Identifier = "os.time.SolarDayIncrease",
Name = "Advance 1 solar day",
Command = [[
openspace.time.setTime(openspace.time.advancedTime(openspace.time.UTC(), "1d"));
]],
Documentation = [[Advances time by a solar day (Instant)]],
GuiPath = "/Time",
IsLocal = false
}
local SolarDayDecrease = {
Identifier = "os.time.SolarDayDecrease",
Name = "Decrement 1 solar day",
Command = [[
openspace.time.setTime(openspace.time.advancedTime(openspace.time.UTC(), "-1d"));
]],
Documentation = [[Decrements time by a solar day (Instant)]],
GuiPath = "/Time",
IsLocal = false
}
local SolarWeekIncrease = {
Identifier = "os.time.SolarWeekIncrease",
Name = "Advance 1 solar week",
Command = [[
openspace.time.setTime(openspace.time.advancedTime(openspace.time.UTC(), "7d"));
]],
Documentation = [[Advances time by a solar week (Instant)]],
GuiPath = "/Time",
IsLocal = false
}
local SolarWeekDecrease = {
Identifier = "os.time.SolarWeekDecrease",
Name = "Decrement 1 solar week",
Command = [[
openspace.time.setTime(openspace.time.advancedTime(openspace.time.UTC(), "-7d"));
]],
Documentation = [[Decrements time by a solar week (Instant)]],
GuiPath = "/Time",
IsLocal = false
}
asset.onInitialize(function()
openspace.action.registerAction(ReverseRate)
openspace.action.registerAction(SiderealDayIncrease)
openspace.action.registerAction(SiderealDayDecrease)
openspace.action.registerAction(SiderealWeekIncrease)
openspace.action.registerAction(SiderealWeekDecrease)
openspace.action.registerAction(SolarDayIncrease)
openspace.action.registerAction(SolarDayDecrease)
openspace.action.registerAction(SolarWeekIncrease)
openspace.action.registerAction(SolarWeekDecrease)
end)
asset.onDeinitialize(function()
openspace.action.removeAction(SolarWeekDecrease)
openspace.action.removeAction(SolarWeekIncrease)
openspace.action.removeAction(SolarDayDecrease)
openspace.action.removeAction(SolarDayIncrease)
openspace.action.removeAction(SiderealWeekDecrease)
openspace.action.removeAction(SiderealWeekIncrease)
openspace.action.removeAction(SiderealDayDecrease)
openspace.action.removeAction(SiderealDayIncrease)
openspace.action.removeAction(ReverseRate)
@@ -47,6 +125,12 @@ end)
asset.export("ReverseRate", ReverseRate.Identifier)
asset.export("SiderealDayIncrease", SiderealDayIncrease.Identifier)
asset.export("SiderealDayDecrease", SiderealDayDecrease.Identifier)
asset.export("SiderealWeekIncrease", SiderealWeekIncrease.Identifier)
asset.export("SiderealWeekDecrease", SiderealWeekDecrease.Identifier)
asset.export("SolarDayIncrease", SolarDayIncrease.Identifier)
asset.export("SolarDayDecrease", SolarDayDecrease.Identifier)
asset.export("SolarWeekIncrease", SolarWeekIncrease.Identifier)
asset.export("SolarWeekDecrease", SolarWeekDecrease.Identifier)

View File

@@ -2,6 +2,14 @@ local earthAsset = asset.require("scene/solarsystem/planets/earth/earth")
local labels = asset.resource({
Name = "AltAz Label Files",
Type = "HttpSynchronization",
Identifier = "alt_az_labels",
Version = 1
})
local AltAzGridPosition = {
Identifier = "AltAzGridPosition",
Parent = earthAsset.Earth.Identifier,
@@ -52,6 +60,7 @@ local AltAzGrid = {
LineWidth = 2.0,
RenderBinMode = "PostDeferredTransparent"
},
Tag = { "nightsky_marking" },
GUI = {
Name = "Altitude-Azimuth Grid",
Description = [[A local Altitude/Azimuth grid centered around your position on a
@@ -62,6 +71,39 @@ local AltAzGrid = {
}
}
local AltAzGridLabels = {
Identifier = "AltAzGridLabels",
Parent = AltAzGridPosition.Identifier,
Transform = {
Rotation = {
Type = "StaticRotation",
Rotation = { -math.pi / 2.0, math.pi, 0.0 }
}
},
Renderable = {
Type = "RenderablePointCloud",
Enabled = false,
Labels = {
Enabled = true,
File = labels .. "eclip.label",
Color = { 0.5, 0.5, 0.5 },
FaceCamera = false,
Size = 14.8,
MinMaxSize = { 2, 70 },
Unit = "pc",
},
Opacity = 0.65,
RenderBinMode = "PostDeferredTransparent"
},
Tag = { "nightsky_marking" },
GUI = {
Name = "Altitude-Azimuth Grid Labels",
Description = [[Labels for the Altitude-Azimuth Grid]],
Path = "/Night Sky/Coordinate Systems/Altitude-Azimuth"
}
}
local ShowAltaz = {
Identifier = "os.nightsky.ShowAltaz",
Name = "Show Alt/Az grid",
@@ -105,6 +147,7 @@ local ToggleAltaz = {
asset.onInitialize(function()
openspace.addSceneGraphNode(AltAzGridPosition)
openspace.addSceneGraphNode(AltAzGrid)
openspace.addSceneGraphNode(AltAzGridLabels)
openspace.action.registerAction(ShowAltaz)
openspace.action.registerAction(HideAltaz)
openspace.action.registerAction(ToggleAltaz)
@@ -115,12 +158,14 @@ asset.onDeinitialize(function()
openspace.action.removeAction(ToggleAltaz)
openspace.action.removeAction(HideAltaz)
openspace.action.removeAction(ShowAltaz)
openspace.removeSceneGraphNode(AltAzGridLabels)
openspace.removeSceneGraphNode(AltAzGrid)
openspace.removeSceneGraphNode(AltAzGridPosition)
end)
asset.export(AltAzGridPosition)
asset.export(AltAzGrid)
asset.export(AltAzGridLabels)
asset.export("ShowAltaz", ShowAltaz.Identifier)
asset.export("HideAltaz", HideAltaz.Identifier)
asset.export("ToggleAltaz", ToggleAltaz.Identifier)

View File

@@ -56,8 +56,10 @@ local CardinalDirectionSphere = {
Texture = textures .. "nesw_red.png",
Orientation = "Inside",
MirrorTexture = true,
RenderBinMode = "PostDeferredTransparent"
RenderBinMode = "PostDeferredTransparent",
DisableDepth = true
},
Tag = {"nightsky_marking"},
GUI = {
Name = "Cardinal Directions",
Description = [[A textured sphere showing the cardinal directions.

View File

@@ -34,9 +34,10 @@ local EclipticLine = {
Opacity = 0.8,
Color = { 0.5, 0.24, 0.24 },
LineWidth = 4.0,
GridSegments = { 1, 1 },
GridSegments = {1 , 1},
Enabled = asset.enabled
},
Tag = { "nightsky_marking" },
GUI = {
Name = "Ecliptic",
Description = "A line representation of the Ecliptic plane.",
@@ -63,6 +64,7 @@ local EclipticBand = {
Opacity = 0.05,
Enabled = asset.enabled
},
Tag = { "nightsky_marking" },
GUI = {
Name = "Ecliptic Band",
Description = "A band representation of the Ecliptic plane.",

View File

@@ -27,9 +27,10 @@ local EquatorialLine = {
Opacity = 0.8,
Color = { 0.6, 0.6, 0.2 },
LineWidth = 4.0,
GridSegments = { 1, 1 },
GridSegments = {1, 1},
Enabled = asset.enabled
},
Tag = { "nightsky_marking" },
GUI = {
Name = "Celestial Equator",
Description = "A line representation of the Equatorial plane.",

View File

@@ -19,6 +19,7 @@ local GalacticLine = {
GridSegments = { 1, 1 },
Enabled = asset.enabled
},
Tag = { "nightsky_marking" },
GUI = {
Name = "Galactic Equator",
Description = "A line representation of the Galactic Equator plane.",

View File

@@ -22,6 +22,7 @@ local MeridianPosition = {
UseCamera = true
}
},
Tag = { "nightsky_marking" },
GUI = {
Name = "Local Meridian Position",
Path = "/Night Sky/Coordinate Systems/Altitude-Azimuth",
@@ -44,9 +45,9 @@ local MeridianPlane = {
Color = { 0.4, 0.8, 0.4 },
LineWidth = 6.0,
GridSegments = { 1, 1 },
Enabled = asset.enabled,
RenderBinMode = "PostDeferredTransparent"
Enabled = asset.enabled
},
Tag = { "nightsky_marking" },
GUI = {
Name = "Local Meridian",
Description = [[A line representation of the Local Meridian]],

View File

@@ -9,6 +9,10 @@ asset.require("./zenith", false)
asset.require("./planets", false)
asset.require("actions/nightsky/camera", false)
asset.require("actions/nightsky/daytime", false)
asset.require("actions/nightsky/createsuntrails", false)
asset.require("actions/nightsky/misc", false)
asset.require("actions/nightsky/position", false)
asset.require("actions/time", false)

View File

@@ -13,17 +13,33 @@ local textures = asset.resource({
Version = 1
})
local csv = asset.resource({
Name = "Zero Point Data",
Type = "HttpSynchronization",
Identifier = "zeropoint_data",
Version = 1
})
local Mercury = {
Identifier = "NightSkyMercury",
Parent = mercury.MercuryBarycenter.Identifier,
Renderable = {
Type = "RenderablePlaneImageLocal",
Billboard = true,
Type = "RenderablePointCloud",
File = csv .. "zeropointdata.csv",
Coloring = {
FixedColor = { 0.608, 0.604, 0.455 }
},
Texture = {
File = textures .. "glare.png"
},
SizeSettings = {
ScaleFactor = 10,
ScaleExponent = 15,
MaxSize = 0.209,
EnableMaxSizeControl = true
},
Enabled = asset.enabled,
Size = 2439700 * 500,
Texture = textures .. "glare.png",
MultiplyColor = { 0.608, 0.604, 0.455 },
DimInAtmosphere = true,
RenderBinMode = "PostDeferredTransparent"
},
@@ -41,12 +57,21 @@ local Venus = {
Identifier = "NightSkyVenus",
Parent = venus.VenusBarycenter.Identifier,
Renderable = {
Type = "RenderablePlaneImageLocal",
Type = "RenderablePointCloud",
File = csv .. "zeropointdata.csv",
Coloring = {
FixedColor = { 1.0 , 0.992, 0.757 }
},
Texture = {
File = textures .. "glare.png"
},
SizeSettings = {
ScaleFactor = 10,
ScaleExponent = 15,
MaxSize = 1.14,
EnableMaxSizeControl = true
},
Enabled = asset.enabled,
Billboard = true,
Size = 6051900 * 700,
Texture = textures .. "glare.png",
MultiplyColor = { 1.0 , 0.992, 0.757 },
DimInAtmosphere = true,
RenderBinMode = "PostDeferredTransparent"
},
@@ -64,12 +89,21 @@ local Mars = {
Identifier = "NightSkyMars",
Parent = mars.MarsBarycenter.Identifier,
Renderable = {
Type = "RenderablePlaneImageLocal",
Type = "RenderablePointCloud",
File = csv .. "zeropointdata.csv",
Coloring = {
FixedColor = { 0.756, 0.267, 0.054 }
},
Texture = {
File = textures .. "glare.png"
},
SizeSettings = {
ScaleFactor = 10,
ScaleExponent = 15,
MaxSize = 0.404, --mars max angular size / 62
EnableMaxSizeControl = true
},
Enabled = asset.enabled,
Billboard = true,
Size = 3396190 * 1000,
Texture = textures .. "glare.png",
MultiplyColor = { 0.756, 0.267, 0.054 },
DimInAtmosphere = true,
RenderBinMode = "PostDeferredTransparent"
},
@@ -85,12 +119,21 @@ local Jupiter = {
Identifier = "NightSkyJupiter",
Parent = jupiter.JupiterBarycenter.Identifier,
Renderable = {
Type = "RenderablePlaneImageLocal",
Type = "RenderablePointCloud",
File = csv .. "zeropointdata.csv",
Coloring = {
FixedColor = { 0.608, 0.604, 0.455 },
},
Texture = {
File = textures .. "glare.png"
},
SizeSettings = {
ScaleFactor = 10,
ScaleExponent = 15,
MaxSize = 0.82,
EnableMaxSizeControl = true
},
Enabled = asset.enabled,
Billboard = true,
Size = 71492000 * 400,
Texture = textures .. "glare.png",
MultiplyColor = { 0.608, 0.604, 0.455 },
DimInAtmosphere = true,
RenderBinMode = "PostDeferredTransparent"
},
@@ -108,12 +151,19 @@ local Saturn = {
Identifier = "NightSkySaturn",
Parent = saturn.SaturnBarycenter.Identifier,
Renderable = {
Type = "RenderablePlaneImageLocal",
Type = "RenderablePointCloud",
File = csv .. "zeropointdata.csv",
Coloring = {
FixedColor = { 0.85098, 0.843137, 0.619608 },
},
Texture = {
File = textures .. "glare.png"
},
SizeSettings = {
MaxSize = 0.332,
EnableMaxSizeControl = true
},
Enabled = asset.enabled,
Billboard = true,
Size = 60268000 * 500,
Texture = textures .. "glare.png",
MultiplyColor = { 0.608, 0.604, 0.455 },
DimInAtmosphere = true,
RenderBinMode = "PostDeferredTransparent"
},

View File

@@ -31,6 +31,7 @@ local ZenithPosition = {
UseCamera = true
}
},
Tag = { "nightsky_marking" },
GUI = {
Name = "Zenith Position",
Path = "/Night Sky/Coordinate Systems/Altitude-Azimuth",
@@ -56,6 +57,7 @@ local ZenithDot = {
Texture = textures .. "point3A.png",
BlendMode = "Additive"
},
Tag = { "nightsky_marking" },
GUI = {
Name = "Zenith",
Description = [[A dot representation of the Local Zenith, based on the camera's

View File

@@ -35,6 +35,7 @@ local Object = {
Scale = 10e17
}
},
Tag = { "du_grid" },
GUI = {
Name = "Constellation Boundaries",
Path = "/Milky Way/Constellations",

View File

@@ -64,6 +64,7 @@ local RadioSphere = {
Color = { 0.3, 0.84, 1.0 },
LineWidth = 2.0
},
Tag = { "du_grid" },
GUI = {
Name = "Radio Sphere",
Path = "/Milky Way/Grids",
@@ -102,8 +103,10 @@ local EquatorialSphere = {
Opacity = 1.0,
Color = { 0.3, 0.3, 0.15 },
LineWidth = 2.0,
GridSegments = { 18, 24 },
LatSegments = 36,
LongSegments = 24,
},
Tag = { "du_grid" },
GUI = {
Name = "Equatorial Coordinates",
Path = "/Night Sky/Coordinate Systems/Equatorial",
@@ -131,6 +134,7 @@ local EquatorialSphereLabels = {
Unit = "pc",
TransformationMatrix = EquatorialTransformationMatrix
},
Tag = { "du_grid_labels" },
GUI = {
Name = "Equatorial Coordinates Labels",
Path = "/Night Sky/Coordinate Systems/Equatorial",
@@ -159,6 +163,7 @@ local EclipticSphere = {
Color = { 0.3, 0.15, 0.15 },
LineWidth = 2.0
},
Tag = { "du_grid" },
GUI = {
Name = "Ecliptic Coordinates",
Path = "/Night Sky/Coordinate Systems/Ecliptic",
@@ -186,6 +191,7 @@ local EclipticSphereLabels = {
Unit = "pc",
TransformationMatrix = EclipticTransformationMatrix
},
Tag = { "du_grid_labels" },
GUI = {
Name = "Ecliptic Coordinates Labels",
Path = "/Night Sky/Coordinate Systems/Ecliptic",
@@ -210,6 +216,7 @@ local GalacticSphere = {
Opacity = 1.0,
Color = { 0.05, 0.25, 0.25 }
},
Tag = { "du_grid" },
GUI = {
Name = "Galactic Coordinates",
Path = "/Night Sky/Coordinate Systems/Galactic",
@@ -235,6 +242,7 @@ local GalacticSphereLabels = {
Opacity = 0.65,
Unit = "pc"
},
Tag = { "du_grid_labels" },
GUI = {
Name = "Galactic Coordinates Labels",
Path = "/Night Sky/Coordinate Systems/Galactic",
@@ -268,6 +276,7 @@ local Plane1lh = {
Segments = { 20, 20 },
Size = { 2 * LightHour, 2 * LightHour }
},
Tag = { "du_grid" },
GUI = {
Name = "1-light-hour Grid",
Path = "/Solar System/Grids",
@@ -301,6 +310,7 @@ local Plane1ld = {
Segments = { 20, 20 },
Size = { 2 * LightDay, 2 * LightDay }
},
Tag = { "du_grid" },
GUI = {
Name = "1-light-day Grid",
Path = "/Solar System/Grids",
@@ -334,6 +344,7 @@ local Plane1lm = {
Segments = { 20, 20 },
Size = { 2 * LightMonth, 2 * LightMonth }
},
Tag = { "du_grid" },
GUI = {
Name = "1-light-month Grid",
Path = "/Solar System/Grids",
@@ -367,6 +378,7 @@ local Plane1ly = {
Segments = { 20, 20 },
Size = { 2 * LightYear, 2 * LightYear }
},
Tag = { "du_grid" },
GUI = {
Name = "1-light-year Grid",
Path = "/Solar System/Grids",
@@ -400,6 +412,7 @@ local Plane10ly = {
Segments = { 20, 20 },
Size = { 10 * 2 * LightYear, 10 * 2 * LightYear }
},
Tag = { "du_grid" },
GUI = {
Name = "10-light-year Grid",
Path = "/Milky Way/Grids",
@@ -433,6 +446,7 @@ local Plane100ly = {
Segments = { 20, 20 },
Size = { 100 * 2 * LightYear, 100 * 2 * LightYear }
},
Tag = { "du_grid" },
GUI = {
Name = "100-light-year Grid",
Path = "/Milky Way/Grids",
@@ -466,6 +480,7 @@ local Plane1kly = {
Segments = { 20, 20 },
Size = { 1000 * 2 * LightYear, 1000 * 2 * LightYear }
},
Tag = { "du_grid" },
GUI = {
Name = "1,000-light-year Grid",
Path = "/Milky Way/Grids",
@@ -499,6 +514,7 @@ local Plane10kly = {
Segments = { 20, 20 },
Size = { 10000 * 2 * LightYear, 10000 * 2 * LightYear }
},
Tag = { "du_grid" },
GUI = {
Name = "10,000-light-year Grid",
Path = "/Milky Way/Grids",
@@ -527,6 +543,7 @@ local Plane100kly = {
HighlightRate = { 5, 5 },
Size = { 100000 * 2 * LightYear, 100000 * 2 * LightYear }
},
Tag = { "du_grid" },
GUI = {
Name = "100,000-light-year Grid",
Path = "/Universe/Grids",
@@ -555,6 +572,7 @@ local Plane1Mly = {
HighlightRate = { 5, 5 },
Size = { 1E6 * 2 * LightYear, 1E6 * 2 * LightYear }
},
Tag = { "du_grid" },
GUI = {
Name = "1-million-light-year Grid",
Path = "/Universe/Grids",
@@ -583,6 +601,7 @@ local Plane10Mly = {
HighlightRate = { 5, 5 },
Size = { 10E6 * 2 * LightYear, 10E6 * 2 * LightYear }
},
Tag = { "du_grid" },
GUI = {
Name = "10-million-light-year Grid",
Path = "/Universe/Grids",
@@ -611,6 +630,7 @@ local Plane100Mly = {
HighlightRate = { 5, 5 },
Size = { 100E6 * 2 * LightYear, 100E6 * 2 * LightYear }
},
Tag = { "du_grid" },
GUI = {
Name = "100-million-light-year Grid",
Path = "/Universe/Grids",
@@ -639,6 +659,7 @@ local Plane20Gly = {
HighlightRate = { 5, 5 },
Size = { 20E9 * 2 * LightYear, 20E9 * 2 * LightYear }
},
Tag = { "du_grid" },
GUI = {
Name = "20-billion-light-year Grid",
Path = "/Universe/Grids",

View File

@@ -64,7 +64,7 @@ local MercuryLabel = {
BlendMode = "Additive",
EnableFading = true,
FadeUnit = "au",
FadeDistances = { 1.5, 20.0 },
FadeDistances = { 0.75, 20.0 },
FadeWidths = { 1.0, 30.0 }
},
Tag = { "solarsystem_labels" },

View File

@@ -65,7 +65,7 @@ local VenusLabel = {
BlendMode = "Additive",
EnableFading = true,
FadeUnit = "au",
FadeDistances = { 1.5, 25.0 },
FadeDistances = { 0.75, 25.0 },
FadeWidths = { 1.0, 35.0 }
},
Tag = { "solarsystem_labels" },

View File

@@ -1,6 +1,24 @@
{
"actions": [
{
"documentation": "Sets the stars back to their default values",
"gui_path": "/Night Sky/Stars",
"identifier": "os.nightsky.DefaultStars",
"is_local": false,
"name": "Set default star values",
"script": "openspace.setPropertyValueSingle(\"Scene.Stars.Renderable.Core.Multiplier\", 15.0)\nopenspace.setPropertyValueSingle(\"Scene.Stars.Renderable.Core.Gamma\", 1.66)\nopenspace.setPropertyValueSingle(\"Scene.Stars.Renderable.Core.Scale\", 0.18)\n\nopenspace.setPropertyValueSingle(\"Scene.Stars.Renderable.Glare.Multiplier\", 0.65)\nopenspace.setPropertyValueSingle(\"Scene.Stars.Renderable.Glare.Gamma\", 1.0)\nopenspace.setPropertyValueSingle(\"Scene.Stars.Renderable.Glare.Scale\", 1.0)"
},
{
"documentation": "Changes the values for Core/Glare on the Stars to be more point-like",
"gui_path": "/Night Sky/Stars",
"identifier": "os.nightsky.PointlikeStars",
"is_local": false,
"name": "Set the star values to be more point-like",
"script": "openspace.setPropertyValueSingle(\"Scene.Stars.Renderable.Core.Multiplier\", 2.62)\nopenspace.setPropertyValueSingle(\"Scene.Stars.Renderable.Core.Gamma\", 1.6)\nopenspace.setPropertyValueSingle(\"Scene.Stars.Renderable.Core.Scale\", 1.0)\nopenspace.setPropertyValueSingle(\"Scene.Stars.Renderable.Glare.Multiplier\", 1.75)\nopenspace.setPropertyValueSingle(\"Scene.Stars.Renderable.Glare.Gamma\", 1.19)\nopenspace.setPropertyValueSingle(\"Scene.Stars.Renderable.Glare.Scale\", 0.16)"
}
],
"additional_scripts": [
"openspace.action.triggerAction(\"os.nightsky.LevelHorizonPitch\")"
"openspace.action.triggerAction(\"os.nightsky.ShowNightSkyPlanets\")"
],
"assets": [
"base",
@@ -10,7 +28,7 @@
"scene/solarsystem/planets/earth/satellites/satellites"
],
"camera": {
"altitude": 50.0,
"altitude": 500.0,
"anchor": "Earth",
"latitude": 58.5877,
"longitude": 16.1652,
@@ -47,6 +65,9 @@
"url": "https://www.openspaceproject.com",
"version": "1.0"
},
"panel_visibility": {
"nightSky": true
},
"properties": [
{
"name": "{earth_satellites}.Renderable.Enabled",

View File

@@ -1,82 +1,110 @@
{
"0": {
"name": "Scene",
"id": "scene",
"visible": true
},
"1": {
"name": "Settings",
"id": "settings",
"visible": false
},
"2": {
"name": "Navigation",
"id": "navigation",
"visible": true
},
"3": {
"name": "Time Panel",
"id": "timePanel",
"visible": true
},
"4": {
"name": "Session Recording",
"id": "sessionRecording",
"visible": true
},
"5": {
"name": "Geo Location",
"id": "geoLocation",
"visible": true
},
"6": {
"name": "Screenspace Renderables",
"id": "screenSpaceRenderables",
"visible": true
},
"7": {
"name": "Exoplanets",
"id": "exoplanets",
"visible": true
},
"8": {
"name": "User Panels",
"id": "userPanels",
"visible": true
},
"9": {
"name": "Actions",
"id": "actions",
"visible": true
},
"10": {
"name": "SkyBrowser",
"id": "skyBrowser",
"visible": true
},
"11": {
"name": "Mission",
"id": "mission",
"visible": false
},
"12": {
"name": "Flight Control",
"id": "flightControl",
"visible": true
},
"13": {
"name": "Keybindings Layout",
"id": "keybindingsLayout",
"visible": false
},
"14": {
"name": "Getting Started Tour",
"id": "gettingStartedTour",
"visible": true
},
"15": {
"name": "Script Log",
"id": "scriptLogPanel",
"visible": false
}
}
"0": {
"id": "scene",
"visible": true,
"name": "Scene",
"isOpen": false
},
"1": {
"id": "settings",
"visible": false,
"name": "Settings",
"isOpen": false
},
"2": {
"id": "navigation",
"visible": true,
"name": "Navigation",
"isOpen": false
},
"3": {
"id": "timePanel",
"visible": true,
"name": "Time Panel",
"isOpen": false
},
"4": {
"id": "sessionRecording",
"visible": true,
"name": "Session Recording",
"isOpen": false
},
"5": {
"id": "geoLocation",
"visible": true,
"name": "Geo Location",
"isOpen": false
},
"6": {
"id": "screenSpaceRenderables",
"visible": true,
"name": "Screenspace Renderables",
"isOpen": false
},
"7": {
"id": "exoplanets",
"visible": true,
"name": "Exoplanets",
"isOpen": false
},
"8": {
"id": "userPanels",
"visible": true,
"name": "User Panels",
"isOpen": false
},
"9": {
"id": "actions",
"visible": true,
"name": "Actions",
"isOpen": false
},
"10": {
"id": "skyBrowser",
"visible": true,
"name": "SkyBrowser",
"isOpen": false
},
"11": {
"id": "mission",
"visible": false,
"name": "Mission",
"isOpen": false
},
"12": {
"id": "flightControl",
"visible": true,
"name": "Flight Control",
"isOpen": false
},
"13": {
"id": "keybindingsLayout",
"visible": false,
"name": "Keybinds",
"isOpen": false
},
"14": {
"id": "nightSky",
"visible": false,
"name": "Night Sky",
"isOpen": false
},
"15": {
"id": "gettingStartedTour",
"visible": true,
"name": "Getting Started Tour",
"isOpen": false
},
"16": {
"id": "scriptLogPanel",
"visible": false,
"name": "Script Log",
"isOpen": false
},
"17": {
"id": "devPanel",
"visible": false,
"name": "Dev Panel",
"isOpen": false
}
}