Merged master into thesis/2020/radiation

This commit is contained in:
Christian Adamsson
2020-07-28 11:13:50 +02:00
375 changed files with 9607 additions and 5037 deletions

View File

@@ -6,7 +6,6 @@ root = true
# Unix-style newlines with a newline ending every file
[*]
charset = utf-8
end_of_line = lf
indent_style = space
indent_size = 4
insert_final_newline = true

1
.gitignore vendored
View File

@@ -13,6 +13,7 @@
.vscode
CMakeCache.txt
CMakeFiles
CMakeLists.txt.user
cmake-build-*
cmake_install.cmake
install_manifest.txt

View File

@@ -28,8 +28,8 @@ project(OpenSpace)
set(OPENSPACE_VERSION_MAJOR 0)
set(OPENSPACE_VERSION_MINOR 15)
set(OPENSPACE_VERSION_PATCH 1)
set(OPENSPACE_VERSION_STRING "Beta-5")
set(OPENSPACE_VERSION_PATCH 2)
set(OPENSPACE_VERSION_STRING "Beta-7")
set(OPENSPACE_BASE_DIR "${PROJECT_SOURCE_DIR}")

View File

@@ -78,7 +78,7 @@ endif ()
#####
if (APPLE)
set(MACOSX_BUNDLE_ICON_FILE openspace.icns)
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.14" CACHE STRING "Minimum OS X deployment version" FORCE)
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.15" CACHE STRING "Minimum OS X deployment version" FORCE)
set(CMAKE_XCODE_ATTRIBUTE_OTHER_CODE_SIGN_FLAGS "--deep" CACHE STRING "Other Code Signing Flags" FORCE)
endif ()

View File

@@ -43,7 +43,11 @@
#include <ghoul/misc/boolean.h>
//#include <ghoul/opengl/ghoul_gl.h>
#include <GLFW/glfw3.h>
#ifdef _WIN32
#define GLFW_EXPOSE_NATIVE_WIN32
#else
#define GLFW_INCLUDE_NONE
#endif
#include <GLFW/glfw3native.h>
#include <sgct/clustermanager.h>
#include <sgct/commandline.h>
@@ -57,7 +61,6 @@
#include <sgct/viewport.h>
#include <stb_image.h>
#include <Tracy.hpp>
#include <TracyOpenGL.hpp>
#include <chrono>
#include <ctime>
@@ -350,7 +353,6 @@ void mainInitFunc(GLFWwindow*) {
//
// Screenshots
//
std::string screenshotPath = "${SCREENSHOTS}";
if (global::configuration.shouldUseScreenshotDate) {
std::time_t now = std::time(nullptr);
@@ -517,7 +519,7 @@ void mainPostSyncPreDrawFunc() {
void mainRenderFunc(const RenderData& data) {
void mainRenderFunc(const sgct::RenderData& data) {
ZoneScoped
#ifdef OPENSPACE_HAS_VTUNE
@@ -592,7 +594,7 @@ void mainRenderFunc(const RenderData& data) {
void mainDraw2DFunc(const RenderData& data) {
void mainDraw2DFunc(const sgct::RenderData& data) {
ZoneScoped
#ifdef OPENSPACE_HAS_VTUNE
@@ -855,16 +857,16 @@ void mainLogCallback(Log::Level level, const char* message) {
// Remove the trailing \n that is passed along
switch (level) {
case Log::Level::Debug:
LDEBUGC("SGCT", msg.substr(0, msg.size() - 1));
LDEBUGC("SGCT", msg);
break;
case Log::Level::Info:
LINFOC("SGCT", msg.substr(0, msg.size() - 1));
LINFOC("SGCT", msg);
break;
case Log::Level::Warning:
LWARNINGC("SGCT", msg.substr(0, msg.size() - 1));
LWARNINGC("SGCT", msg);
break;
case Log::Level::Error:
LERRORC("SGCT", msg.substr(0, msg.size() - 1));
LERRORC("SGCT", msg);
break;
}
@@ -884,15 +886,6 @@ void setSgctDelegateFunctions() {
sgct::ClusterManager::instance().setUseIgnoreSync(enabled);
};
sgctDelegate.clearAllWindows = [](const glm::vec4& clearColor) {
ZoneScoped
for (const std::unique_ptr<Window>& window : Engine::instance().windows()) {
glClearColor(clearColor.r, clearColor.g, clearColor.b, clearColor.a);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glfwSwapBuffers(window->windowHandle());
}
};
sgctDelegate.windowHasResized = []() {
ZoneScoped
@@ -925,26 +918,6 @@ void setSgctDelegateFunctions() {
return sgct::Engine::getTime();
};
sgctDelegate.mousePosition = []() {
ZoneScoped
double xPos;
double yPos;
glfwGetCursorPos(currentWindow->windowHandle(), &xPos, &yPos);
return glm::vec2(xPos, yPos);
};
sgctDelegate.mouseButtons = [](int maxNumber) {
ZoneScoped
uint32_t result = 0;
for (int i = 0; i < maxNumber; ++i) {
bool button = (glfwGetMouseButton(currentWindow->windowHandle(), i) != 0);
if (button) {
result |= (1 << i);
}
}
return result;
};
sgctDelegate.currentWindowSize = []() {
ZoneScoped
@@ -980,12 +953,6 @@ void setSgctDelegateFunctions() {
);
}
};
sgctDelegate.currentWindowResolution = []() {
ZoneScoped
ivec2 dim = currentWindow->finalFBODimensions();
return glm::ivec2(dim.x, dim.y);
};
sgctDelegate.currentDrawBufferResolution = []() {
ZoneScoped
@@ -1023,11 +990,6 @@ void setSgctDelegateFunctions() {
vec2 scale = currentWindow->scale();
return glm::vec2(scale.x, scale.y);
};
sgctDelegate.currentNumberOfAaSamples = []() {
ZoneScoped
return currentWindow->numberOfAASamples();
};
sgctDelegate.hasGuiWindow = []() {
ZoneScoped
@@ -1048,21 +1010,6 @@ void setSgctDelegateFunctions() {
return Engine::instance().isMaster();
};
sgctDelegate.isUsingSwapGroups = []() {
ZoneScoped
return Window::isUsingSwapGroups();
};
sgctDelegate.isSwapGroupMaster = []() {
ZoneScoped
return Window::isSwapGroupMaster();
};
sgctDelegate.viewProjectionMatrix = []() {
ZoneScoped
return currentModelViewProjectionMatrix;
};
sgctDelegate.modelMatrix = []() {
ZoneScoped
@@ -1073,31 +1020,6 @@ void setSgctDelegateFunctions() {
Engine::instance().setNearAndFarClippingPlanes(nearPlane, farPlane);
};
sgctDelegate.setEyeSeparationDistance = [](float distance) {
ZoneScoped
Engine::instance().setEyeSeparation(distance);
};
//sgctDelegate.viewportPixelCoordinates = []() {
// ZoneScoped
// if (!currentWindow|| !currentViewport) {
// return glm::ivec4(0);
// }
// else {
// const int* data = cur sgct::Engine::instance()->getCurrentViewportPixelCoords();
// return glm::ivec4(data[0], data[2], data[1], data[3]);
// }
//};
//sgctDelegate.sendMessageToExternalControl = [](const std::vector<char>& message) {
// ZoneScoped
//
// sgct::Engine::instance()->sendMessageToExternalControl(
// message.data(),
// static_cast<int>(message.size())
// );
//};
sgctDelegate.isFisheyeRendering = []() {
ZoneScoped
@@ -1353,7 +1275,7 @@ int main(int argc, char** argv) {
LDEBUG("Creating SGCT Engine");
std::vector<std::string> arg(argv + 1, argv + argc);
Configuration config = parseArguments(arg);
config::Cluster cluster = loadCluster(windowConfiguration);
config::Cluster cluster = loadCluster(absPath(windowConfiguration));
Engine::Callbacks callbacks;
callbacks.initOpenGL = mainInitFunc;
@@ -1374,10 +1296,16 @@ int main(int argc, char** argv) {
try {
Engine::create(cluster, callbacks, config);
}
catch (...) {
catch (const std::runtime_error& e) {
LFATALC("main", e.what());
Engine::destroy();
global::openSpaceEngine.deinitialize();
ghoul::deinitialize();
}
catch (...) {
global::openSpaceEngine.deinitialize();
ghoul::deinitialize();
Engine::destroy();
throw;
}

View File

@@ -4,7 +4,7 @@
<Display swapInterval="0" />
</Settings>
<Node address="localhost" port="20401">
<Window fullScreen="true" monitor="1" name="OpenSpace">
<Window fullScreen="true" monitor="1" name="OpenSpace" draw2d="false">
<Stereo type="none" />
<Size x="1920" y="1080" />
<Pos x="0" y="0" />
@@ -17,7 +17,7 @@
</PlanarProjection>
</Viewport>
</Window>
<Window fullScreen="false" border="false" name="GUI" tags="GUI">
<Window fullScreen="false" border="false" name="GUI" tags="GUI" draw3D="false">
<Stereo type="none" />
<Size x="1920" y="1080" />
<Pos x="0" y="0" />

View File

@@ -6,7 +6,7 @@
<Scale value="1.0" />
</Scene> -->
<Node address="localhost" port="20401">
<Window fullScreen="false" name="OpenSpace">
<Window fullScreen="false" name="OpenSpace" draw2d="false">
<Stereo type="none" />
<!-- 16:9 aspect ratio -->
<Size x="1024" y="1024" />
@@ -32,7 +32,7 @@
</Window>
<Window fullScreen="false" name="GUI" tags="GUI">
<Window fullScreen="false" name="GUI" tags="GUI" draw3d="false">
<Stereo type="none" />
<Size x="1024" y="1024" />
<Pos x="50" y="50" />

View File

@@ -4,7 +4,7 @@
<Display swapInterval="0" />
</Settings>
<Node address="localhost" port="20401">
<Window fullScreen="false" name="OpenSpace">
<Window fullScreen="false" name="OpenSpace" draw2d="false">
<Stereo type="none" />
<Size x="1280" y="720" />
<Pos x="50" y="50" />
@@ -17,13 +17,17 @@
</PlanarProjection>
</Viewport>
</Window>
<Window fullScreen="false" name="GUI" tags="GUI">
<Window fullScreen="false" name="GUI" tags="GUI" draw3d="false">
<Stereo type="none" />
<Size x="1280" y="720" />
<Pos x="50" y="50" />
<Viewport>
<Pos x="0.0" y="0.0" />
<Size x="1.0" y="1.0" />
<PlanarProjection>
<FOV down="25.267007923362" left="40.0" right="40.0" up="25.267007923362" />
<Orientation heading="0.0" pitch="0.0" roll="0.0" />
</PlanarProjection>
</Viewport>
</Window>
</Node>

View File

@@ -19,7 +19,7 @@
-->
<!-- mesh path is relative to working directory-->
<!-- NOTE, if no working directory is set, mesh must be absolute path -->
<Viewport name="warped fisheye" mesh="mesh/standard_16x9.data">
<Viewport name="warped fisheye" mesh="mesh/standard_16x9.data" draw2d="false">
<Pos x="0.0" y="0.0" />
<Size x="1.0" y="1.0" />
<FisheyeProjection fov="180" quality="2k" tilt="30.0">
@@ -27,7 +27,7 @@
</FisheyeProjection>
</Viewport>
</Window>
<Window fullscreen="false" name="GUI" tags="GUI">
<Window fullscreen="false" name="GUI" tags="GUI" draw3d="false">
<Stereo type="none" />
<Size x="1280" y="720" />
<Res x="2048" y="2048" />

View File

@@ -1,128 +0,0 @@
--apollo.scene
asset.require('./base')
local propertyHelper = asset.require('util/property_helper')
local sceneHelper = asset.require('util/scene_helper')
asset.require('scene/solarsystem/planets/earth/moon/moon')
asset.require('scene/solarsystem/missions/apollo/apollo8.asset')
-- Custom Keybindings
local Keybindings = {
{
Key = "E",
Command = "openspace.time.setPause(true);" ..
"openspace.time.setDeltaTime(1);" ..
"openspace.time.setTime('1968 DEC 24 16:37:31');" ..
"openspace.navigation.setNavigationState({" ..
" Anchor = 'Apollo8'," ..
" Position = { 1.494592E1, 3.236777E1, -4.171296E1 }," ..
" ReferenceFrame = 'Root'," ..
" Up = { 0.960608E0, -0.212013E0, 0.179675E0 }" ..
"});" ..
"openspace.setPropertyValue('*Trail.Renderable.Enabled', false)",
Documentation = "Jump to right before the earthrise photo",
Name = "Set Earthrise time",
GuiPath = "/Missions/Apollo/8",
Local = false
},
{
Key = "U",
Command = "openspace.time.setTime('1968-12-21T12:51:37.00')" ..
"openspace.setPropertyValueSingle('Scene.Apollo8LaunchTrail.Renderable.Enabled', true);",
Documentation = "Jump to time right before Apollo 8 liftoff, with its trail enabled",
Name = "Set Apollo 8 launch time",
GuiPath = "/Missions/Apollo/8",
Local = false
},
{
Key = "K",
Command = propertyHelper.invert('Scene.Moon.Renderable.Layers.ColorLayers.Kaguya_Utah.Enabled'),
Documentation = "Toggles Moon Kaguya color layer",
Name = "Toggle Kaguya layer on the Moon",
GuiPath = "/Missions/Apollo",
Local = false
},
{
Key = "T",
Command = propertyHelper.invert('Scene.Apollo8MoonTrail.Renderable.Enabled'),
Documentation = "Toggles the trails of the Apollo 8 orbits, focused around the Moon",
Name = "Toggle Apollo 8 orbits",
GuiPath = "/Missions/Apollo/8",
Local = false
},
{
Key = "SHIFT+T",
Command = propertyHelper.invert('Scene.Apollo8LaunchTrail.Renderable.Enabled'),
Documentation = "Toggles the trails of the Apollo 8 Launch, focused around the Earth",
Name = "Toggle Apollo 8 launch trail",
GuiPath = "/Missions/Apollo/8",
Local = false
},
{
Key = "CTRL+T",
Command = propertyHelper.invert('Scene.Apollo8EarthBarycenterTrail.Renderable.Enabled'),
Documentation = "Toggles the trails of the full Apollo 8, with Earth's frame of reference",
Name = "Toggles Apollo 8 full trail",
GuiPath = "/Missions/Apollo/8",
Local = false
},
{
Key = "S",
Command = propertyHelper.invert('Scene.Moon.Renderable.PerformShading'),
Documentation = "Toggles shading for the Moon",
Name = "Toggle Moon shading",
GuiPath = "/Missions/Apollo",
Local = false
},
{
Key = "PAGE_UP",
Command = "openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.Aim', '')" ..
"openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.Anchor', 'Apollo8')" ..
"openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.RetargetAnchor', nil)",
Documentation = "Set camera focus to Apollo 8",
Name = "Focus on Apollo 8",
GuiPath = "/Missions/Apollo/8",
Local = false
},
{
Key = "PAGE_DOWN",
Command = "openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.Aim', '')" ..
"openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.Anchor', 'Moon')" ..
"openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.RetargetAnchor', nil)",
Documentation = "Set camera focus to the Moon",
Name = "Focus on Moon",
GuiPath = "/Missions/Apollo",
Local = false
},
{
Key = "HOME",
Command = "openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.Aim', '')" ..
"openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.Anchor', 'Earth')" ..
"openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.RetargetAnchor', nil)",
Documentation = "Set camera focus to the Earth",
Name = "Focus on Earth",
GuiPath = "/Missions/Apollo",
Local = false
}
}
local earthAsset = asset.require('scene/solarsystem/planets/earth/earth')
asset.onInitialize(function ()
sceneHelper.bindKeys(Keybindings)
openspace.time.setTime("1968-12-21T12:51:51.0")
-- Earthrise:
-- openspace.time.setTime("1968-12-24T16:37:19.0")
openspace.markInterestingNodes({ "Earth", "Moon", "Apollo8", "Apollo8Launch" })
openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.MinimumAllowedDistance', 0.000000);
openspace.setPropertyValueSingle('Scene.Moon.Renderable.LodScaleFactor', 24.0);
openspace.globebrowsing.goToGeo(earthAsset.Earth.Identifier, 20, -60, 15000000)
end)
asset.onDeinitialize(function ()
openspace.removeInterestingNodes({ "Earth", "Moon", "Apollo8" })
end)

View File

@@ -1,117 +0,0 @@
asset.require('./base')
--moonrocks.scene
local sceneHelper = asset.require('util/scene_helper')
-- local station2 = asset.require('scene/solarsystem/missions/apollo/bouldersstation2')
-- local station6 = asset.require('scene/solarsystem/missions/apollo/bouldersstation6')
-- local station7 = asset.require('scene/solarsystem/missions/apollo/bouldersstation7')
asset.require('scene/solarsystem/missions/apollo/apollo8')
asset.require('scene/solarsystem/missions/apollo/apollo11')
asset.require('scene/solarsystem/missions/apollo/a17_lem')
asset.require('scene/solarsystem/missions/apollo/apollo_globebrowsing')
asset.require('scene/solarsystem/missions/apollo/apollo_11_lem_flipbook')
asset.require('scene/solarsystem/missions/apollo/insignias_map')
local Keybindings = {
{
Key = "m",
Command = "openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.Anchor', 'Moon'); " ..
"openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.RetargetAnchor', nil);",
Documentation = "Focus on Moon",
Name = "Focus on Moon",
GuiPath = "/Missions/Apollo",
Local = false
},
{
Key = "F9",
Command = "openspace.setPropertyValue('Scene.Moon.Renderable.Layers.ColorLayers.A17_*.Enabled', false);" ..
"openspace.setPropertyValueSingle('Scene.Moon.Renderable.Layers.HeightLayers.LRO_NAC_Apollo_11.Enabled', false);" ..
"openspace.setPropertyValueSingle('Scene.Moon.Renderable.Layers.ColorLayers.A11_M177481212_p_longlat.Enabled', false);" ..
"openspace.setPropertyValueSingle('Scene.Apollo11MoonTrail.Renderable.Enabled', false);" ..
"openspace.setPropertyValueSingle('Scene.Apollo11LemTrail.Renderable.Enabled', false);"..
"openspace.setPropertyValueSingle('Scene.Moon.Renderable.Layers.HeightLayers.LRO_NAC_Apollo_17.Enabled', false);",
Documentation = "Disable apollo site on moon when switching",
Name = "Disable Apollo site",
GuiPath = "/Missions/Apollo",
Local = false
},
{
Key = "F11",
Command = "openspace.time.setTime('1969 JUL 20 20:17:40');" ..
"openspace.setPropertyValueSingle('Scene.Moon.Renderable.Layers.HeightLayers.LRO_NAC_Apollo_11.Enabled', true);" ..
"openspace.setPropertyValueSingle('Scene.Moon.Renderable.Layers.ColorLayers.A11_M177481212_p_longlat.Enabled', true);" ..
"openspace.setPropertyValueSingle('Scene.Moon.Renderable.LodScaleFactor', 20.11);" ..
"openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.Anchor', 'Apollo11LemPosition');" ..
"openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.RetargetAnchor', nil);" ..
"openspace.setPropertyValueSingle('Scene.Apollo11MoonTrail.Renderable.Enabled', true);" ..
"openspace.setPropertyValueSingle('Scene.Apollo11LemTrail.Renderable.Enabled', true);",
Documentation = "Setup for A11 site",
Name = "Setup A11 site",
GuiPath = "/Missions/Apollo/11",
Local = false
},
{
Key = "F7",
Command = "openspace.time.setTime('1972 DEC 12 19:47:11');" ..
"openspace.setPropertyValueSingle('Scene.Moon.Renderable.Layers.ColorLayers.A17_travmap.BlendMode', 0.000000);" ..
"openspace.setPropertyValueSingle('Scene.Moon.Renderable.Layers.ColorLayers.A17_travmap.Enabled', true);" ..
"openspace.setPropertyValueSingle('Scene.Moon.Renderable.Layers.HeightLayers.LRO_NAC_Apollo_17.Enabled', true);" ..
-- "openspace.setPropertyValueSingle('Scene.Moon.Renderable.Layers.ColorLayers.A17_station6a.Enabled', true);" ..
-- "openspace.setPropertyValueSingle('Scene.Moon.Renderable.Layers.ColorLayers.A17_station6a.BlendMode', 0.000000);" ..
-- "openspace.setPropertyValueSingle('Scene.Moon.Renderable.Layers.ColorLayers.A17_station2.Enabled', true);" ..
-- "openspace.setPropertyValueSingle('Scene.Moon.Renderable.Layers.ColorLayers.A17_station2.BlendMode', 0.000000);" ..
-- "openspace.setPropertyValueSingle('Scene.Moon.Renderable.Layers.ColorLayers.A17_station7.Enabled', true);" ..
"openspace.setPropertyValueSingle('Scene.Moon.Renderable.Layers.ColorLayers.A17_LEM.Enabled', true);" ..
"openspace.setPropertyValueSingle('Scene.Moon.Renderable.Layers.ColorLayers.A17_LEM.BlendMode', 0.000000);" ..
"openspace.setPropertyValueSingle('Scene.Moon.Renderable.Layers.ColorLayers.A17_NAC_Alt_p.Enabled', true);" ..
"openspace.setPropertyValueSingle('Scene.Moon.Renderable.Layers.ColorLayers.A17_NAC_Alt_p.BlendMode', 0.000000);" ..
"openspace.setPropertyValueSingle('Scene.Moon.Renderable.LodScaleFactor', 20.17);" ..
"openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.Anchor', 'Apollo17LemModel');" ..
"openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.RetargetAnchor', nil);" ..
"openspace.setPropertyValueSingle('Scene.Moon.Renderable.Layers.ColorLayers.A17_station7.BlendMode', 0.000000);",
Documentation = "Setup for A17 site",
Name = "Setup A17 site",
GuiPath = "/Missions/Apollo/17",
Local = false
}
}
local moonAsset = asset.require('scene/solarsystem/planets/earth/moon/moon')
asset.onInitialize(function ()
openspace.time.setTime("1972 DEC 12 19:47:11")
sceneHelper.bindKeys(Keybindings)
openspace.markInterestingNodes({
"Moon", "Apollo11LemModel", "Apollo17LemModel",
"Apollo11", "Apollo11LunarLander",
-- "Station_2_Boulder2", "Station_6_Fragment1"
})
openspace.setPropertyValueSingle('Scene.Moon.Renderable.Layers.ColorLayers.A17_travmap.BlendMode', 0);
-- To enable both sites by default, uncomment these lines
-- openspace.setPropertyValueSingle('Scene.Moon.Renderable.Layers.ColorLayers.A17_travmap.Enabled', true);
-- openspace.setPropertyValueSingle('Scene.Moon.Renderable.Layers.HeightLayers.LRO_NAC_Apollo_17.Enabled', true);
-- openspace.setPropertyValueSingle('Scene.Moon.Renderable.Layers.ColorLayers.A17_LEM.Enabled', true);
-- openspace.setPropertyValueSingle('Scene.Moon.Renderable.Layers.ColorLayers.A17_LEM.BlendMode', 0.000000);
-- openspace.setPropertyValueSingle('Scene.Moon.Renderable.Layers.ColorLayers.A17_NAC_Alt_p.Enabled', true);
-- openspace.setPropertyValueSingle('Scene.Moon.Renderable.Layers.ColorLayers.A17_NAC_Alt_p.BlendMode', 0.000000);
-- openspace.setPropertyValueSingle('Scene.Moon.Renderable.Layers.ColorLayers.A17_station7.BlendMode', 0.000000);
-- openspace.setPropertyValueSingle('Scene.Moon.Renderable.Layers.HeightLayers.LRO_NAC_Apollo_11.Enabled', true);
-- openspace.setPropertyValueSingle('Scene.Moon.Renderable.Layers.ColorLayers.A11_M177481212_p_longlat.Enabled', true);
openspace.setPropertyValueSingle('Scene.Apollo11LemDescentModel.Renderable.RotationVector', { 273.750,28.0,309.85 });
openspace.setPropertyValueSingle('Scene.Apollo11LemLandedModel.Renderable.RotationVector', { 273.750,28.0,309.85 });
openspace.globebrowsing.goToGeo(moonAsset.Moon.Identifier, 20, -60, 15000000)
openspace.setPropertyValueSingle("Scene.Moon.Renderable.PerformShading", false)
end)
asset.onDeinitialize(function ()
openspace.removeInterestingNodes({
"Moon", "Apollo11Lem", "Apollo17Lem",
"Apollo11", "Apollo11LemPosition",
-- "Station_6_Fragment1", "Station_6_Fragments_2_3"
})
end)

View File

@@ -1,34 +0,0 @@
asset.require('./base')
local earthAsset = asset.require('scene/solarsystem/planets/earth/earth')
asset.require('scene/solarsystem/sssb/amor_asteroid')
asset.require('scene/solarsystem/sssb/apollo_asteroid')
asset.require('scene/solarsystem/sssb/aten_asteroid')
asset.require('scene/solarsystem/sssb/atira_asteroid')
asset.require('scene/solarsystem/sssb/centaur_asteroid')
asset.require('scene/solarsystem/sssb/chiron-type_comet')
asset.require('scene/solarsystem/sssb/encke-type_comet')
asset.require('scene/solarsystem/sssb/halley-type_comet')
asset.require('scene/solarsystem/sssb/inner_main_belt_asteroid')
asset.require('scene/solarsystem/sssb/jupiter_trojan_asteroid')
asset.require('scene/solarsystem/sssb/jupiter-family_comet')
asset.require('scene/solarsystem/sssb/main_belt_asteroid')
asset.require('scene/solarsystem/sssb/mars-crossing_asteroid')
asset.require('scene/solarsystem/sssb/outer_main_belt_asteroid')
asset.require('scene/solarsystem/sssb/transneptunian_object_asteroid')
asset.require('scene/solarsystem/sssb/pha')
asset.onInitialize(function ()
local now = openspace.time.currentWallTime()
-- Jump back one day to be able to show complete weather data on Earth.
openspace.time.setTime(openspace.time.advancedTime(now, "-1d"))
openspace.globebrowsing.goToGeo("Earth", 58.5877, 16.1924, 2.7e12)
openspace.markInterestingNodes({ "Earth", "Mars", "Moon", "Sun" })
end)
asset.onDeinitialize(function ()
openspace.removeInterestingNodes({ "Earth", "Mars", "Moon", "Sun" })
end)

View File

@@ -16,6 +16,8 @@ asset.require('scene/solarsystem/planets/mars/moons/phobos')
asset.require('scene/solarsystem/planets/mars/moons/deimos')
asset.require('scene/solarsystem/dwarf_planets/pluto/system')
asset.request('scene/milkyway/milkyway/volume')
asset.request('scene/milkyway/constellations/constellation_art')
asset.request('scene/milkyway/constellations/constellation_keybinds')
assetHelper.requestAll(asset, 'scene/digitaluniverse')
@@ -80,6 +82,8 @@ asset.onInitialize(function ()
sceneHelper.bindKeys(Keybindings)
openspace.setDefaultGuiSorting()
openspace.setPropertyValueSingle("RenderEngine.VerticalLogOffset", 0.100000)
openspace.globebrowsing.loadWMSServersFromFile(
openspace.absPath("${DATA}/globebrowsing_servers.lua")
)

View File

@@ -1,24 +0,0 @@
-- This is a base scene that is included in most other scenes to set up defaults
-- loading this scene directly without any other elements added on top of it will
-- probably not work
local assetHelper = asset.require('util/asset_helper')
local sceneHelper = asset.require('util/scene_helper')
local propertyHelper = asset.require('util/property_helper')
-- Specifying which other assets should be loaded in this scene
asset.require('spice/base')
-- Load default key bindings applicable to most scenes
asset.require('util/default_keybindings')
asset.require('util/default_dashboard')
asset.require('util/default_joystick')
-- Load web gui
asset.require('util/webgui')
asset.onInitialize(function ()
openspace.setDefaultGuiSorting()
openspace.globebrowsing.loadWMSServersFromFile(
openspace.absPath("${DATA}/globebrowsing_servers.lua")
)
end)

View File

@@ -1,18 +0,0 @@
#Version
1.0
#Asset
scene/solarsystem/missions/dawn/ceres required
scene/solarsystem/missions/dawn/dawn required
scene/solarsystem/missions/dawn/vesta required
#Time
absolute 2011 AUG 06 00:00:00
#Camera
setNavigationState "Dawn" 526781518487.171326, 257168309890.072144, -1381125204152.817383
#MarkNodes
Dawn
Ceres
Vesta

View File

@@ -1,21 +0,0 @@
asset.require('./base')
asset.require('scene/solarsystem/missions/dawn/ceres')
asset.require('scene/solarsystem/missions/dawn/dawn')
asset.require('scene/solarsystem/missions/dawn/vesta')
local DawnAsset = asset.require('scene/solarsystem/missions/dawn/dawn')
asset.onInitialize(function ()
openspace.time.setTime("2011 AUG 06 00:00:00")
openspace.markInterestingNodes({ "Dawn", "Ceres", "Vesta" })
openspace.navigation.setNavigationState({
Anchor = DawnAsset.Dawn.Identifier,
Position = { 526781518487.171326, 257168309890.072144, -1381125204152.817383 },
})
end)
asset.onDeinitialize(function ()
openspace.removeInterestingNodes({ "Dawn", "Ceres", "Vesta" })
end)

View File

@@ -1,21 +0,0 @@
#Version
1.0
#Asset
scene/solarsystem/planets/earth/earth required
scene/solarsystem/planets/earth/satellites/satellites required
#Property
setPropertyValue {earth_satellites}.Renderable.Enabled false
#Time
relative -1d
#Camera
goToGeo "Earth" 58.5877 16.1924 20000000
#MarkNodes
Earth
Mars
Moon
Sun

View File

@@ -1,20 +0,0 @@
asset.require('./base')
local earthAsset = asset.require('scene/solarsystem/planets/earth/earth')
asset.require('scene/solarsystem/planets/earth/satellites/satellites.asset')
asset.onInitialize(function ()
local now = openspace.time.currentWallTime()
-- Jump back one day to be able to show complete weather data on Earth.
openspace.time.setTime(openspace.time.advancedTime(now, "-1d"))
openspace.globebrowsing.goToGeo("Earth", 58.5877, 16.1924, 20000000)
openspace.markInterestingNodes({ "Earth", "Mars", "Moon", "Sun" })
openspace.setPropertyValue("{earth_satellites}.Renderable.Enabled", false)
end)
asset.onDeinitialize(function ()
openspace.removeInterestingNodes({ "Earth", "Mars", "Moon", "Sun" })
end)

View File

@@ -1,23 +0,0 @@
#Version
1.0
#Asset
scene/solarsystem/planets/earth/earth required
scene/solarsystem/planets/jupiter/minor_moons required
scene/solarsystem/planets/saturn/minor_moons required
scene/solarsystem/planets/uranus/minor_moons required
scene/solarsystem/planets/neptune/inner_moons required
scene/solarsystem/planets/neptune/irregular_prograde_moons required
scene/solarsystem/planets/neptune/irregular_retrograde_moons required
#Time
relative -1d
#Camera
goToGeo "Earth" 58.5877 16.1924 20000000
#MarkNodes
Earth
Mars
Moon
Sun

View File

@@ -1,7 +0,0 @@
asset.require('./default')
asset.require('scene/solarsystem/planets/jupiter/minor_moons')
asset.require('scene/solarsystem/planets/saturn/minor_moons')
asset.require('scene/solarsystem/planets/uranus/minor_moons')
asset.require('scene/solarsystem/planets/neptune/inner_moons')
asset.require('scene/solarsystem/planets/neptune/irregular_prograde_moons')
asset.require('scene/solarsystem/planets/neptune/irregular_retrograde_moons')

View File

@@ -0,0 +1,54 @@
local assetHelper = asset.require('util/asset_helper')
local scale = 3E11
local radialGrid = {
Identifier = "ExampleRadialGrid",
Parent = "Root",
Transform = {
Scale = {
Type = "StaticScale",
Scale = scale
}
},
Renderable = {
Type = "RenderableRadialGrid",
Opacity = 0.8,
GridColor = {0.6, 1.0, 0.7},
LineWidth = 3.0,
GridSegments = {3, 4},
InnerRadius = 0.2,
Enabled = false
},
GUI = {
Name = "Example Radial Grid",
Path = "/Examples/Grids"
}
}
local planarGrid = {
Identifier = "ExampleGrid",
Transform = {
Scale = {
Type = "StaticScale",
Scale = scale
}
},
Renderable = {
Type = "RenderableGrid",
GridColor = {0.0, 1.0, 0.8},
LineWidth = 2.0,
Segments = {5, 10},
Size = {1, 2},
Enabled = false
},
GUI = {
Name = "Example Grid",
Path = "/Examples/Grids"
}
}
assetHelper.registerSceneGraphNodesAndExport(asset, {
radialGrid,
planarGrid
})

View File

@@ -8,10 +8,10 @@ local ToyVolume = {
Parent = transforms.SolarSystemBarycenter.Identifier,
Renderable = {
Type = "RenderableToyVolume",
Size = {5, 5, 5},
Size = { 5, 5, 5 },
ScalingExponent = 11,
StepSize = 0.01,
Color = {1, 0, 0, 1}
Color = { 1, 0, 0 }
},
GUI = {
Path = "/Examples"

View File

@@ -1,22 +0,0 @@
#Version
1.0
#Module
Gaia openspace.printFatal('Could not load scene due to missing module "gaia"')
#Asset
scene/solarsystem/planets/earth/earth required
scene/milkyway/gaia/gaiastars required
scene/milkyway/gaia/apogee required
scene/milkyway/gaia/galah required
scene/solarsystem/missions/gaia/gaia required
scene/solarsystem/missions/gaia/trail required
#Property
setPropertyValueSingle Scene.Stars.Renderable.Enabled false
#Camera
setNavigationState "Earth" 1000000000000.0, 1000000000000.0, 1000000000000.0
#MarkNodes
Gaia

View File

@@ -1,46 +0,0 @@
local has_gaia = openspace.modules.isLoaded('Gaia')
if not has_gaia then
openspace.printFatal('Could not load scene "' .. asset.filePath .. '" due to missing module "gaia"')
do return end
end
asset.require('./base')
local assetHelper = asset.require('util/asset_helper')
-- Augment default scene with gaia data, 3D model and trail
asset.require('scene/milkyway/gaia/gaiastars')
asset.require('scene/milkyway/gaia/apogee')
asset.require('scene/milkyway/gaia/galah')
asset.require('scene/solarsystem/missions/gaia/gaia')
asset.require('scene/solarsystem/missions/gaia/trail')
assetHelper.registerDashboardItems(asset, {
{
Type = "DashboardItemDistance",
Identifier = "GaiaEarthDistance",
GuiName = "Gaia Earth Distance",
SourceType = "Node",
SourceNodeName = "Gaia",
DestinationType = "Node Surface",
DestinationNodeName = "Earth"
}
})
local earthAsset = asset.require('scene/solarsystem/planets/earth/earth')
asset.onInitialize(function ()
openspace.setPropertyValueSingle('Scene.Stars.Renderable.Enabled', false);
openspace.markInterestingNodes({ "Gaia" })
openspace.navigation.setNavigationState({
Anchor = earthAsset.Earth.Identifier,
Position = { 1000000000000.0, 1000000000000.0, 1000000000000.0 },
})
end)
asset.onDeinitialize(function ()
openspace.removeInterestingNodes({ "Gaia" })
end)

View File

@@ -1,87 +0,0 @@
asset.require('./base')
local sceneHelper = asset.require('util/scene_helper')
-- Keybindings that are specific for this scene
local Keybindings = {
{
Key = "i",
Command = "openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.HeightLayers.Mola_Utah.Settings.Offset', -469.300000);" ..
"openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.HeightLayers.OnMarsHiRISELS.Settings.Offset', -470.800006);" ..
"openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.ColorLayers.insight_ctx.Enabled', true);" ..
"openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.HeightLayers.OnMarsHiRISELS.Enabled', true);" ..
-- "openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.ColorLayers.insight_ctx.Settings.Gamma', 3.098590);" ..
-- "openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.ColorLayers.insight_ctx.Settings.Multiplier', 3.568080);" ..
"openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.ColorLayers.MOC_WA_Color_Utah.Settings.Multiplier', 2.816900);" ..
"openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.ColorLayers.OnMarsHiRISELS.Settings.Gamma', 0.938970);" ..
"openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.ColorLayers.MOC_WA_Color_Utah.Settings.Gamma', 2.394370);" ..
"openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.ColorLayers.OnMarsHiRISELS.Enabled', true);",
Documentation = "Setup Insight landing layers",
Name = "Setup Insight layers",
GuiPath = "/Missions/Insight",
Local = false
},
{
Key = "SHIFT+i",
Command = "openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.HeightLayers.Mola_Utah.Settings.Offset', 0);" ..
"openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.HeightLayers.OnMarsHiRISELS.Settings.Offset', 0);" ..
"openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.ColorLayers.insight_ctx.Enabled', false);" ..
"openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.HeightLayers.OnMarsHiRISELS.Enabled', false);" ..
"openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.ColorLayers.OnMarsHiRISELS.Enabled', false);",
-- "openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.ColorLayers.insight_ctx.Settings.Gamma', 1.0);" ..
-- "openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.ColorLayers.insight_ctx.Settings.Multiplier', 1.0);" ..
"openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.ColorLayers.MOC_WA_Color_Utah.Settings.Multiplier', 1.0);" ..
"openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.ColorLayers.OnMarsHiRISELS.Settings.Gamma', 1.0);" ..
"openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.ColorLayers.MOC_WA_Color_Utah.Settings.Gamma', 1.0);";
Documentation = "Undo Insight landing layers setup",
Name = "Unset Insight layers",
GuiPath = "/Missions/Insight",
Local = false
}
}
local insightAsset = asset.require('scene/solarsystem/missions/insight/edl')
asset.onInitialize(function ()
openspace.time.setTime("2018 NOV 26 19:39:03.68")
sceneHelper.bindKeys(Keybindings)
openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.HeightLayers.Mola_Utah.Settings.Offset', -469.300000);
openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.HeightLayers.OnMarsHiRISELS.Settings.Offset', -470.800006);
openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.HeightLayers.OnMarsHiRISELS.Enabled', true);
-- openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.ColorLayers.insight_ctx.Enabled', true);
-- openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.ColorLayers.insight_ctx.Settings.Gamma', 3.098590);
-- openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.ColorLayers.insight_ctx.Settings.Multiplier', 3.568080);
openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.ColorLayers.MOC_WA_Color_Utah.Settings.Multiplier', 2.81690);
openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.ColorLayers.OnMarsHiRISELS.Settings.Gamma', 0.938970);
openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.ColorLayers.MOC_WA_Color_Utah.Settings.Gamma', 2.394370);
openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.ColorLayers.OnMarsHiRISELS.Enabled', true);
openspace.markInterestingNodes({ "Insight" })
openspace.navigation.setNavigationState({
Anchor = insightAsset.Insight.Identifier,
Position = { 8.430115E0, -1.791710E1, 2.813660E0 },
ReferenceFrame = "Root",
Up = { 0.494659E0,0.357162E0,0.792306E0 },
})
end)
asset.onDeinitialize(function ()
sceneHelper.unbindKeys(Keybindings)
openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.HeightLayers.Mola_Utah.Settings.Offset', 0);
openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.HeightLayers.OnMarsHiRISELS.Settings.Offset', 0);
openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.HeightLayers.OnMarsHiRISELS.Enabled', false);
-- openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.ColorLayers.insight_ctx.Enabled', false);
-- openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.ColorLayers.insight_ctx.Settings.Gamma', 1.0);
-- openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.ColorLayers.insight_ctx.Settings.Multiplier', 1.0);
openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.ColorLayers.MOC_WA_Color_Utah.Settings.Multiplier', 1.0);
openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.ColorLayers.OnMarsHiRISELS.Settings.Gamma', 1.0);
openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.ColorLayers.MOC_WA_Color_Utah.Settings.Gamma', 1.0);
openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.ColorLayers.OnMarsHiRISELS.Enabled', false);
openspace.removeInterestingNodes({ "Insight" })
end)

View File

@@ -1,31 +0,0 @@
asset.request('./base')
local assetHelper = asset.require('util/asset_helper')
local sceneHelper = asset.require('util/scene_helper')
assetHelper.requireAll(asset, 'scene/solarsystem/missions/juno')
local junoAsset = asset.require('scene/solarsystem/missions/juno/juno')
asset.onInitialize(function ()
openspace.time.setTime("2016-07-01T10:05:00.00")
openspace.markInterestingNodes({ "Jupiter", "Juno" })
sceneHelper.setDeltaTimeKeys({
1, 5, 10, 20, 40, 90, 360, 720, 2880, 14400,
28800, 57600, 115200, 230400, 460800, 921600, 1843200, 3686400, 7372800, 14745600
})
openspace.navigation.setNavigationState({
Anchor = junoAsset.Juno.Identifier,
Position = { 1.243398E8, 7.176068E7, -1.519733E7 },
ReferenceFrame = "Root",
Up = { -0.377400E0, 0.764573E0, 0.522492E0 },
})
end)
asset.onDeinitialize(function ()
openspace.removeInterestingNodes({ "Jupiter", "Juno" })
end)

View File

@@ -1,46 +0,0 @@
asset.require('./base')
local assetHelper = asset.require('util/asset_helper')
local sceneHelper = asset.require('util/scene_helper')
local MessengerAsset = asset.require('scene/solarsystem/missions/messenger/messengerSC')
if not openspace.modules.isLoaded("Volume") then
openspace.printWarning("Volume module is not loaded, skipping asset: mercurymagnetosphere")
else
asset.require('scene/solarsystem/missions/messenger/mercurymagnetosphere')
end
assetHelper.registerDashboardItems(asset, {
{
Type = "DashboardItemDistance",
Identifier = "MessengerDistance",
GuiName = "Messenger - Mercury Distance",
SourceType = "Node",
SourceNodeName = "Messenger",
DestinationType = "Node",
DestinationNodeName = "Mercury"
}
})
asset.onInitialize(function ()
openspace.time.setTime("2011 MAY 13 00:05:18")
openspace.markInterestingNodes({ "Mercury", "Messenger", "Sun" })
sceneHelper.setDeltaTimeKeys({
1, 5, 10, 20, 40, 90, 360, 720, 2880, 14400,
28800, 57600, 115200, 230400, 460800, 921600, 1843200, 3686400, 7372800, 14745600
})
openspace.navigation.setNavigationState({
Anchor = "Mercury",
Position = { 2.423690E11, 1.979038E11, -2.241483E10 },
ReferenceFrame = "Root",
Up = { -0.492046E0, 0.666088E0, 0.560551E0 }
})
end)
asset.onDeinitialize(function ()
openspace.removeInterestingNodes({ "Mercury", "Messenger", "Sun" })
end)

View File

@@ -1,274 +0,0 @@
asset.require('./base');
asset.require('scene/solarsystem/missions/newhorizons/newhorizons')
local NewHorizonsAsset = asset.require('scene/solarsystem/missions/newhorizons/model')
local assetHelper = asset.require('util/asset_helper')
local propertyHelper = asset.require('util/property_helper')
local sceneHelper = asset.require('util/scene_helper')
local renderableHelper = asset.require('util/renderable_helper')
local Keybindings = {
{
Key = "a",
Command = "openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.Anchor', 'NewHorizons');" ..
"openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.Aim', '');" ..
"openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.RetargetAnchor', nil)",
Documentation = "Sets the focus of the camera on 'NewHorizons'.",
Name = "Focus on New Horizons",
GuiPath = "/New Horizons",
Local = false
},
{
Key = "SHIFT+a",
Command = "openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.Anchor', 'NewHorizons');" ..
"openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.Aim', 'Pluto');" ..
"openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.RetargetAnchor', nil)",
Documentation = "Sets the focus of the camera on 'NewHorizons'.",
Name = "Anchor at New Horizons, Aim at Pluto",
GuiPath = "/New Horizons",
Local = false
},
{
Key = "s",
Command = "openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.Anchor', 'Pluto');"..
"openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.Aim', '');" ..
"openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.RetargetAnchor', nil)",
Documentation = "Sets the focus of the camera on 'Pluto'",
Name = "Focus on Pluto",
GuiPath = "/New Horizons",
Local = false
},
{
Key = "d",
Command = "openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.Anchor', 'Charon');"..
"openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.Aim', '');" ..
"openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.RetargetAnchor', nil)",
Documentation = "Sets the focus of the camera on 'Charon'.",
Name = "Focus on New Charon",
GuiPath = "/New Horizons",
Local = false
},
{
Key = "F7",
Command =
[[local enabled = openspace.getPropertyValue('Scene.PlutoProjection.Renderable.ProjectionComponent.PerformProjection')
openspace.setPropertyValue('Scene.PlutoProjection.Renderable.ProjectionComponent.PerformProjection', not enabled)
openspace.setPropertyValue('Scene.CharonProjection.Renderable.ProjectionComponent.PerformProjection', not enabled)
openspace.setPropertyValueSingle("Dashboard.NewHorizonsInstruments.Enabled", not enabled)]],
Documentation = "Toggles New Horizons image projection.",
Name = "Toggle NH Image Projection",
GuiPath = "/New Horizons",
Local = false
},
{
Key = "F8",
Command = "openspace.setPropertyValue('Scene.PlutoProjection.Renderable.ProjectionComponent.ClearAllProjections', true);" ..
"openspace.setPropertyValue('Scene.CharonProjection.Renderable.ProjectionComponent.ClearAllProjections', true);",
Documentation = "Removes all image projections from Pluto and Charon.",
Name = "Clear image projections",
GuiPath = "/New Horizons",
Local = false
},
{
Key = "F9",
Command = "openspace.time.setTime('2015-07-14T09:00:00.00');" ..
"openspace.setPropertyValue('Scene.PlutoProjection.Renderable.ProjectionComponent.ClearAllProjections', true);" ..
"openspace.setPropertyValue('Scene.CharonProjection.Renderable.ProjectionComponent.ClearAllProjections', true);",
Documentation = "Jumps to the 14th of July 2015 at 0900 UTC and clears all projections.",
Name = "Reset time and projections",
GuiPath = "/New Horizons",
Local = false
},
{
Key = "KP_8",
Command = propertyHelper.increment('Scene.PlutoProjection.Renderable.HeightExaggeration', 5000),
Documentation = "Increases the height map exaggeration on Pluto.",
Name = "Pluto HeightExaggeration +",
GuiPath = "/New Horizons",
Local = false
},
{
Key = "CTRL+I",
Command = propertyHelper.increment('Scene.PlutoProjection.Renderable.HeightExaggeration', 5000),
Documentation = "Increases the height map exaggeration on Pluto.",
Name = "Pluto HeightExaggeration +",
GuiPath = "/New Horizons",
Local = false
},
{
Key = "KP_2",
Command = propertyHelper.decrement('Scene.PlutoProjection.Renderable.HeightExaggeration', 5000),
Documentation = "Decreases the height map exaggeration on Pluto.",
Name = "Pluto HeightExaggeration -",
GuiPath = "/New Horizons",
Local = false
},
{
Key = "CTRL+K",
Command = propertyHelper.decrement('Scene.PlutoProjection.Renderable.HeightExaggeration', 5000),
Documentation = "Decreases the height map exaggeration on Pluto.",
Name = "Pluto HeightExaggeration -",
GuiPath = "/New Horizons",
Local = false
},
{
Key = "KP_9",
Command = propertyHelper.increment('Scene.CharonProjection.Renderable.HeightExaggeration', 5000),
Documentation = "Increases the height map exaggeration on Charon.",
Name = "Charon HeightExaggeration +",
GuiPath = "/New Horizons",
Local = false
},
{
Key = "CTRL+O",
Command = propertyHelper.increment('Scene.CharonProjection.Renderable.HeightExaggeration', 5000),
Documentation = "Increases the height map exaggeration on Charon.",
Name = "Charon HeightExaggeration +",
GuiPath = "/New Horizons",
Local = false
},
{
Key = "KP_3",
Command = propertyHelper.decrement('Scene.CharonProjection.Renderable.HeightExaggeration', 5000),
Documentation = "Decreases the height map exaggeration on Charon.",
Name = "Charon HeightExaggeration -",
GuiPath = "/New Horizons",
Local = false
},
{
Key = "CTRL+L",
Command = propertyHelper.decrement('Scene.CharonProjection.Renderable.HeightExaggeration', 5000),
Documentation = "Decreases the height map exaggeration on Charon.",
Name = "Charon HeightExaggeration -",
GuiPath = "/New Horizons",
Local = false
},
{
Key = "o",
Command = propertyHelper.invert('Scene.PlutoBarycentricTrail.Renderable.Enabled'),
Documentation = "Toggles the visibility of the trail behind Pluto.",
Name = "Toggle Pluto Trail",
GuiPath = "/New Horizons",
Local = false
},
{
Key = "j",
Command = renderableHelper.toggle('Scene.PlutoText') .. renderableHelper.toggle('Scene.CharonText') ..
renderableHelper.toggle('Scene.HydraText') .. renderableHelper.toggle('Scene.NixText') ..
renderableHelper.toggle('Scene.KerberosText') .. renderableHelper.toggle('Scene.StyxText'),
Documentation = "Toggles the visibility of the text labels of Pluto, Charon, Hydra, Nix, Kerberos, and Styx.",
Name = "Toggle Pluto Labels",
GuiPath = "/New Horizons",
Local = false
},
{
Key = "l",
Command = propertyHelper.fadeInOut('Scene.Labels.Renderable.Opacity', 2.0),
Documentation = "Toggles the visibility of the labels for the New Horizons instruments.",
Name = "Toggle New Horizons Labels",
GuiPath = "/New Horizons",
Local = false
},
{
Key = "m",
Command = propertyHelper.invert('Scene.NH_LORRI.Renderable.SolidDraw') ..
propertyHelper.invert('Scene.NH_RALPH_LEISA.Renderable.SolidDraw') ..
propertyHelper.invert('Scene.NH_RALPH_MVIC_PAN1.Renderable.SolidDraw') ..
propertyHelper.invert('Scene.NH_RALPH_MVIC_PAN2.Renderable.SolidDraw') ..
propertyHelper.invert('Scene.NH_RALPH_MVIC_RED.Renderable.SolidDraw') ..
propertyHelper.invert('Scene.NH_RALPH_MVIC_BLUE.Renderable.SolidDraw') ..
propertyHelper.invert('Scene.NH_RALPH_MVIC_FT.Renderable.SolidDraw') ..
propertyHelper.invert('Scene.NH_RALPH_MVIC_METHANE.Renderable.SolidDraw') ..
propertyHelper.invert('Scene.NH_RALPH_MVIC_NIR.Renderable.SolidDraw') ..
propertyHelper.invert('Scene.NH_ALICE_AIRGLOW.Renderable.SolidDraw') ..
propertyHelper.invert('Scene.NH_ALICE_SOC.Renderable.SolidDraw'),
Documentation = "Draws the instrument field of views in a solid color or as lines.",
Name = "Toggle instrument FOVs",
GuiPath = "/New Horizons",
Local = false
},
{
Key = "Shift+t",
Command = renderableHelper.toggle('Scene.PlutoShadow') .. renderableHelper.toggle('Scene.CharonShadow'),
Documentation = "Toggles the visibility of the shadow visualization of Pluto and Charon.",
Name = "Toggle Shadows",
GuiPath = "/New Horizons",
Local = false
},
{
Key = "t",
Command = renderableHelper.toggle('Scene.NewHorizonsTrailPluto'),
Documentation = "Toggles the trail of New Horizons.",
Name = "Toggle NH Trail",
GuiPath = "/New Horizons",
Local = false
},
{
Key = "h",
Name="Hide Trails",
Command = "local list = openspace.getProperty('*Trail.Renderable.Enabled'); for _,v in pairs(list) do openspace.setPropertyValueSingle(v, not openspace.getPropertyValue(v)) end",
Documentation = "Disables visibility of the trails",
GuiPath = "/Rendering",
Local = false
},
}
assetHelper.registerDashboardItems(asset, {
{
Type = "DashboardItemSpacing",
Identifier = "NewHorizonsSpacing",
GuiName = "New Horizons Spacing",
Spacing = 25
},
{
Type = "DashboardItemDistance",
Identifier = "NewHorizonsPlutoDistance",
GuiName = "New Horizons Pluto Distance",
SourceType = "Node",
SourceNodeName = "NewHorizons",
DestinationType = "Node Surface",
DestinationNodeName = "PlutoProjection"
},
{
Type = "DashboardItemInstruments",
Identifier = "NewHorizonsInstruments",
GuiName = "NewHorizons Instruments",
}
})
asset.onInitialize(function ()
openspace.time.setTime("2015-07-14T08:00:00.00")
sceneHelper.bindKeys(Keybindings)
openspace.markInterestingNodes({ "Pluto", "NewHorizons", "Charon" })
sceneHelper.setDeltaTimeKeys({
1, 5, 10, 20, 40, 60, 120, 360, 540, 1080,
2160, 4320, 8640
})
openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.FollowAnchorNodeRotationDistance', 20.000000);
openspace.setPropertyValueSingle('Scene.Pluto.Renderable.Enabled', false)
openspace.setPropertyValueSingle('Scene.Charon.Renderable.Enabled', false)
openspace.setPropertyValueSingle("Scene.PlutoBarycenterTrail.Renderable.Enabled", false)
openspace.navigation.setNavigationState({
Anchor = "NewHorizons",
ReferenceFrame = "Root",
Position = { -6.572656E1, -7.239404E1, -2.111890E1 },
Up = { 0.102164, -0.362945, 0.926193 }
})
end)
asset.onDeinitialize(function ()
sceneHelper.unbindKeys(Keybindings)
openspace.removeInterestingNodes({ "Pluto", "NewHorizons", "Charon" })
openspace.setPropertyValueSingle('Scene.Pluto.Renderable.Enabled', true)
openspace.setPropertyValueSingle('Scene.Charon.Renderable.Enabled', true)
openspace.setPropertyValueSingle('Scene.PlutoBarycenterTrail.Renderable.Enabled', true)
end)

View File

@@ -1,147 +0,0 @@
asset.require('./base')
local assetHelper = asset.require('util/asset_helper')
local sceneHelper = asset.require('util/scene_helper')
local propertyHelper = asset.require('util/property_helper')
asset.require('scene/solarsystem/missions/osirisrex/osirisrex')
-- Custom Keybindings
local Keybindings = {
{
Key = "a",
Command = "openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.Anchor', 'OsirisRex')" ..
"openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.Aim', '');" ..
"openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.RetargetAnchor', nil)",
Documentation = "Sets the focus of the camera on 'OsirisRex'.",
Name = "Focus on OsirisRex",
GuiPath = "/Missions/Osiris Rex",
Local = false
},
{
Key = "s",
Command = "openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.Anchor', 'BennuBarycenter')" ..
"openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.Aim', '');" ..
"openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.RetargetAnchor', nil)",
Documentation = "Sets the focus of the camera on 'Bennu'",
Name = "Focus on Bennu",
GuiPath = "/Missions/Osiris Rex",
Local = false
},
-- TODO
-- Maybe these can be fixed later
-- {
-- Key = "F6",
-- Command = "openspace.printInfo('Set time: Launch');openspace.time.setTime('2016 SEP 08 23:05:00');",
-- Documentation = "Sets the time to the launch of Osiris Rex.",
-- Name = "Set launch time",
-- GuiPath = "/Missions/Osiris Rex",
-- Local = false
-- },
-- {
-- Key = "F7",
-- Command = "openspace.printInfo('Set time: Gravity Assist');openspace.time.setTime('2017 SEP 22 15:00:00');",
-- Documentation = "Sets the time to the Earth gravity assist.",
-- Name = "Set Earth gravity assist time",
-- GuiPath = "/Missions/Osiris Rex",
-- Local = false
-- },
{
Key = "F8",
Command = "openspace.printInfo('Set time: Approach');openspace.time.setTime('2018-SEP-11 21:31:01.183');",
Documentation = "Sets the time to the approach at Bennu.",
Name = "Set Bennu approach time",
GuiPath = "/Missions/Osiris Rex",
Local = false
},
{
Key = "F9",
Command = "openspace.printInfo('Set time: Preliminary Survey');openspace.time.setTime('2018-NOV-20 01:13:12.183');",
Documentation = "Sets the time to the preliminary survey of Bennu.",
Name = "Set Bennu survey time",
GuiPath = "/Missions/Osiris Rex",
Local = false
},
{
Key = "F10",
Command = "openspace.printInfo('Set time: Orbital B');openspace.time.setTime('2019-APR-08 10:35:27.186');",
Documentation = "Sets the time to the orbital B event.",
Name = "Set orbital B event time",
GuiPath = "/Missions/Osiris Rex",
Local = false
},
{
Key = "F11",
Command = "openspace.printInfo('Set time: Recon');openspace.time.setTime('2019-MAY-25 03:50:31.195');",
Documentation = "Sets the time to the recon event.",
Name = "Set recon event time",
GuiPath = "/Missions/Osiris Rex",
Local = false
},
{
Key = "q",
Command = propertyHelper.invert('Scene.SunMarker.Renderable.Enabled'),
Documentation = "Toggles the visibility of the text marking the location of the Sun.",
Name = "Toggle Sun marker",
GuiPath = "/Missions/Osiris Rex",
Local = false
},
-- {
-- Key = "e",
-- Command = propertyHelper.invert('Scene.EarthMarker.Renderable.Enabled'),
-- Documentation = "Toggles the visibility of the text marking the location of the Earth.",
-- Name = "Toggle Earth marker",
-- GuiPath = "/Missions/Osiris Rex",
-- Local = false
-- }
}
local OsirisRexAsset = asset.require('scene/solarsystem/missions/osirisrex/model')
assetHelper.registerDashboardItems(asset, {
{
Type = "DashboardItemSpacing",
Identifier = "OsirisRexSpacing",
GuiName = "OSIRIS-REx Spacing",
Spacing = 25
},
{
Type = "DashboardItemDistance",
Identifier = "OsirisRexBennuDistance",
GuiName = "OSIRIS-REx Bennu Distance",
SourceType = "Node",
SourceNodeName = "OsirisRex",
DestinationType = "Node",
DestinationNodeName = "BennuBarycenter"
},
{
Type = "DashboardItemInstruments",
Identifier = "OsirisRexInstruments",
GuiName = "OSIRIS-REx Instruments",
}
})
asset.onInitialize(function ()
openspace.time.setTime("2018 10 30 23:00:00.500")
sceneHelper.bindKeys(Keybindings)
sceneHelper.setDeltaTimeKeys({
1, 5, 10, 20, 40, 60, 120, 360, 540, 1080,
2160, 4320, 8640
})
openspace.markInterestingNodes({ "OsirisRex", "BennuBarycenter", "Earth" })
openspace.navigation.setNavigationState({
Anchor = OsirisRexAsset.OsirisRex.Identifier,
Position = { 26974590199.661884, 76314608558.908020, -127086452897.101791 }
})
end)
asset.onDeinitialize(function ()
sceneHelper.unbindKeys(Keybindings)
openspace.removeInterestingNodes({ "OsirisRex", "BennuBarycenter", "Earth" })
end)

View File

@@ -1,152 +0,0 @@
asset.require('./base')
local assetHelper = asset.require('util/asset_helper')
local sceneHelper = asset.require('util/scene_helper')
local propertyHelper = asset.require('util/property_helper')
local renderableHelper = asset.require('util/renderable_helper')
asset.require('scene/solarsystem/missions/rosetta/67p')
asset.require('scene/solarsystem/missions/rosetta/rosetta')
-- Custom Keybindings
local Keybindings = {
{
Key = "a",
Command = "openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.Anchor', '67P');" ..
"openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.Aim', '');" ..
"openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.RetargetAnchor', nil)",
Documentation = "Sets the focus of the camera on '67P'.",
Name = "Focus on 67P",
GuiPath = "/Missions/Rosetta",
Local = false
},
{
Key = "s",
Command = "openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.Anchor', 'Rosetta');" ..
"openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.Aim', '');" ..
"openspace.setPropertyValue('NavigationHandler.OrbitalNavigator.RetargetAnchor', nil)",
Documentation = "Sets the focus of the camera on 'Rosetta'",
Name = "Focus on Rosetta",
GuiPath = "/Missions/Rosetta",
Local = false
},
{
Key = "Shift+F6",
Command = "openspace.time.setTime('2014-08-01T03:05:18.10')",
Documentation = "Jumps to the time of initial approach of Rosetta to 67P.",
Name = "Set initial approach time",
GuiPath = "/Missions/Rosetta",
Local = false
},
{
Key = "F6",
Command = "openspace.time.setTime('2014-11-12T08:20:00.00')",
Documentation = "Jumps to the time when the Philae lander is released.",
Name = "Set lander release time",
GuiPath = "/Missions/Rosetta",
Local = false
},
{
Key = "F8",
Command = "openspace.setPropertyValue('Scene.67P.Renderable.ProjectionComponent.ClearAllProjections', true)",
Documentation = "Removes all image projections from 67P.",
Name = "Clear 67P projections",
GuiPath = "/Missions/Rosetta",
Local = false
},
-- {
-- Key = "q",
-- Command = propertyHelper.invert('Scene.SunMarker.Renderable.Enabled'),
-- Documentation = "Toggles the visibility of the text marking the location of the Sun.",
-- Name = "Toggle Sun marker",
-- GuiPath = "/Missions/Rosetta",
-- Local = false
-- },
{
Key = "e",
Command = renderableHelper.toggle('Scene.JupiterTrail') .. renderableHelper.toggle('Scene.SaturnTrail') ..
renderableHelper.toggle('Scene.UranusTrail') .. renderableHelper.toggle('Scene.NeptuneTrail'),
Documentation = "Toggles the visibility of all trails further from the Sun than 67P.",
Name = "Toggle outer planetary trails",
GuiPath = "/Missions/Rosetta",
Local = false
},
{
Key = "i",
Command = renderableHelper.toggle('Scene.ImagePlaneRosetta'),
Documentation = "Toggles the visibility of the free floating image plane.",
Name = "Toggle image plane",
GuiPath = "/Missions/Rosetta",
Local = false
},
{
Key = "o",
Command = renderableHelper.toggle('Scene.PhilaeTrail'),
Documentation = "Toggles the visibility of Philae's trail.",
Name = "Toggle Philae trail",
GuiPath = "/Missions/Rosetta",
Local = false
},
{
Key = "p",
Command = propertyHelper.invert('Scene.67P.Renderable.ProjectionComponent.PerformProjection'),
Documentation = "Enables or disables the image projection on 67P.",
Name = "Toggle 67P projection",
GuiPath = "/Missions/Rosetta",
Local = false
}
}
local Comet67PAsset = asset.require('scene/solarsystem/missions/rosetta/67p')
assetHelper.registerDashboardItems(asset, {
{
Type = "DashboardItemSpacing",
Identifier = "RosettaSpacing",
GuiName = "Rosetta Spacing",
Spacing = 25
},
{
Type = "DashboardItemDistance",
Identifier = "Rosetta67PDistance",
GuiName = "Rosetta 67P Distance",
SourceType = "Node",
SourceNodeName = "Rosetta",
DestinationType = "Node",
DestinationNodeName = "67P"
},
{
Type = "DashboardItemInstruments",
Identifier = "RosettaInstruments",
GuiName = "Rosetta Instruments",
}
})
asset.onInitialize(function ()
openspace.time.setTime("2014-08-01T03:05:00.000")
sceneHelper.bindKeys(Keybindings)
openspace.markInterestingNodes({ "67P", "Rosetta", "Philae" })
sceneHelper.setDeltaTimeKeys({
1, 5, 10, 20, 40, 90, 360, 720, 2880, 14400,
28800, 57600, 115200, 230400, 460800, 921600, 1843200, 3686400, 7372800, 14745600
})
openspace.navigation.setNavigationState({
Anchor = Comet67PAsset.Comet67P.Identifier,
ReferenceFrame = "Root",
Position = { -7.294781E5 , -6.657894E5, 2.509047E6 },
Up = { 0.146529E0, 0.944727E0, 0.293290E0 }
})
openspace.setPropertyValue('Scene.67P.Renderable.PerformShading', false);
openspace.setPropertyValue('Scene.ImagePlaneRosetta.Renderable.Enabled', false);
end)
asset.onDeinitialize(function ()
sceneHelper.unbindKeys(Keybindings)
openspace.removeInterestingNodes({ "67P", "Rosetta", "Philae" })
end)

View File

@@ -27,7 +27,7 @@ local object = {
File = speck .. "/abell.speck",
Texture = textures .. "/point3A.png",
LabelFile = speck .. "/abell.label",
TextColor = { 0.0, 0.8, 0.0, 1.0 },
TextColor = { 0.0, 0.8, 0.0 },
TextSize = 22,
TextMinSize = 10.0,
Unit = "Mpc",

View File

@@ -17,7 +17,7 @@ local object = {
Color = { 1.0, 1.0, 1.0 },
Opacity = 0.65,
LabelFile = speck .. "/stars-altlbl.label",
TextColor = { 0.4, 0.4, 0.4, 1.0 },
TextColor = { 0.4, 0.4, 0.4 },
DrawLabels = true,
TextSize = 14.7,
TextMinSize = 6.0,

View File

@@ -17,7 +17,7 @@ local object = {
Color = { 1.0, 1.0, 1.0 },
Opacity = 0.65,
LabelFile = speck .. "/galclust.label",
TextColor = { 1.0, 0.44, 0.0, 1.0 },
TextColor = { 1.0, 0.44, 0.0 },
DrawLabels = true,
TextSize = 22,
TextMinSize = 8.0,

View File

@@ -14,12 +14,11 @@ local constellationsExtragalactic = {
Renderable = {
Type = "RenderableDUMeshes",
Enabled = false,
Color = { 1.0, 0.4, 0.2 },
Transparency = 1.0,
ScaleFactor = 1.0,
Opacity = 0.4,
File = speck .. "/constellationsEXGAL.speck",
LabelFile = speck .. "/constellationsEXGAL.label",
TextColor = { 0.8, 0.8, 0.8, 1.0 },
TextColor = { 0.8, 0.8, 0.8 },
TextOpacity = 0.4,
TextSize = 20.0,
TextMinSize = 20.0,
TextMaxSize = 30.0,
@@ -37,12 +36,11 @@ local constellations = {
Renderable = {
Type = "RenderableDUMeshes",
Enabled = false,
Color = { 1.0, 0.4, 0.2 },
Transparency = 1.0,
ScaleFactor = 1.0,
Opacity = 0.3,
File = speck .. "/constellations.speck",
LabelFile = speck .. "/constellations.label",
TextColor = { 0.8, 0.8, 0.8, 1.0 },
TextColor = { 0.8, 0.8, 0.8 },
TextOpacity = 0.3,
TextSize = 14.5,
TextMaxSize = 170.0,
TextMinSize = 8.0,

View File

@@ -30,7 +30,7 @@ local deepSkyPoints = {
--ColorOption = { "prox5Mpc" },
--ColorRange = { { 1.0, 30.0 } },
LabelFile = speck .. "/dso.label",
TextColor = { 0.1, 0.4, 0.6, 1.0 },
TextColor = { 0.1, 0.4, 0.6 },
TextSize = 20.50,
TextMinSize = 16.0,
Unit = "Mpc",
@@ -43,6 +43,12 @@ local deepSkyPoints = {
--CorrectionSizeFactor = 10.45
EnablePixelSizeControl = true
},
Transform = {
Rotation = {
Type = "StaticRotation",
Rotation = { 0, 0, 3.14159265359 }
}
},
GUI = {
Name = "Deep Sky Objects Points",
Path = "/Universe/Galaxies"
@@ -55,7 +61,7 @@ local deepSkyImages = {
Type = "RenderablePlanesCloud",
Enabled = false,
Color = { 1.0, 1.0, 1.0 },
Transparency = 0.99,
Opacity = 0.99,
ScaleFactor = 1.0,
File = speck .. "/dso.speck",
TexturePath = textures,
@@ -66,6 +72,12 @@ local deepSkyImages = {
--FadeInDistances = {0.001, 0.05010},
PlaneMinSize = 5.0
},
Transform = {
Rotation = {
Type = "StaticRotation",
Rotation = {3.14159265359, 3.14159265359, 0 }
}
},
GUI = {
Name = "Deep Sky Objects Images",
Path = "/Universe/Galaxies"

View File

@@ -29,7 +29,7 @@ local object = {
ColorMap = speck .. "/dwarfs.cmap",
ColorOption = { "typeindex" },
--ColorRange = { { 1.0, 4.0} },
TextColor = { 0.5, 0.1, 0.2, 1.0 },
TextColor = { 0.5, 0.1, 0.2 },
TextSize = 14.6,
TextMinSize = 10.0,
ScaleFactor = 370,

View File

@@ -28,7 +28,7 @@ local object = {
File = speck .. "/expl.speck",
LabelFile = speck .. "/expl.label",
ScaleFactor = 392.5,
TextColor = { 0.3, 0.3, 0.8, 1.0 },
TextColor = { 0.3, 0.3, 0.8 },
TextSize = 14.8,
TextMaxSize = 200.0,
TextMinSize = 10.0,

View File

@@ -22,18 +22,18 @@ local object = {
Type = "RenderableBillboardsCloud",
Enabled = false,
Color = { 0.8, 0.8, 0.0 },
Opacity = 1.0,
Opacity = 0.4,
File = speck .. "/gc.speck",
Texture = textures .. "/point4.png",
PolygonSides = 5,
LabelFile = speck .. "/gc.label",
TextColor = { 0.5, 0.5, 0.0, 1.0 },
ScaleFactor = 440.0,
TextSize = 18.6,
TextMinSize = 10.0,
TextMaxSize = 14.4,
TextColor = { 0.5, 0.5, 0.0 },
ScaleFactor = 431.0,
TextSize = 16.7,
TextMinSize = 4.0,
TextMaxSize = 20,
Unit = "pc",
BillboardMaxSize = 13.5,
BillboardMaxSize = 500,
EnablePixelSizeControl = true,
},
GUI = {

View File

@@ -2,6 +2,17 @@ local assetHelper = asset.require('util/asset_helper')
local transforms = asset.require('scene/solarsystem/sun/transforms')
local earth_transforms = asset.require('scene/solarsystem/planets/earth/transforms')
local equatorialRotationMatrix = {
-0.05487554, 0.4941095, -0.8676661,
-0.8734371 , -0.4448296, -0.1980764,
-0.483835 , 0.7469823, 0.4559838
}
local eclipticRotationMatrix = {
-0.05487554, 0.4941095, -0.8676661,
-0.9938214 , -0.1109906, -0.0003515167,
-0.09647644, 0.8622859, 0.4971472
}
local speck = asset.syncedResource({
Name = "Grids Speck Files",
@@ -19,17 +30,18 @@ local radio = {
-- First TV signals strong enough to leave the ionosphere
ReferenceDate = "1936 AUG 01 12:00:00",
Speed = 299792458 -- c
},
Rotation = {
Type = "StaticRotation",
Rotation = equatorialRotationMatrix
}
},
Renderable = {
Type = "RenderableSphericalGrid",
Enabled = false,
GridColor = { 0.3, 0.84, 1.0, 0.3},
LineWidth = 2.0,
GridMatrix = { -0.05487554, 0.4941095, -0.8676661 , 0.0,
-0.9938214 , -0.1109906, -0.0003515167, 0.0,
-0.09647644, 0.8622859, 0.4971472 , 0.0,
0.0 , 0.0 , 0.0 , 1.0 }
Opacity = 1.0,
GridColor = { 0.3, 0.84, 1.0 },
LineWidth = 2.0
},
GUI = {
Name = "Radio Sphere",
@@ -43,18 +55,19 @@ local oort = {
Transform = {
Scale = {
Type = "StaticScale",
Scale = 7.47989845E15;
Scale = 7.47989845E15
},
Rotation = {
Type = "StaticRotation",
Rotation = eclipticRotationMatrix
}
},
Renderable = {
Type = "RenderableSphericalGrid",
Enabled = false,
GridColor = { 0.8, 0.4, 0.4, 0.25},
LineWidth = 2.0,
GridMatrix = { -0.05487554, 0.4941095, -0.8676661 , 0.0,
-0.9938214 , -0.1109906, -0.0003515167, 0.0,
-0.09647644, 0.8622859, 0.4971472 , 0.0,
0.0 , 0.0 , 0.0 , 1.0 }
Opacity = 0.8,
GridColor = { 0.8, 0.4, 0.4 },
LineWidth = 2.0
},
GUI = {
Name = "Oort Sphere",
@@ -68,18 +81,19 @@ local ecliptic = {
Transform = {
Scale = {
Type = "StaticScale",
Scale = 9.46377307652E17;
Scale = 9.46377307652E17
},
Rotation = {
Type = "StaticRotation",
Rotation = eclipticRotationMatrix
}
},
Renderable = {
Type = "RenderableSphericalGrid",
Enabled = false,
GridColor = { 0.74, 0.26, 0.26, 0.5},
LineWidth = 2.0,
GridMatrix = { -0.05487554, 0.4941095, -0.8676661 , 0.0,
-0.9938214 , -0.1109906, -0.0003515167, 0.0,
-0.09647644, 0.8622859, 0.4971472 , 0.0,
0.0 , 0.0 , 0.0 , 1.0 }
Opacity = 1.0,
GridColor = { 0.74, 0.26, 0.26 },
LineWidth = 2.0
},
GUI = {
Name = "Ecliptic Sphere",
@@ -90,24 +104,24 @@ local ecliptic = {
local eclipticLabels = {
Identifier = "EclipticSphereLabels",
Parent = transforms.SolarSystemBarycenter.Name,
Transform = {
Rotation = {
Type = "StaticRotation",
Rotation = eclipticRotationMatrix
}
},
Renderable = {
Type = "RenderableBillboardsCloud",
Enabled = false,
Color = { 1.0, 1.0, 1.0 },
Transparency = 0.65,
Opacity = 0.65,
LabelFile = speck .. "/eclip.label",
DrawLabels = true,
TextColor = { 0.5, 0.5, 0.5, 1.0 },
TextColor = { 0.5, 0.5, 0.5 },
TextSize = 14.75,
TextMinSize = 1.3,
TextMaxSize = 50.0,
Unit = "pc",
TransformationMatrix = {
-0.05487554, 0.4941095, -0.8676661, 0.0,
-0.9938214 , -0.1109906, -0.0003515167, 0.0,
-0.09647644, 0.8622859, 0.4971472, 0.0,
0.0, 0.0, 0.0, 1.0
}
},
GUI = {
Name = "Ecliptic Sphere Labels",
@@ -122,17 +136,18 @@ local equatorial = {
Scale = {
Type = "StaticScale",
Scale = 4.28601E17;
},
Rotation = {
Type = "StaticRotation",
Rotation = equatorialRotationMatrix
}
},
Renderable = {
Type = "RenderableSphericalGrid",
Enabled = false,
GridColor = { 0.69, 0.68, 0.29, 0.8},
LineWidth = 2.0,
GridMatrix = { -0.05487554, 0.4941095, -0.8676661, 0.0,
-0.8734371 , -0.4448296, -0.1980764, 0.0,
-0.483835 , 0.7469823, 0.4559838, 0.0,
0.0 , 0.0 , 0.0 , 1.0 },
Opacity = 0.8,
GridColor = { 0.69, 0.68, 0.29 },
LineWidth = 2.0
},
GUI = {
Name = "Equatorial Sphere",
@@ -143,24 +158,24 @@ local equatorial = {
local equatorialLabels = {
Identifier = "EquatorialSphereLabels",
Parent = transforms.SolarSystemBarycenter.Name,
Transform = {
Rotation = {
Type = "StaticRotation",
Rotation = equatorialRotationMatrix
}
},
Renderable = {
Type = "RenderableBillboardsCloud",
Enabled = false,
Color = { 1.0, 1.0, 1.0 },
Transparency = 0.65,
Opacity = 0.65,
LabelFile = speck .. "/radec.label",
DrawLabels = true,
TextColor = { 0.5, 0.5, 0.5, 1.0 },
TextColor = { 0.5, 0.5, 0.5 },
TextSize = 14.5,
TextMinSize = 1.7,
TextMaxSize = 70.0,
Unit = "pc",
TransformationMatrix = {
-0.05487554, 0.4941095, -0.8676661, 0.0,
-0.8734371 , -0.4448296, -0.1980764, 0.0,
-0.483835 , 0.7469823, 0.4559838, 0.0,
0.0 , 0.0 , 0.0 , 1.0
}
},
GUI = {
Name = "Equatorial Sphere Labels",
@@ -181,7 +196,8 @@ local galactic = {
Type = "RenderableSphericalGrid",
Enabled = false,
LineWidth = 2.0,
GridColor = { 0.0, 0.6, 0.6, 0.6}
Opacity = 1.0,
GridColor = { 0.0, 0.6, 0.6 }
},
GUI = {
Name = "Galactic Sphere",
@@ -196,10 +212,10 @@ local galacticLabels = {
Type = "RenderableBillboardsCloud",
Enabled = false,
Color = { 1.0, 1.0, 1.0 },
Transparency = 0.65,
Opacity = 0.65,
LabelFile = speck .. "/galac.label",
DrawLabels = true,
TextColor = { 0.5, 0.5, 0.5, 1.0 },
TextColor = { 0.5, 0.5, 0.5 },
TextSize = 15.8,
TextMinSize = 0.5,
TextMaxSize = 100.0,
@@ -217,23 +233,17 @@ local plane1ld = {
Transform = {
Rotation = {
Type = "StaticRotation",
Rotation = {
-0.05487554, 0.4941095, -0.8676661,
-0.9938214 , -0.1109906, -0.0003515167,
-0.09647644, 0.8622859, 0.4971472
}
Rotation = eclipticRotationMatrix
}
},
Renderable = {
Type = "RenderableDUMeshes",
Enabled = false,
Color = { 1.0, 1.0, 1.0 },
Transparency = 0.4,
ScaleFactor = 1.0,
Opacity = 0.4,
File = speck .. "/1ld.speck",
MeshColor = {{ 0.1, 0.5, 0.6 }},
LabelFile = speck .. "/1ld.label",
TextColor = { 0.0, 0.2, 0.5, 1.0 },
TextColor = { 0.0, 0.2, 0.5 },
TextSize = 10.3,
TextMinSize = 0.5,
TextMaxSize = 30.0,
@@ -251,23 +261,17 @@ local plane1lm = {
Transform = {
Rotation = {
Type = "StaticRotation",
Rotation = {
-0.05487554, 0.4941095, -0.8676661,
-0.9938214 , -0.1109906, -0.0003515167,
-0.09647644, 0.8622859, 0.4971472
}
Rotation = eclipticRotationMatrix
}
},
Renderable = {
Type = "RenderableDUMeshes",
Enabled = false,
Color = { 1.0, 1.0, 1.0 },
Transparency = 0.4,
ScaleFactor = 1.0,
Opacity = 0.4,
File = speck .. "/1lm.speck",
MeshColor = {{ 0.1, 0.5, 0.6 }},
LabelFile = speck .. "/1lm.label",
TextColor = { 0.0, 0.2, 0.5, 1.0 },
TextColor = { 0.0, 0.2, 0.5 },
TextSize = 11.8,
TextMinSize = 0.5,
TextMaxSize = 30.0,
@@ -285,23 +289,17 @@ local plane1ly = {
Transform = {
Rotation = {
Type = "StaticRotation",
Rotation = {
-0.05487554, 0.4941095, -0.8676661,
-0.9938214 , -0.1109906, -0.0003515167,
-0.09647644, 0.8622859, 0.4971472
}
Rotation = eclipticRotationMatrix
}
},
Renderable = {
Type = "RenderableDUMeshes",
Enabled = false,
Color = { 1.0, 1.0, 1.0 },
Transparency = 0.4,
ScaleFactor = 1.0,
Opacity = 0.4,
File = speck .. "/1ly.speck",
MeshColor = {{ 0.1, 0.5, 0.6 }},
LabelFile = speck .. "/1ly.label",
TextColor = { 0.0, 0.2, 0.5, 1.0 },
TextColor = { 0.0, 0.2, 0.5 },
TextSize = 13.0,
TextMinSize = 0.5,
TextMaxSize = 30.0,
@@ -319,23 +317,17 @@ local plane10ly = {
Transform = {
Rotation = {
Type = "StaticRotation",
Rotation = {
-0.05487554, 0.4941095, -0.8676661,
-0.9938214 , -0.1109906, -0.0003515167,
-0.09647644, 0.8622859, 0.4971472
}
Rotation = eclipticRotationMatrix
}
},
Renderable = {
Type = "RenderableDUMeshes",
Enabled = false,
Color = { 1.0, 1.0, 1.0 },
Transparency = 0.4,
ScaleFactor = 1.0,
Opacity = 0.4,
File = speck .. "/10ly.speck",
MeshColor = {{ 0.1, 0.5, 0.6 }},
LabelFile = speck .. "/10ly.label",
TextColor = { 0.0, 0.2, 0.5, 1.0 },
TextColor = { 0.0, 0.2, 0.5 },
TextSize = 14.17,
TextMinSize = 0.5,
TextMaxSize = 30.0,
@@ -353,23 +345,17 @@ local plane100ly = {
Transform = {
Rotation = {
Type = "StaticRotation",
Rotation = {
-0.05487554, 0.4941095, -0.8676661,
-0.9938214 , -0.1109906, -0.0003515167,
-0.09647644, 0.8622859, 0.4971472
}
Rotation = eclipticRotationMatrix
}
},
Renderable = {
Type = "RenderableDUMeshes",
Enabled = false,
Color = { 1.0, 1.0, 1.0 },
Transparency = 0.4,
ScaleFactor = 1.0,
Opacity = 0.4,
File = speck .. "/100ly.speck",
MeshColor = {{ 0.1, 0.5, 0.6 }},
LabelFile = speck .. "/100ly.label",
TextColor = { 0.0, 0.2, 0.5, 1.0 },
TextColor = { 0.0, 0.2, 0.5 },
TextSize = 15.0,
TextMinSize = 0.5,
TextMaxSize = 30.0,
@@ -387,23 +373,17 @@ local plane1kly = {
Transform = {
Rotation = {
Type = "StaticRotation",
Rotation = {
-0.05487554, 0.4941095, -0.8676661,
-0.9938214 , -0.1109906, -0.0003515167,
-0.09647644, 0.8622859, 0.4971472
}
Rotation = eclipticRotationMatrix
}
},
Renderable = {
Type = "RenderableDUMeshes",
Enabled = false,
Color = { 1.0, 1.0, 1.0 },
Transparency = 0.4,
ScaleFactor = 1.0,
Opacity = 0.4,
File = speck .. "/1kly.speck",
MeshColor = {{ 0.1, 0.5, 0.6 }},
LabelFile = speck .. "/1kly.label",
TextColor = { 0.0, 0.2, 0.5, 1.0 },
TextColor = { 0.0, 0.2, 0.5 },
TextSize = 16.0,
TextMinSize = 0.5,
TextMaxSize = 30.0,
@@ -421,23 +401,17 @@ local plane10kly = {
Transform = {
Rotation = {
Type = "StaticRotation",
Rotation = {
-0.05487554, 0.4941095, -0.8676661,
-0.9938214 , -0.1109906, -0.0003515167,
-0.09647644, 0.8622859, 0.4971472
}
Rotation = eclipticRotationMatrix
}
},
Renderable = {
Type = "RenderableDUMeshes",
Enabled = false,
Color = { 1.0, 1.0, 1.0 },
Transparency = 0.4,
ScaleFactor = 1.0,
Opacity = 0.4,
File = speck .. "/10kly.speck",
MeshColor = {{ 0.1, 0.5, 0.6 }},
LabelFile = speck .. "/10kly.label",
TextColor = { 0.0, 0.2, 0.5, 1.0 },
TextColor = { 0.0, 0.2, 0.5 },
TextSize = 17.25,
TextMinSize = 0.5,
TextMaxSize = 30.0,
@@ -454,13 +428,11 @@ local plane100kly = {
Renderable = {
Type = "RenderableDUMeshes",
Enabled = false,
Color = { 1.0, 1.0, 1.0 },
Transparency = 0.4,
ScaleFactor = 1.0,
Opacity = 0.4,
File = speck .. "/100kly.speck",
MeshColor = {{ 0.1, 0.5, 0.6 }},
LabelFile = speck .. "/100kly.label",
TextColor = { 0.0, 0.2, 0.5, 1.0 },
TextColor = { 0.0, 0.2, 0.5 },
TextSize = 18.6,
TextMinSize = 0.5,
TextMaxSize = 30.0,
@@ -477,13 +449,11 @@ local plane1Mly = {
Renderable = {
Type = "RenderableDUMeshes",
Enabled = false,
Color = { 1.0, 1.0, 1.0 },
Transparency = 0.4,
ScaleFactor = 1.0,
Opacity = 0.4,
File = speck .. "/1Mly.speck",
MeshColor = {{ 0.1, 0.5, 0.6 }},
LabelFile = speck .. "/1Mly.label",
TextColor = { 0.0, 0.2, 0.5, 1.0 },
TextColor = { 0.0, 0.2, 0.5 },
TextSize = 19.6,
TextMinSize = 0.5,
TextMaxSize = 30.0,
@@ -500,13 +470,11 @@ local plane10Mly = {
Renderable = {
Type = "RenderableDUMeshes",
Enabled = false,
Color = { 1.0, 1.0, 1.0 },
Transparency = 0.4,
ScaleFactor = 1.0,
Opacity = 0.4,
File = speck .. "/10Mly.speck",
MeshColor = {{ 0.1, 0.5, 0.6 }},
LabelFile = speck .. "/10Mly.label",
TextColor = { 0.0, 0.2, 0.5, 1.0 },
TextColor = { 0.0, 0.2, 0.5 },
TextSize = 20.6,
TextMinSize = 0.5,
TextMaxSize = 30.0,
@@ -523,13 +491,11 @@ local plane100Mly = {
Renderable = {
Type = "RenderableDUMeshes",
Enabled = false,
Color = { 1.0, 1.0, 1.0 },
Transparency = 0.4,
ScaleFactor = 1.0,
Opacity = 0.4,
File = speck .. "/100Mly.speck",
MeshColor = {{ 0.1, 0.5, 0.6 }},
LabelFile = speck .. "/100Mly.label",
TextColor = { 0.0, 0.2, 0.5, 1.0 },
TextColor = { 0.0, 0.2, 0.5 },
TextSize = 21.6,
TextMinSize = 0.5,
TextMaxSize = 30.0,
@@ -546,13 +512,11 @@ local plane20Gly = {
Renderable = {
Type = "RenderableDUMeshes",
Enabled = false,
Color = { 1.0, 1.0, 1.0 },
Transparency = 0.4,
ScaleFactor = 1.0,
Opacity = 0.4,
File = speck .. "/20Gly.speck",
MeshColor = {{ 0.1, 0.5, 0.6 }},
LabelFile = speck .. "/20Gly.label",
TextColor = { 0.0, 0.2, 0.5, 1.0 },
TextColor = { 0.0, 0.2, 0.5 },
TextSize = 23.6,
TextMinSize = 0.5,
TextMaxSize = 30.0,

View File

@@ -18,7 +18,7 @@ local object = {
Opacity = 0.65,
--ScaleFactor = 10.0,
LabelFile = speck .. "/groups.label",
TextColor = { 0.1, 0.6, 0.2, 1.0 },
TextColor = { 0.1, 0.6, 0.2 },
TextSize = 21.5,
TextMinSize = 8.0,
Unit = "Mpc",

View File

@@ -22,19 +22,19 @@ local object = {
Type = "RenderableBillboardsCloud",
Enabled = false,
Color = { 0.0, 0.5, 1.0 },
Opacity = 1.0,
Opacity = 0.70,
File = speck .. "/h2.speck",
Texture = textures .."/point4.png",
PolygonSides = 6,
LabelFile = speck .. "/h2.label",
TextColor = { 0.5, 0.5, 0.5, 1.0 },
ScaleFactor = 425,
TextSize = 17.25,
TextMinSize = 10.0,
TextMinSize = 30.0,
TextColor = { 0.5, 0.5, 0.5 },
ScaleFactor = 420,
TextSize = 16.24,
TextMinSize = 4.0,
TextMaxSize = 20.0,
Unit = "pc",
BillboardMaxSize = 25.0,
EnablePixelSizeControl = true
BillboardMaxSize = 300.0,
EnablePixelSizeControl = false
},
GUI = {
Name = "HII Regions",

View File

@@ -29,7 +29,7 @@ local object = {
Texture = textures .. "/point4.png",
PolygonSides = 12,
LabelFile = speck .. "/localgroup.label",
TextColor = { 0.3, 0.3, 1.0, 1.0 },
TextColor = { 0.3, 0.3, 1.0 },
ScaleFactor = 465,
TextSize = 18.3,
TextMinSize = 7.3,

View File

@@ -42,7 +42,7 @@ local sphere = {
Type = "RenderableSphere",
Size = 9.2E21,
Segments = 40,
Opacity = 0.4,
Opacity = 0.35,
Texture = sphereTextures .. "/DarkUniverse_mellinger_4k.jpg",
Orientation = "Inside",
UseAdditiveBlending = true,
@@ -61,16 +61,16 @@ local plane = {
Parent = "Root",
Renderable = {
Type = "RenderablePlanesCloud",
Enabled = false,
Enabled = true,
Color = { 1.0, 1.0, 1.0 },
Transparency = 0.90,
Opacity = 0.99,
ScaleFactor = 2.8,
File = planeSpeck .. "/galaxy.speck",
TexturePath = planeTextures,
Luminosity = "size",
ScaleLuminosity = 1.0,
-- Fade in value in the same unit as "Unit"
FadeInDistances = { 1000.0, 100000.0 },
FadeInDistances = { 3000.0, 50000.0 },
PlaneMinSize = 5.0,
Unit = "pc"
},
@@ -92,7 +92,7 @@ local homeLabel = {
-- Texture = textures .. "/point3.png",
DrawLabels = true,
LabelFile = homespeck .. "/home.label",
TextColor = { 0.8, 0.8, 0.8, 1.0 },
TextColor = { 0.8, 0.8, 0.8 },
TextSize = 20.50,
TextMinSize = 16.0,
TransformationMatrix = {

View File

@@ -26,18 +26,18 @@ local object = {
ColorOption = { "arm" },
SizeOption = {"diameter"},
ExactColorMap = true,
Opacity = 0.9,
Opacity = 0.7,
File = speck .. "/ob.speck",
Texture = textures .. "/point4.png",
PolygonSides = 7,
LabelFile = speck .. "/ob.label",
TextColor = { 0.4, 0.5, 1.0, 1.0 },
TextColor = { 0.4, 0.5, 1.0 },
ScaleFactor = 390.0,
TextSize = 17.0,
TextMinSize = 5.76,
TextMaxSize = 30.0,
TextSize = 16.24,
TextMinSize = 4.50,
TextMaxSize = 25,
Unit = "pc",
--BillboardMaxSize = 21.0,
BillboardMaxSize = 450.0,
EnablePixelSizeControl = true
},
GUI = {

View File

@@ -26,19 +26,19 @@ local object = {
File = speck .. "/oc.speck",
Texture = textures .. "/point4.png",
PolygonSides = 12,
TextColor = { 0.05, 0.4, 0.2, 1.0 },
TextColor = { 0.05, 0.4, 0.2 },
LabelFile = speck .. "/oc.label",
ScaleFactor = 418.33,
TextSize = 16.68,
ScaleFactor = 405.75,
TextSize = 15.5,
TextMinSize = 4.5,
TextMaxSize = 30.0,
Unit = "pc",
BillboardMaxSize = 20.22,
BillboardMaxSize = 604,
EnablePixelSizeControl = true
},
GUI = {
Name = "Open Star Clusters",
Path = "/Milky Way/Open Clusters"
Path = "/Milky Way"
}
}

View File

@@ -22,18 +22,18 @@ local object = {
Type = "RenderableBillboardsCloud",
Enabled = false,
Color = { 0.4, 0.4, 0.9 },
Opacity = 1.0,
Opacity = 0.65,
File = speck .. "/pn.speck",
Texture = textures .. "/point4.png",
PolygonSides = 3,
LabelFile = speck .. "/pn.label",
TextColor = { 0.25, 0.25, 0.65, 1.0 },
ScaleFactor = 435.0,
TextSize = 16.68,
TextColor = { 0.25, 0.25, 0.65 },
ScaleFactor = 425.0,
TextSize = 16.24,
TextMinSize = 4.5,
TextMaxSize = 30.0,
TextMaxSize = 25.0,
Unit = "pc",
BillboardMaxSize = 35,
BillboardMaxSize = 500,
EnablePixelSizeControl = true
},
GUI = {

View File

@@ -27,14 +27,14 @@ local object = {
Texture = textures .. "/point4.png",
PolygonSides = 4,
LabelFile = speck .. "/pulsar.label",
TextColor = { 0.7, 0.0, 0.0, 1.0 },
ScaleFactor = 418.33,
TextSize = 16.68,
TextMinSize = 7.5,
TextMaxSize = 30.0,
TextColor = { 0.7, 0.2, 0.2 },
ScaleFactor = 424,
TextSize = 15.77,
TextMinSize = 4,
TextMaxSize = 20.0,
Unit = "pc",
BillboardMaxSize = 35,
EnablePixelSizeControl = true
BillboardMaxSize = 500,
EnablePixelSizeControl = false
},
GUI = {
Path = "/Milky Way"

View File

@@ -17,7 +17,7 @@ local object = {
Color = { 1.0, 1.0, 1.0 },
Opacity = 0.65,
LabelFile = speck .. "/stars.label",
TextColor = { 0.4, 0.4, 0.4, 1.0 },
TextColor = { 0.4, 0.4, 0.4 },
DrawLabels = true,
TextSize = 14.7,
TextMinSize = 6.0,

View File

@@ -16,13 +16,11 @@ local sunOrbit = {
Renderable = {
Type = "RenderableDUMeshes",
Enabled = false,
Color = { 1.0, 0.65, 0.0 },
Transparency = 1.0,
ScaleFactor = 1.0,
Opacity = 1.0,
File = speck .. "/starorbits-Sun.speck",
MeshColor = {{ 1.0, 0.65, 0.0 }},
--LabelFile = speck .. "/1ld.label",
TextColor = { 0.0, 0.2, 0.5, 1.0 },
TextColor = { 0.0, 0.2, 0.5 },
TextSize = 10.3,
TextMinSize = 0.5,
TextMaxSize = 30.0,
@@ -40,13 +38,11 @@ local barnardsOrbit = {
Renderable = {
Type = "RenderableDUMeshes",
Enabled = false,
Color = {1.0, 1.0, 1.0},
Transparency = 1.0,
ScaleFactor = 1.0,
Opacity = 1.0,
File = speck .. "/starorbits-BarnardsStar.speck",
MeshColor = {{0.39, 0.58, 0.93}},
--LabelFile = speck .. "/1ld.label",
TextColor = { 0.0, 0.2, 0.5, 1.0 },
TextColor = { 0.0, 0.2, 0.5 },
TextSize = 10.3,
TextMinSize = 0.5,
TextMaxSize = 30.0,
@@ -64,13 +60,11 @@ local kapteynsOrbit = {
Renderable = {
Type = "RenderableDUMeshes",
Enabled = false,
Color = {1.0, 1.0, 1.0},
Transparency = 1.0,
ScaleFactor = 1.0,
File = speck .. "/starorbits-kapteynsStar.speck",
Opacity = 1.0,
File = speck .. "/starorbits-KapteynsStar.speck",
MeshColor = {{0.6, 0.6, 0.6}},
--LabelFile = speck .. "/1ld.label",
TextColor = { 0.0, 0.2, 0.5, 1.0 },
TextColor = { 0.0, 0.2, 0.5 },
TextSize = 10.3,
TextMinSize = 0.5,
TextMaxSize = 30.0,
@@ -88,13 +82,11 @@ local lacaille9352Orbit = {
Renderable = {
Type = "RenderableDUMeshes",
Enabled = false,
Color = {1.0, 1.0, 1.0},
Transparency = 1.0,
ScaleFactor = 1.0,
Opacity = 1.0,
File = speck .. "/starorbits-Lacaille9352.speck",
MeshColor = {{0.58, 0.0, 0.83}},
--LabelFile = speck .. "/1ld.label",
TextColor = { 0.0, 0.2, 0.5, 1.0 },
TextColor = { 0.0, 0.2, 0.5 },
TextSize = 10.3,
TextMinSize = 0.5,
TextMaxSize = 30.0,
@@ -112,13 +104,11 @@ local lSR1826Orbit = {
Renderable = {
Type = "RenderableDUMeshes",
Enabled = false,
Color = {1.0, 1.0, 1.0},
Transparency = 1.0,
ScaleFactor = 1.0,
Opacity = 1.0,
File = speck .. "/starorbits-LSR1826+3014.speck",
MeshColor = {{0.0, 0.39, 0.0}},
--LabelFile = speck .. "/1ld.label",
TextColor = { 0.0, 0.2, 0.5, 1.0 },
TextColor = { 0.0, 0.2, 0.5 },
TextSize = 10.3,
TextMinSize = 0.5,
TextMaxSize = 30.0,
@@ -136,13 +126,11 @@ local lSRJ0822Orbit = {
Renderable = {
Type = "RenderableDUMeshes",
Enabled = false,
Color = {1.0, 1.0, 1.0},
Transparency = 1.0,
ScaleFactor = 1.0,
Opacity = 1.0,
File = speck .. "/starorbits-LSRJ0822+1700.speck",
MeshColor = {{0.5, 1.0, 0.0}},
--LabelFile = speck .. "/1ld.label",
TextColor = { 0.0, 0.2, 0.5, 1.0 },
TextColor = { 0.0, 0.2, 0.5 },
TextSize = 10.3,
TextMinSize = 0.5,
TextMaxSize = 30.0,
@@ -160,13 +148,11 @@ local pM_J13420Orbit = {
Renderable = {
Type = "RenderableDUMeshes",
Enabled = false,
Color = {1.0, 1.0, 1.0},
Transparency = 1.0,
ScaleFactor = 1.0,
Opacity = 1.0,
File = speck .. "/starorbits-PM_J13420-3415.speck",
MeshColor = {{0.70, 0.13, 0.13}},
--LabelFile = speck .. "/1ld.label",
TextColor = { 0.0, 0.2, 0.5, 1.0 },
TextColor = { 0.0, 0.2, 0.5 },
TextSize = 10.3,
TextMinSize = 0.5,
TextMaxSize = 30.0,

View File

@@ -58,7 +58,7 @@ local sunstar = {
MagnitudeExponent = 6.2,
SizeComposition = "Distance Modulus",
RenderMethod = "Texture Based", -- or PSF
FadeInDistances = {0.0001, 0.1}
FadeInDistances = { 0.0001, 0.1 }
},
GUI = {
Name = "Sun",

View File

@@ -27,7 +27,7 @@ local object = {
File = speck .. "/superclust.speck",
Texture = textures .. "/point3A.png",
LabelFile = speck .. "/superclust.label",
TextColor = { 0.9, 0.9, 0.9, 1.0 },
TextColor = { 0.9, 0.9, 0.9 },
ScaleFactor = 531.0,
TextSize = 22.44,
TextMinSize = 8.0,

View File

@@ -22,20 +22,20 @@ local object = {
Type = "RenderableBillboardsCloud",
Enabled = false,
Color = { 1.0, 0.5, 0.0 },
Opacity = 0.9,
Opacity = 0.32,
File = speck .. "/snr.speck",
Texture = textures .. "/point4.png",
PolygonSides = 7,
LabelFile = speck .. "/snr.label",
TextColor = { 0.6, 0.3, 0.0, 1.0 },
ScaleFactor = 435,
TextSize = 17.5,
TextMinSize = 8.0,
TextMaxSize = 30.0,
TextColor = { 0.6, 0.46, 0.0 },
ScaleFactor = 424,
TextSize = 16.44,
TextMinSize = 4.0,
TextMaxSize = 200.0,
--CorrectionSizeEndDistance = 17.5,
--CorrectionSizeFactor = 13.96,
Unit = "pc",
BillboardMaxSize = 27.2,
BillboardMaxSize = 500,
EnablePixelSizeControl = true
},
GUI = {

View File

@@ -32,9 +32,10 @@ local tullyPoints = {
ColorOption = { "prox5Mpc" },
ColorRange = { { 1.0, 30.0 } },
LabelFile = speck .. "/tully.label",
TextColor = { 0.7, 0.7, 0.7, 1.0 },
TextSize = 20.50,
TextMinSize = 16.0,
DrawLabels = true,
TextColor = { 0.7, 0.7, 0.7 },
TextSize = 19.36,
TextMinSize = 8.2,
TransformationMatrix = {
-0.7357425748, 0.67726129641, 0.0, 0.0,
-0.074553778365, -0.080991471307, 0.9939225904, 0.0,
@@ -43,10 +44,10 @@ local tullyPoints = {
},
Unit = "Mpc",
-- Fade in value in the same unit as "Unit"
FadeInDistances = { 0.05, 1.0 },
FadeInDistances = { 0.001, 1.0 },
-- Max size in pixels
BillboardMaxSize = 8.22,
BillboardMinSize = 0.0,
BillboardMaxSize = 5,
BillboardMinSize = 0,
--CorrectionSizeEndDistance = 22.0,
--CorrectionSizeFactor = 10.45
EnablePixelSizeControl = true
@@ -61,9 +62,9 @@ local tullyImages = {
Identifier = "TullyGalaxiesImages",
Renderable = {
Type = "RenderablePlanesCloud",
Enabled = false,
Enabled = true,
Color = { 1.0, 1.0, 1.0 },
Transparency = 0.99,
Opacity = 0.99,
ScaleFactor = 1.0,
File = speck .. "/tully.speck",
TexturePath = textures,
@@ -77,8 +78,8 @@ local tullyImages = {
},
Unit = "Mpc",
-- Fade in value in the same unit as "Unit"
FadeInDistances = {0.001, 0.05010},
PlaneMinSize = 5.0
FadeInDistances = {0.0005, 0.003},
PlaneMinSize = 1.0
},
GUI = {
Name = "Tully Galaxies Images",

View File

@@ -19,7 +19,7 @@ local object = {
Color = { 1.0, 1.0, 1.0 },
Opacity = 0.65,
LabelFile = speck .. "/voids.label",
TextColor = { 0.296, 0.629, 1.0, 1.0 },
TextColor = { 0.296, 0.629, 1.0 },
TextSize = 20.9,
TextMinSize = 8.0,
Unit = "Mpc"

View File

@@ -0,0 +1,106 @@
local constellationsCSV = asset.localResource('constellation_data.csv')
local transforms = asset.require("scene/solarsystem/sun/transforms")
local images = asset.syncedResource({
Name = "Constellation Images",
Type = "HttpSynchronization",
Identifier = "constellation_images",
Version = 1
})
--function that reads the file
local createConstellations = function (guiPath, constellationfile)
local genConstellations = {};
--skip the first line
local notFirstLine = false;
-- define parsec to meters
local PARSEC_CONSTANT = 3.0856776E16;
-- how many parsecs away do you want the images to be?
-- this setting puts the billboards at the location of the constellation bounds grid from DU.
-- but they can really be anywhere since the billboard size will scale with distance.
local distanceMultiplier = 3.2;
local baseScale = 1e17;
for line in io.lines(openspace.absPath(constellationfile)) do
if (notFirstLine) then
-- describes the data
local matchstring = '(.-),(.-),(.-),(.-),(.-),(.-),(.-),(.-),(.-),(.-),(.-),(.-)$'
local group, abbreviation, name, x, y, z, scale, imageName, rotX, rotY, rotZ, centerStar = line:match(matchstring)
local magVec = math.sqrt(x*x + y*y + z*z)
local normx = x/magVec
local normy = y/magVec
local normz = z/magVec
group = (group == '' and globe or group)
local aconstellation = {
Identifier = guiPath .. '-' .. name,
Parent = transforms.SolarSystemBarycenter.Identifier,
Transform = {
Translation = {
Type = "StaticTranslation",
-- position is in parsecs from the SolarSystemBarycenter, so convert to meters
Position = {
normx * PARSEC_CONSTANT * distanceMultiplier,
normy * PARSEC_CONSTANT * distanceMultiplier,
normz * PARSEC_CONSTANT * distanceMultiplier
}
},
Rotation = {
Type = "StaticRotation",
Rotation = { tonumber(rotX), tonumber(rotY), tonumber(rotZ) }
}
},
Renderable = {
Type = "RenderablePlaneImageLocal",
Size = tonumber(baseScale * scale * distanceMultiplier / 10),
Enabled = false,
Origin = "Center",
Billboard = false,
LazyLoading = true,
Texture = images .. "/" .. imageName,
BlendMode = "Additive",
Opacity = 0.1
},
Tag = { "ConstellationArtImage", group },
GUI = {
Name = name .. ' Image',
Path = '/Milky Way/' .. guiPath
}
}
table.insert(genConstellations, aconstellation);
else
notFirstLine = true
end
end
return genConstellations
end
local nodes = {}
asset.onInitialize(function ()
local constellationsCSV = images .. "/constellation_data.csv"
nodes = createConstellations('Constellation Art', constellationsCSV)
for _, n in ipairs(nodes) do
openspace.addSceneGraphNode(n);
end
end)
asset.onDeinitialize(function ()
for _, n in ipairs(nodes) do
openspace.removeSceneGraphNode(n.Identifier);
end
end)
asset.meta = {
Name = "Constellation Images",
Version = "1.0",
Description = "Artistic images depicting the constellations",
Author = "James Hedberg",
URL = "jameshedberg.com",
License = "CC-BY"
}

View File

@@ -0,0 +1,85 @@
Data about Constellations columns are: group, name, x, y, z, scale, imageName, rotX, rotY, rotZ, centerStar
normal,Ori,Orion,-550.8742,-259.3621,-188.9620,1.5,Ori.png,1.128407,1.058407,1.668407,HD37128
zodiac,Tau,Taurus,-18.7277,-0.3175,-6.9092,1.2,Tau.png,1.198407,0.908407,1.378407,Aldebran
zodiac,Ari,Aries,-13.2892,9.4519,-11.9378,0.8,Ari.png,0.668407,0.538407,0.518407,Hamal
zodiac,Gem,Gemini,-362.5493,-102.2245,79.4030,0.85,Gem.png,-0.731593,2.268407,-0.451593,Mekbuda
zodiac,Cnc,Cancer,-30.9209,-16.4584,22.6601,0.8,Cnc.png,-1.151593,1.888407,-1.041593,HD74442
zodiac,Leo,Leo,-17.9030,-13.2719,31.4196,1.33,Leo.png,-0.131593,2.448407,0.418407,HD89484
zodiac,Vir,Virgo,36.5809,-35.1877,62.3341,1.5,Vir.png,-0.371593,3.138407,0.518407,HD116658
zodiac,Lib,Libra,17.5393,-6.2768,14.5916,1.0,Lib.png,-1.011593,3.138407,1.318407,HD130819
zodiac,Sco,Scorpius,137.4378,-19.4456,37.3606,1.2,Sco.png,1.698407,-1.001593,-1.751593,HD148478
zodiac,Sgr,Sagittarius,66.2304,11.1498,-14.8095,1.2,Sgr.png,1.728407,-1.321593,-1.751593,HD175191
zodiac,Cap,Capricornus,32.9799,20.0621,-29.3945,1.3,Cap.png,1.158407,-0.881593,-0.561593,HD200761
zodiac,Aqr,Aquarius,86.5090,149.4078,-155.8102,1.2,Aqr.png,-2.921593,-2.391593,-2.551593,-2.511593
zodiac,Psc,Pisces,-28.0235,45.3150,-76.8893,1.6,Psc.png,0.458407,-0.001593,0.618407,HD4656
northern,Uma,Ursa Major,-12.0503,7.1931,19.8974,1.6,UMa.png,0.748407,2.398407,0.658407,HD95418
northern,Dra,Draco,-1.4340,20.6566,23.5098,1.9,Dra.png,0.658407,-2.541593,1.058407,HD137759
southern,Ant,Antila,-0.2233,-103.8908,42.7940,1.3,Ant.png,1.848407,0.198407,-3.141593,HD90610
southern,Crv,Corvus,8.0442,-16.8858,19.3984,1.1,Crv.png,2.198407,-0.041593,-2.221593,HD108767
southern,Cet,Cetus,-28.7960,7.2425,-73.6693,1.5,Cet.png,0.238407,0.368407,0.688407,HD11353
southern,Cha,Chameleon,53.5121,-108.3624,-38.1807,1.1,Cha.png,-1.801593,2.738407,0.448407,HD92305
northern,Cam,Camelopardalis,-304.8155,179.0620,71.1454,1.7,Cam.png,2.128407,1.228407,1.478407,HD31910
equatorial,Aql,Aquila,11.7741,9.7467,-1.6418,1.0,Aql.png,-2.601593,-2.511593,-3.141593,HD182640
southern,Aps,Apus,31.6370,-32.5620,-16.5786,1.1,Aps.png,-1.691593,-2.281593,0.838407,HD149324
northern,Lyn,Lynx,-98.3174,4.4830,67.2289,1.2,Lyn.png,1.688407,1.768407,1.668407,HD70272
southern,Phe,Phoenix,5.0172,-4.2096,-22.8088,1.5,Phe.png,-3.141593,3.138407,-3.141593,HD6595
northern,Cyg,Cygnus,78.7445,375.2440,12.4995,1.4,Cyg.png,1.668407,-0.931593,-0.261593,HD194093
southern,Cen,Centaurus,20.1398,-33.1830,9.5915,2.7,Cen.png,-1.291593,3.088407,0.458407,HD110304
northern,Aur,Auriga,-12.3062,3.8595,1.0302,1.5,Aur.png,1.378407,1.108407,1.178407,HD34029
northern,Peg,Pegasus,0.9791,32.5947,-27.7339,2.42,Peg.png,0.918407,-0.221593,-0.191593,HD218045
southern,Hya,Hydra,-2.9043,-33.5496,25.8962,3,Hya.png,-0.531593,2.838407,0.368407,HD93813
southern,Oct,Octans,22.0434,-27.8601,-24.3108,1.0,Oct.png,-0.911593,0.398407,1.198407,HD214846
southern,Nor,Norma,34.9251,-17.5643,0.0068,1.0,Nor.png,-1.631593,-2.421593,1.298407,HD146686
southern,Mus,Musca,48.8888,-79.2952,-10.2828,1.25,Mus.png,-1.871593,3.138407,0.358407,HD109668
southern,Hyi,Hydrus,3.2767,-4.7183,-4.7829,1.1,Hyi.png,2.438407,-3.141593,-2.381593,HD2151
northern,Lac,Lacerta,-6.0878,30.5794,-3.6064,1.0,Lac.png,-1.521593,-2.391593,3.138407,HD213558
equatorial,Lep,Lepus,-212.6297,-184.4909,-132.1156,1.0,Lep.png,-1.801593,-2.351593,-0.861593,HD36673
southern,Lup,Lupus,129.1166,-102.2983,33.3251,1.2,Lup.png,-1.191593,-2.391593,0.798407,HD129056
southern,Men,Mensa,2.4149,-8.5586,-4.8892,1.0,Men.png,-2.101593,-2.781593,0.828407,HD43834
southern,Mic,Microscopium,51.0335,11.1671,-44.3692,1.0,Mic.png,0.728407,-0.831593,-0.561593,HD199951
equatorial,Mon,Monoceros,-93.0725,-66.8909,8.6548,1.2,Mon.png,-1.331593,1.988407,-0.891593,HD55185
southern,Pav,Pavo,4.4549,-2.5959,-3.2739,1.3,Pav.png,-2.391593,-2.171593,1.648407,HD190248
southern,Ind,Indus,133.6149,-53.5569,-115.9552,1.5,Ind.png,-2.031593,-1.491593,1.758407,HD198700
northern,LMi,Leo Minor,-23.3948,-2.5770,38.0756,1.1,LMi.png,-3.141593,0.478407,-2.201593,HD90537
northern,Lyr,Lyra,2.8086,6.7630,2.5555,1.0,Lyr.png,-1.831593,-2.091593,3.141500,HD172167
northern,Her,Hercules,14.0526,14.9773,12.5478,1.3,Her.png,-1.511593,-1.811593,2.288407,HD156164
southern,Gru,Grus,18.6528,-3.2893,-24.6602,1.3,Gru.png,-3.141593,-2.511593,-2.901593,HD209952
southern,Crt,Crater,1.5886,-43.9831,40.3390,1.3,Crt.png,-0.521593,3.140000,0.588407,HD98430
northern,Del,Delphinus,14.8599,24.6150,-8.0550,1.2,Del.png,1.308407,-0.951593,-0.241593,HD196524
southern,Dor,Dorado,-0.6460,-9.3172,-6.9654,1.2,Dor.png,2.118407,1.768407,-2.901593,HD33262
northern,Equ,Equuleus,27.7363,41.7071,-27.4371,1.2,Equ.png,-1.801593,-2.511593,2.558407,HD202447
southern,Eri,Eridanus,-37.5153,-23.5231,-65.6368,2.1,Eri.png,0.128407,0.698407,0.998407,HD20720
southern,For,Fornax,-14.0351,-17.8282,-46.5514,1.4,For.png,3.138407,2.678407,-2.351593,HD17652
southern,Hor,Horologium,2.1021,-27.1310,-40.5136,1.2,Hor.png,-3.141593,2.468407,-2.191593,HD16920
southern,Pyx,Pyxis,-66.7424,-248.9639,26.0445,1.2,Pyx.png,1.838407,-1.651593,2.708407,HD74575
southern,Ret,Reticulum,2.8130,-37.2904,-33.2644,1.5,Ret.png,1.998407,2.188407,-2.591593,HD27256
northern,Sge,Sagitta,44.3886,70.9446,-7.6264,1.2,Sge.png,-0.741593,-2.231593,2.108407,HD189319
southern,Scl,Sculptor,21.6545,-6.8861,-166.5240,1.3,Scl.png,-0.071593,-0.221593,0.638407,HD2429
southern,Sct,Scutum,48.8939,21.5158,-0.1629,1.2,Sct.png,1.188407,-1.271593,-0.971593,HD171443
southern,Tuc,Tucana,35.3950,-20.2535,-45.2324,1.1,Tuc.png,-0.351593,-0.161593,0.308407,HD211416
northern,Tri,Triangulum,-26.6263,21.9119,-16.2254,1.2,Tri.png,1.168407,0.218407,0.558407,HD13161
southern,TrA,Triangulum Australe,96.2283,-76.4459,-33.5257,1.2,TrA.png,-1.991593,-2.491593,1.128407,HD150798
southern,Tel,Telescopium,72.3444,-14.5016,-20.0248,1.2,Tel.png,-0.461593,-1.731593,0.298407,HD169467
southern,Ara,Ara,164.9273,-75.6246,-35.3100,1.1,Ara.png,-1.381593,-2.131593,1.048407,HD157244
southern,Cae,Caelum,-6.0961,-13.7926,-13.3392,1.0,Cae.png,-0.661593,0.948407,0.418407,HD29875
southern,CMa,Canis Major,-1.7693,-1.9125,-0.4074,1.3,CMa.png,1.128407,1.048407,1.878407,HD48915
northern,CMi,Canis Minor,-2.8348,-1.8906,0.7881,1.2,CMi.png,2.538407,1.138407,-3.141593,HD61421
southern,Vol,Volans,37.6000,-182.7856,-62.6559,1.2,Vol.png,-2.441593,1.988407,-0.351593,HD68520
northern,UMi,Ursa Minor,-11.3527,27.2100,25.1835,1.3,UMi.png,-2.491593,-0.581593,-2.381593,HD131873
northern,And,Andromdeda,-32.8276,43.3946,-27.8475,1.6,And.png,-2.021593,-3.141593,-2.521593,HD6860
northern,Boo,Bootes,11.2468,14.9864,30.4945,2.0,Boo.png,-3.141593,-0.601593,-2.361593,HD135722
northern,Vul,Vulpecula,46.7540,77.7780,5.3953,1.1,Vul.png,-2.301593,-2.061593,-3.141593,HD131873
northern,CVn,Canes Venatici,-3.1198,5.7935,33.1368,1.3,CVn.png,0.148407,3.138407,0.428407,HD112413
southern,Cir,Circinus,11.4255,-11.6937,-1.3129,1.0,Cir.png,1.448407,-0.391593,-2.211593,HD128898
northern,Com,Coma Berenices,1.9257,-1.2062,12.2465,1.4,Com.png,3.138407,-0.051593,-2.711593,HD114378
southern,CrA,Corona Australis,146.1322,-4.7492,-53.7124,1.0,CrA.png,-3.141593,-2.021593,-3.141593,HD178345
northern,CrB,Corona Borealis,33.5737,32.0314,52.9729,1.3,CrB.png,-3.141593,-0.601593,-2.271593,HD143107
northern,Cas,Cassiopeia,-36.3073,59.4424,-7.6926,1.4,Cas.png,-1.431593,3.128407,-2.331593,HD3712
northern,Cep,Cepheus,-2.8178,14.4985,2.3848,1.7,Cep.png,-1.331593,-2.291593,-2.931593,HD203280
southern,Car,Carina Vela Puppis,14.1325,-188.6018,-42.2785,2.0,Car.png,2.078407,1.048407,-3.111593,HD71129
northern,Col,Columba,-11.2568,-20.5973,-11.9895,1.0,Col.png,2.518407,1.358407,-2.981593,HD39425
northern,Per,Perseus,-139.8202,79.8063,-16.2631,1.3,Per.png,-1.751593,2.428407,-2.411593,HD22928
northern,Oph,Ophiuchus,127.9419,14.0822,56.2015,3.2,Oph.png,2.178407,-0.781593,-1.681593,HD149757
southern,PsA,Piscis Austrinus,99.9977,47.6679,-199.6345,1.0,PsA.png,3.138407,-2.541593,-2.881593,HD214748
southern,Cru,Crux,49.3509,-85.0446,-0.6223,1.1,Cru.png,1.718407,0.048407,-2.741593,HD108248
southern,Pic,Pictor,-4.5417,-45.5649,-27.1768,1.0,Pic.png,2.568407,2.138407,-2.081593,HD39523
1 Data about Constellations columns are: group, name, x, y, z, scale, imageName, rotX, rotY, rotZ, centerStar
2 normal,Ori,Orion,-550.8742,-259.3621,-188.9620,1.5,Ori.png,1.128407,1.058407,1.668407,HD37128
3 zodiac,Tau,Taurus,-18.7277,-0.3175,-6.9092,1.2,Tau.png,1.198407,0.908407,1.378407,Aldebran
4 zodiac,Ari,Aries,-13.2892,9.4519,-11.9378,0.8,Ari.png,0.668407,0.538407,0.518407,Hamal
5 zodiac,Gem,Gemini,-362.5493,-102.2245,79.4030,0.85,Gem.png,-0.731593,2.268407,-0.451593,Mekbuda
6 zodiac,Cnc,Cancer,-30.9209,-16.4584,22.6601,0.8,Cnc.png,-1.151593,1.888407,-1.041593,HD74442
7 zodiac,Leo,Leo,-17.9030,-13.2719,31.4196,1.33,Leo.png,-0.131593,2.448407,0.418407,HD89484
8 zodiac,Vir,Virgo,36.5809,-35.1877,62.3341,1.5,Vir.png,-0.371593,3.138407,0.518407,HD116658
9 zodiac,Lib,Libra,17.5393,-6.2768,14.5916,1.0,Lib.png,-1.011593,3.138407,1.318407,HD130819
10 zodiac,Sco,Scorpius,137.4378,-19.4456,37.3606,1.2,Sco.png,1.698407,-1.001593,-1.751593,HD148478
11 zodiac,Sgr,Sagittarius,66.2304,11.1498,-14.8095,1.2,Sgr.png,1.728407,-1.321593,-1.751593,HD175191
12 zodiac,Cap,Capricornus,32.9799,20.0621,-29.3945,1.3,Cap.png,1.158407,-0.881593,-0.561593,HD200761
13 zodiac,Aqr,Aquarius,86.5090,149.4078,-155.8102,1.2,Aqr.png,-2.921593,-2.391593,-2.551593,-2.511593
14 zodiac,Psc,Pisces,-28.0235,45.3150,-76.8893,1.6,Psc.png,0.458407,-0.001593,0.618407,HD4656
15 northern,Uma,Ursa Major,-12.0503,7.1931,19.8974,1.6,UMa.png,0.748407,2.398407,0.658407,HD95418
16 northern,Dra,Draco,-1.4340,20.6566,23.5098,1.9,Dra.png,0.658407,-2.541593,1.058407,HD137759
17 southern,Ant,Antila,-0.2233,-103.8908,42.7940,1.3,Ant.png,1.848407,0.198407,-3.141593,HD90610
18 southern,Crv,Corvus,8.0442,-16.8858,19.3984,1.1,Crv.png,2.198407,-0.041593,-2.221593,HD108767
19 southern,Cet,Cetus,-28.7960,7.2425,-73.6693,1.5,Cet.png,0.238407,0.368407,0.688407,HD11353
20 southern,Cha,Chameleon,53.5121,-108.3624,-38.1807,1.1,Cha.png,-1.801593,2.738407,0.448407,HD92305
21 northern,Cam,Camelopardalis,-304.8155,179.0620,71.1454,1.7,Cam.png,2.128407,1.228407,1.478407,HD31910
22 equatorial,Aql,Aquila,11.7741,9.7467,-1.6418,1.0,Aql.png,-2.601593,-2.511593,-3.141593,HD182640
23 southern,Aps,Apus,31.6370,-32.5620,-16.5786,1.1,Aps.png,-1.691593,-2.281593,0.838407,HD149324
24 northern,Lyn,Lynx,-98.3174,4.4830,67.2289,1.2,Lyn.png,1.688407,1.768407,1.668407,HD70272
25 southern,Phe,Phoenix,5.0172,-4.2096,-22.8088,1.5,Phe.png,-3.141593,3.138407,-3.141593,HD6595
26 northern,Cyg,Cygnus,78.7445,375.2440,12.4995,1.4,Cyg.png,1.668407,-0.931593,-0.261593,HD194093
27 southern,Cen,Centaurus,20.1398,-33.1830,9.5915,2.7,Cen.png,-1.291593,3.088407,0.458407,HD110304
28 northern,Aur,Auriga,-12.3062,3.8595,1.0302,1.5,Aur.png,1.378407,1.108407,1.178407,HD34029
29 northern,Peg,Pegasus,0.9791,32.5947,-27.7339,2.42,Peg.png,0.918407,-0.221593,-0.191593,HD218045
30 southern,Hya,Hydra,-2.9043,-33.5496,25.8962,3,Hya.png,-0.531593,2.838407,0.368407,HD93813
31 southern,Oct,Octans,22.0434,-27.8601,-24.3108,1.0,Oct.png,-0.911593,0.398407,1.198407,HD214846
32 southern,Nor,Norma,34.9251,-17.5643,0.0068,1.0,Nor.png,-1.631593,-2.421593,1.298407,HD146686
33 southern,Mus,Musca,48.8888,-79.2952,-10.2828,1.25,Mus.png,-1.871593,3.138407,0.358407,HD109668
34 southern,Hyi,Hydrus,3.2767,-4.7183,-4.7829,1.1,Hyi.png,2.438407,-3.141593,-2.381593,HD2151
35 northern,Lac,Lacerta,-6.0878,30.5794,-3.6064,1.0,Lac.png,-1.521593,-2.391593,3.138407,HD213558
36 equatorial,Lep,Lepus,-212.6297,-184.4909,-132.1156,1.0,Lep.png,-1.801593,-2.351593,-0.861593,HD36673
37 southern,Lup,Lupus,129.1166,-102.2983,33.3251,1.2,Lup.png,-1.191593,-2.391593,0.798407,HD129056
38 southern,Men,Mensa,2.4149,-8.5586,-4.8892,1.0,Men.png,-2.101593,-2.781593,0.828407,HD43834
39 southern,Mic,Microscopium,51.0335,11.1671,-44.3692,1.0,Mic.png,0.728407,-0.831593,-0.561593,HD199951
40 equatorial,Mon,Monoceros,-93.0725,-66.8909,8.6548,1.2,Mon.png,-1.331593,1.988407,-0.891593,HD55185
41 southern,Pav,Pavo,4.4549,-2.5959,-3.2739,1.3,Pav.png,-2.391593,-2.171593,1.648407,HD190248
42 southern,Ind,Indus,133.6149,-53.5569,-115.9552,1.5,Ind.png,-2.031593,-1.491593,1.758407,HD198700
43 northern,LMi,Leo Minor,-23.3948,-2.5770,38.0756,1.1,LMi.png,-3.141593,0.478407,-2.201593,HD90537
44 northern,Lyr,Lyra,2.8086,6.7630,2.5555,1.0,Lyr.png,-1.831593,-2.091593,3.141500,HD172167
45 northern,Her,Hercules,14.0526,14.9773,12.5478,1.3,Her.png,-1.511593,-1.811593,2.288407,HD156164
46 southern,Gru,Grus,18.6528,-3.2893,-24.6602,1.3,Gru.png,-3.141593,-2.511593,-2.901593,HD209952
47 southern,Crt,Crater,1.5886,-43.9831,40.3390,1.3,Crt.png,-0.521593,3.140000,0.588407,HD98430
48 northern,Del,Delphinus,14.8599,24.6150,-8.0550,1.2,Del.png,1.308407,-0.951593,-0.241593,HD196524
49 southern,Dor,Dorado,-0.6460,-9.3172,-6.9654,1.2,Dor.png,2.118407,1.768407,-2.901593,HD33262
50 northern,Equ,Equuleus,27.7363,41.7071,-27.4371,1.2,Equ.png,-1.801593,-2.511593,2.558407,HD202447
51 southern,Eri,Eridanus,-37.5153,-23.5231,-65.6368,2.1,Eri.png,0.128407,0.698407,0.998407,HD20720
52 southern,For,Fornax,-14.0351,-17.8282,-46.5514,1.4,For.png,3.138407,2.678407,-2.351593,HD17652
53 southern,Hor,Horologium,2.1021,-27.1310,-40.5136,1.2,Hor.png,-3.141593,2.468407,-2.191593,HD16920
54 southern,Pyx,Pyxis,-66.7424,-248.9639,26.0445,1.2,Pyx.png,1.838407,-1.651593,2.708407,HD74575
55 southern,Ret,Reticulum,2.8130,-37.2904,-33.2644,1.5,Ret.png,1.998407,2.188407,-2.591593,HD27256
56 northern,Sge,Sagitta,44.3886,70.9446,-7.6264,1.2,Sge.png,-0.741593,-2.231593,2.108407,HD189319
57 southern,Scl,Sculptor,21.6545,-6.8861,-166.5240,1.3,Scl.png,-0.071593,-0.221593,0.638407,HD2429
58 southern,Sct,Scutum,48.8939,21.5158,-0.1629,1.2,Sct.png,1.188407,-1.271593,-0.971593,HD171443
59 southern,Tuc,Tucana,35.3950,-20.2535,-45.2324,1.1,Tuc.png,-0.351593,-0.161593,0.308407,HD211416
60 northern,Tri,Triangulum,-26.6263,21.9119,-16.2254,1.2,Tri.png,1.168407,0.218407,0.558407,HD13161
61 southern,TrA,Triangulum Australe,96.2283,-76.4459,-33.5257,1.2,TrA.png,-1.991593,-2.491593,1.128407,HD150798
62 southern,Tel,Telescopium,72.3444,-14.5016,-20.0248,1.2,Tel.png,-0.461593,-1.731593,0.298407,HD169467
63 southern,Ara,Ara,164.9273,-75.6246,-35.3100,1.1,Ara.png,-1.381593,-2.131593,1.048407,HD157244
64 southern,Cae,Caelum,-6.0961,-13.7926,-13.3392,1.0,Cae.png,-0.661593,0.948407,0.418407,HD29875
65 southern,CMa,Canis Major,-1.7693,-1.9125,-0.4074,1.3,CMa.png,1.128407,1.048407,1.878407,HD48915
66 northern,CMi,Canis Minor,-2.8348,-1.8906,0.7881,1.2,CMi.png,2.538407,1.138407,-3.141593,HD61421
67 southern,Vol,Volans,37.6000,-182.7856,-62.6559,1.2,Vol.png,-2.441593,1.988407,-0.351593,HD68520
68 northern,UMi,Ursa Minor,-11.3527,27.2100,25.1835,1.3,UMi.png,-2.491593,-0.581593,-2.381593,HD131873
69 northern,And,Andromdeda,-32.8276,43.3946,-27.8475,1.6,And.png,-2.021593,-3.141593,-2.521593,HD6860
70 northern,Boo,Bootes,11.2468,14.9864,30.4945,2.0,Boo.png,-3.141593,-0.601593,-2.361593,HD135722
71 northern,Vul,Vulpecula,46.7540,77.7780,5.3953,1.1,Vul.png,-2.301593,-2.061593,-3.141593,HD131873
72 northern,CVn,Canes Venatici,-3.1198,5.7935,33.1368,1.3,CVn.png,0.148407,3.138407,0.428407,HD112413
73 southern,Cir,Circinus,11.4255,-11.6937,-1.3129,1.0,Cir.png,1.448407,-0.391593,-2.211593,HD128898
74 northern,Com,Coma Berenices,1.9257,-1.2062,12.2465,1.4,Com.png,3.138407,-0.051593,-2.711593,HD114378
75 southern,CrA,Corona Australis,146.1322,-4.7492,-53.7124,1.0,CrA.png,-3.141593,-2.021593,-3.141593,HD178345
76 northern,CrB,Corona Borealis,33.5737,32.0314,52.9729,1.3,CrB.png,-3.141593,-0.601593,-2.271593,HD143107
77 northern,Cas,Cassiopeia,-36.3073,59.4424,-7.6926,1.4,Cas.png,-1.431593,3.128407,-2.331593,HD3712
78 northern,Cep,Cepheus,-2.8178,14.4985,2.3848,1.7,Cep.png,-1.331593,-2.291593,-2.931593,HD203280
79 southern,Car,Carina Vela Puppis,14.1325,-188.6018,-42.2785,2.0,Car.png,2.078407,1.048407,-3.111593,HD71129
80 northern,Col,Columba,-11.2568,-20.5973,-11.9895,1.0,Col.png,2.518407,1.358407,-2.981593,HD39425
81 northern,Per,Perseus,-139.8202,79.8063,-16.2631,1.3,Per.png,-1.751593,2.428407,-2.411593,HD22928
82 northern,Oph,Ophiuchus,127.9419,14.0822,56.2015,3.2,Oph.png,2.178407,-0.781593,-1.681593,HD149757
83 southern,PsA,Piscis Austrinus,99.9977,47.6679,-199.6345,1.0,PsA.png,3.138407,-2.541593,-2.881593,HD214748
84 southern,Cru,Crux,49.3509,-85.0446,-0.6223,1.1,Cru.png,1.718407,0.048407,-2.741593,HD108248
85 southern,Pic,Pictor,-4.5417,-45.5649,-27.1768,1.0,Pic.png,2.568407,2.138407,-2.081593,HD39523

View File

@@ -0,0 +1,38 @@
local scene_helper = asset.require('util/scene_helper')
local Keybindings = {
{
Key = "c",
Name = "Show Constellation Art",
Command = "openspace.setPropertyValue('Scene.Constellation Art*.Renderable.Opacity', 0);" ..
"openspace.setPropertyValue('Scene.Constellation Art*.Renderable.Enabled', true);" ..
"openspace.setPropertyValue('Scene.Constellation Art*.Renderable.Opacity', 0.1, 2);",
Documentation = "Enables and fades up constellation art work",
GuiPath = "/Rendering",
Local = false
},
{
Key = "SHIFT+c",
Name = "Hide Constellation Art",
Command = "openspace.setPropertyValue('Scene.Constellation Art*.Renderable.Opacity', 0, 2);",
Documentation = "Fades out constellation artwork",
GuiPath = "/Rendering",
Local = false
},
{
Key = "CTRL+c",
Name = "Disable Constellation Art",
Command = "openspace.setPropertyValue('Scene.Constellation Art*.Renderable.Enabled', false);",
Documentation = "Disable constellation artwork",
GuiPath = "/Rendering",
Local = false
}
}
asset.onInitialize(function ()
scene_helper.bindKeys(Keybindings)
end)
asset.onDeinitialize(function ()
scene_helper.unbindKeys(Keybindings)
end)

View File

@@ -50,7 +50,7 @@ local Charon = {
FadeOutStartingDistance = 1000000.0,
LabelsForceDomeRendering = true,
LabelsDistanceEPS = 1350000.0,
LabelsColor = {1.0, 1.0, 0.0, 1.0}
LabelsColor = { 1.0, 1.0, 0.0 }
}
},
Tag = { "planet_solarSystem", "planet_terrestrial" },

View File

@@ -50,7 +50,7 @@ local Pluto = {
FadeOutStartingDistance = 1000000.0,
LabelsForceDomeRendering = true,
LabelsDistanceEPS = 1350000.0,
LabelsColor = {1.0, 1.0, 0.0, 1.0}
LabelsColor = { 1.0, 1.0, 0.0 }
}
},
Tag = { "planet_solarSystem", "planet_terrestrial" },

View File

@@ -20,7 +20,7 @@ local C2019Q4BorisovTrail = {
Color = { 0.9, 0.9, 0.0 },
StartTime = "2015 JAN 01 00:00:00",
EndTime = "2024 JAN 01 00:00:00",
SampleInterval = 60
SampleInterval = 60 * 60 * 24 * 7
},
GUI = {
Name = "C-2019 Q4 Borisov Trail",

View File

@@ -1,39 +1,24 @@
local assetHelper = asset.require('util/asset_helper')
local sunTransforms = asset.require('scene/solarsystem/sun/transforms')
local descentKeyframes = asset.require('./apollo11_lem_descent.asset')
local descentRotationKeyframes = asset.require('./apollo11_lem_descent_rotation.asset')
local model = asset.require('scene/solarsystem/missions/apollo/lem_model')
local asset_helper = asset.require('util/asset_helper')
local sun_transforms = asset.require('scene/solarsystem/sun/transforms')
local moon_transforms = asset.require('scene/solarsystem/planets/earth/moon/moon')
local descentKeyframes = asset.require('./lem_descent.asset')
local descentRotationKeyframes = asset.require('./lem_descent_rotation.asset')
local lem_model = asset.require('scene/solarsystem/missions/apollo/lem_model')
local kernels = asset.require('./kernels').kernels
local models = asset.require('./models').models
asset.require('spice/base')
local kernelsFolder = asset.syncedResource({
Name = "Apollo Kernels",
Type = "HttpSynchronization",
Identifier = "apollo_11_spice",
Version = 1
})
local modelFolder = asset.syncedResource({
Name = "Apollo Models",
Type = "HttpSynchronization",
Identifier = "apollo_11_models",
Version = 1
})
local kernels = {
kernelsFolder .. "/moon_080317.tf",
kernelsFolder .. "/apollo_naif_ids.tf",
kernelsFolder .. "/moon_pa_de421_1900-2050.bpc",
kernelsFolder .. '/apollo11_orbits_full9km.bsp',
kernelsFolder .. '/apollo11_orbits_lm9km.bsp',
}
--landing - 1969-07-20T20:17:40
local apolloSpiceId = "-911"
local apolloLemSpiceId = "-911500"
local Apollo11Position = {
Identifier = "Apollo11Position",
Parent = "Moon",
Parent = moon_transforms.Moon.Identifier,
TimeFrame = {
Type = "TimeFrameInterval",
Start = "1969 JUL 19 19:38:29.183",
@@ -58,28 +43,27 @@ local Apollo11Position = {
local Apollo11Model = {
Identifier = "Apollo11",
Parent = Apollo11Position.Identifier,
TimeFrame = {
Type = "TimeFrameInterval",
Start = "1969 JUL 19 19:38:29.183",
End = "1969 JUL 22 04:55:35.183"
},
Transform = {
Scale = {
Type = "StaticScale",
Scale = 20.0
}
},
TimeFrame = {
Type = "TimeFrameInterval",
Start = "1969 JUL 19 19:38:29.183",
End = "1969 JUL 22 04:55:35.183"
},
Renderable = {
Type = "RenderableModel",
Geometry = {
Type = "MultiModelGeometry",
GeometryFile = modelFolder .. "/Apollo_CSM_shrunk_rotated_xy_double_size.obj"
GeometryFile = models .. "/Apollo_CSM_shrunk_rotated_xy_double_size.obj"
},
ColorTexture = modelFolder .. "/gray.png",
LightSources = assetHelper.getDefaultLightSources(sunTransforms.SolarSystemBarycenter.Identifier)
ColorTexture = models .. "/gray.png",
LightSources = asset_helper.getDefaultLightSources(sun_transforms.SolarSystemBarycenter.Identifier)
},
GUI = {
Hidden = false,
Name = "Apollo 11 CSM",
Path = "/Solar System/Missions/Apollo/11"
}
@@ -87,7 +71,7 @@ local Apollo11Model = {
local Apollo11MoonTrail = {
Identifier = "Apollo11MoonTrail",
Parent = "Moon",
Parent = moon_transforms.Moon.Identifier,
Renderable = {
Type = "RenderableTrailTrajectory",
Translation = {
@@ -102,7 +86,7 @@ local Apollo11MoonTrail = {
EndTime = "1969 JUL 22 04:55:35.183",
SampleInterval = 60,
EnableFade = false,
Enabled = false,
Enabled = false
},
GUI = {
Name = "Apollo 11 Moon Orbits",
@@ -140,7 +124,7 @@ local lemRotation = {
local Apollo11LemTrail = {
Identifier = "Apollo11LemTrail",
Parent = "Moon",
Parent = moon_transforms.Moon.Identifier,
Renderable = {
Type = "RenderableTrailTrajectory",
Translation = lemTranslation,
@@ -159,7 +143,7 @@ local Apollo11LemTrail = {
local Apollo11LemPosition = {
Identifier = "Apollo11LemPosition",
Parent = "Moon",
Parent = moon_transforms.Moon.Identifier,
TimeFrame = {
Type = "TimeFrameInterval",
Start = "1969 JUL 20 19:10:25.183"
@@ -169,7 +153,6 @@ local Apollo11LemPosition = {
Rotation = lemRotation
},
GUI = {
Hidden = false,
Name = "Apollo 11 Lunar Lander Position",
Path = "/Solar System/Missions/Apollo/11"
}
@@ -194,14 +177,14 @@ local Apollo11LemDescentModel = {
Type = "RenderableModel",
Geometry = {
Type = "MultiModelGeometry",
GeometryFile = model.modelFolder .. "/lmremoved.obj"
GeometryFile = lem_model.modelFolder .. "/lmremoved.obj"
},
SpecularIntensity = 0.0,
ColorTexture = model.modelFolder .. "/LM-2_ver2clean_u1_v1.jpeg",
LightSources = assetHelper.getDefaultLightSources(sunTransforms.SolarSystemBarycenter.Identifier)
RotationVector = { 273.750,28.0,309.85 },
ColorTexture = lem_model.modelFolder .. "/LM-2_ver2clean_u1_v1.jpeg",
LightSources = asset_helper.getDefaultLightSources(sun_transforms.SolarSystemBarycenter.Identifier)
},
GUI = {
Hidden = false,
Name = "Apollo 11 Descent Lem",
Path = "/Solar System/Missions/Apollo/11"
}
@@ -224,14 +207,14 @@ local Apollo11LemLandedModel = {
Type = "RenderableModel",
Geometry = {
Type = "MultiModelGeometry",
GeometryFile = model.modelFolder .. "/LM-2_ver2clean.obj"
GeometryFile = lem_model.modelFolder .. "/LM-2_ver2clean.obj"
},
SpecularIntensity = 0.0,
ColorTexture = model.modelFolder .. "/LM-2_ver2clean_u1_v1.jpeg",
LightSources = assetHelper.getDefaultLightSources(sunTransforms.SolarSystemBarycenter.Identifier)
RotationVector = { 273.750,28.0,309.85 },
ColorTexture = lem_model.modelFolder .. "/LM-2_ver2clean_u1_v1.jpeg",
LightSources = asset_helper.getDefaultLightSources(sun_transforms.SolarSystemBarycenter.Identifier)
},
GUI = {
Hidden = false,
Name = "Apollo 11 Landed Lem",
Path = "/Solar System/Missions/Apollo/11"
}
@@ -248,4 +231,4 @@ local exportList = {
Apollo11LemTrail,
}
assetHelper.registerSceneGraphNodesAndExport(asset, exportList)
asset_helper.registerSceneGraphNodesAndExport(asset, exportList)

View File

@@ -0,0 +1,16 @@
local kernelsFolder = asset.syncedResource({
Name = "Apollo Kernels",
Type = "HttpSynchronization",
Identifier = "apollo_11_spice",
Version = 1
})
local kernels = {
kernelsFolder .. "/moon_080317.tf",
kernelsFolder .. "/apollo_naif_ids.tf",
kernelsFolder .. "/moon_pa_de421_1900-2050.bpc",
kernelsFolder .. '/apollo11_orbits_full9km.bsp',
kernelsFolder .. '/apollo11_orbits_lm9km.bsp',
}
asset.export('kernels', kernels)

View File

@@ -0,0 +1,53 @@
-- a11_lem.asset
local asset_helper = asset.require('util/asset_helper')
local sun_transforms = asset.require('scene/solarsystem/sun/transforms')
local moon_asset = asset.require('scene/solarsystem/planets/earth/moon/moon')
local lem_model = asset.require('scene/solarsystem/missions/apollo/lem_model')
local Apollo11Lem = {
Identifier = "Apollo11Lem",
Parent = moon_asset.Moon.Identifier,
Transform = {
Translation = {
Type = "GlobeTranslation",
Globe = moon_asset.Moon.Identifier,
Longitude = -360+23.47306,
Latitude = 0.67402,
Altitude = -1927.65,
UseHeightMap = false
},
},
GUI = {
Name = "Apollo 11 Lem Position",
Path = "/Solar System/Missions/Apollo/11"
}
}
local Apollo11LemModel = {
Identifier = "Apollo11LemModel",
Parent = Apollo11Lem.Identifier,
Transform = {
Scale = {
Type = "StaticScale",
Scale = 0.24
}
},
Renderable = {
Type = "RenderableModel",
Geometry = {
Type = "MultiModelGeometry",
GeometryFile = lem_model.modelFolder .. "/LM-2_ver2clean.obj"
},
RotationVector = { 91.044090,171.229706,111.666664 },
ColorTexture = lem_model.modelFolder .. "/LM-2_ver2clean_u1_v1.jpeg",
LightSources = asset_helper.getDefaultLightSources(sun_transforms.SolarSystemBarycenter.Identifier)
},
GUI = {
Name = "Apollo 11 Lem",
Path = "/Solar System/Missions/Apollo/11"
}
}
asset_helper.registerSceneGraphNodesAndExport(asset, { Apollo11Lem, Apollo11LemModel })

View File

@@ -1,16 +1,16 @@
-- The following keyframe data was converted from the_last_four_minutes_2019-06-09.kml,
-- which is available at http://apollo.mem-tek.com/GoogleMoonKMZ.html
-- In the conversion, some assumptions and simplifications were made:
-- * The descent markers in the KML have Point nodes expressed "relative to ground"
-- We assume that the ground is fixed at altitude 1927.65 meters below the reference ellipsoid,
-- in order to match height data from a height map constructed from LRO data.
-- * We manually offset the coordiantes slightly, by 0.013496003622691433 degrees in longitude and -0.007472581881668883 degrees in latitude,
-- in order to match the landing spot specified at long: 23.47306, lat: 0.67402 extracted from footage from LRO.
-- The kml file provided 23.45956399637731, lat: 0.6814925818816688 as the landing coordinates - hence the manual offset.
-- If more accurate height/color maps are aqcuired, these values can be adjusted by running the conversion script again.
-- For more information, contact emil.axelsson@liu.se.
--[[
In the conversion, some assumptions and simplifications were made:
* The descent markers in the KML have Point nodes expressed "relative to ground".
We assume that the ground is fixed at altitude 1927.65 meters below the reference ellipsoid,
in order to match height data from a height map constructed from LRO data.
* We manually offset the coordiantes slightly, by 0.013496003622691433 degrees in longitude and -0.007472581881668883 degrees in latitude,
in order to match the landing spot specified at long: 23.47306, lat: 0.67402 extracted from footage from LRO.
The kml file provided 23.45956399637731, lat: 0.6814925818816688 as the landing coordinates - hence the manual offset.
If more accurate height/color maps are aqcuired, these values can be adjusted by running the conversion script again.
]]--
local keyframes = {
['1969-07-20T20:13:40'] = {
@@ -1832,4 +1832,3 @@ local keyframes = {
};
asset.export('keyframes', keyframes);

View File

@@ -1,8 +1,8 @@
--apollo_11_lem_flipbook.asset
local helper = asset.require('util/vrt_flipbook_helper')
local moon_asset = asset.require('scene/solarsystem/planets/earth/moon/moon')
local assetPrefix = "A11flip";
local assetGlobe = "Moon";
local assetGlobe = moon_asset.Moon.Identifier;
local flipbookCount = 19;
local flipbook = nil;

View File

@@ -0,0 +1,8 @@
local modelFolder = asset.syncedResource({
Name = "Apollo Models",
Type = "HttpSynchronization",
Identifier = "apollo_11_models",
Version = 1
})
asset.export('models', modelFolder)

View File

@@ -0,0 +1,115 @@
local assetHelper = asset.require('util/asset_helper')
local moon_transforms = asset.require('scene/solarsystem/planets/earth/moon/moon')
local sun_transforms = asset.require('scene/solarsystem/sun/transforms')
local csm = asset.require('../apollo_csm')
asset.require('spice/base')
local kernels = asset.require('scene/solarsystem/missions/apollo/15/kernels').kernels
-- local models = asset.syncedResource({
-- Name = "Apollo 15 Models",
-- Type = "HttpSynchronization",
-- Identifier = "apollo_models",
-- Version = 1
-- })
local LightSources = {
{
Type = "SceneGraphLightSource",
Identifier = "Sun",
Node = sun_transforms.SolarSystemBarycenter.Identifier,
Intensity = 1.0
},
-- {
-- Identifier = "Camera",
-- Type = "CameraLightSource",
-- Intensity = 0.5,
-- Enabled = false
-- }
}
local Apollo15 = {
Identifier = "Apollo15",
Parent = moon_transforms.Moon.Identifier,
Transform = {
Translation = {
Type = "SpiceTranslation",
Target = "APOLLO 15",
Observer = "MOON",
Frame = "IAU_MOON",
Kernels = kernels
},
Rotation = {
Type = "SpiceRotation",
SourceFrame = "A15_METRIC",
DestinationFrame = "GALACTIC"
}
},
TimeFrame = {
Type = "TimeFrameInterval",
Start = "1971-07-30T02:22:00.00",
End = "1971-08-01T18:05:00.00"
},
GUI = {
Name = "Apollo 15",
Path = "/Solar System/Missions/Apollo/15"
}
}
-- local Apollo15Main = {
-- Identifier = "Apollo15Main",
-- Parent = Apollo15.Identifier,
-- Renderable = {
-- Type = "RenderableModel",
-- Geometry = {
-- Type = "MultiModelGeometry",
-- -- GeometryFile = models .. "/Apollo_Spacecraft.obj"
-- GeometryFile = models .. "/Apollo_CSM_shrunk_rotated_xy_doubble_size.obj"
-- },
-- ColorTexture = models .. "/gray.png",
-- LightSources = LightSources,
-- DisableFaceCulling = true
-- },
-- GUI = {
-- Name = "Apollo 15 Main",
-- Path = "/Solar System/Missions/Apollo 15"
-- }
-- }
local Apollo15Trail = {
Identifier = "Apollo15Trail",
Parent = moon_transforms.Moon.Identifier,
Renderable = {
Type = "RenderableTrailTrajectory",
Translation = {
Type = "SpiceTranslation",
Target = "APOLLO 15",
Observer = "MOON",
Frame = "IAU_MOON",
Kernels = kernels
},
Color = { 0.70, 0.50, 0.20 },
StartTime = "1971 JUL 26",
EndTime = "1971 AUG 01 14:30:41.680",
SampleInterval = 2
},
GUI = {
Name = "Apollo 15 Trail",
Path = "/Solar System/Missions/Apollo/15"
}
}
local model_part = csm.createCsmModel(Apollo15.Identifier)
local list = { Apollo15, Apollo15Trail }
for k,v in pairs(model_part) do
v.GUI.Path = "/Solar System/Missions/Apollo/15/Model"
table.insert(list, v)
end
assetHelper.registerSceneGraphNodesAndExport(asset, list)

View File

@@ -0,0 +1,92 @@
local folder = asset.syncedResource({
Name = "Apollo Kernels",
Type = "HttpSynchronization",
Identifier = "apollo_spice",
Version = 1
})
local kernels = {
folder .. "/apollo15.0001.tsc",
-- folder .. '/AS15-P_v01.bc',
folder .. '/apollo15.0001.tf',
folder .. '/apollo15MetricAddendum002.ti',
-- folder .. '/apollo15PanoramicAddendum001.ti',
folder .. '/apollo15_metric.0002.ti',
-- folder .. '/apollo15_panoramic.0001.ti',
folder .. '/apollo15-1.bsp',
folder .. '/AS15-M_v01.bc',
-- folder .. '/AS15-M_v01.bsp',
}
-- local kernels = {
-- --sclk
-- folder .. "apollo15.0001.tsc",
-- --pck
-- folder .. "moon_080317.tf",
-- folder .. "moon_assoc_me.tf",
-- --ik
-- folder .. "apollo15_metric_v2.0001.ti",
-- folder .. "apollo15_panoramic.0001.ti",
-- --tspk
-- folder .. "de421.bsp",
-- folder .. "moon_pa_de421_1900-2050.bpc",
-- --iak
-- folder .. "apollo15MetricAddendum002.ti",
-- folder .. "apolloPanAddendum001.ti",
-- --fk
-- folder .. "apollo15_v2.0001.tf",
-- folder .. "apollo15_v2.0002.tf",
-- --spk
-- folder .. "AS15_M_REV23_SMITHED_V01.bsp",
-- folder .. "AS15_M_REV4.bsp ",
-- folder .. "AS15_M_REV70_SMITHED_V01.bsp",
-- folder .. "AS15_M_REV04_v2.bsp ",
-- folder .. "AS15_M_REV27_SMITHED_V01.bsp",
-- folder .. "AS15_M_REV44_SMITHED_V01.bsp",
-- folder .. "AS15_M_REV71_SMITHED_V01.bsp",
-- folder .. "AS15_M_REV15_SMITHED_V01.bsp",
-- folder .. "AS15_M_REV33_SMITHED_V01.bsp",
-- folder .. "AS15_M_REV50_SMITHED_V01.bsp",
-- folder .. "AS15_M_REV71_SMITHED_V02.bsp",
-- folder .. "AS15_M_REV15_v2.bsp ",
-- folder .. "AS15_M_REV34_SMITHED_V01.bsp",
-- folder .. "AS15_M_REV60_SMITHED_V01.bsp",
-- folder .. "AS15_M_REV72_v2.bsp",
-- folder .. "AS15_M_REV16_SMITHED_V01.bsp",
-- folder .. "AS15_M_REV35_SMITHED_V02.bsp",
-- folder .. "AS15_M_REV62_SMITHED_V01.bsp",
-- folder .. "AS15_M_REV22_SMITHED_V01.bsp",
-- folder .. "AS15_M_REV38_SMITHED_V01.bsp",
-- folder .. "AS15_M_REV63_SMITHED_V01.bsp",
-- --ck
-- folder .. "AS15_M_REV04_SMITHED_V01.bc",
-- folder .. "AS15_M_REV15_SMITHED_V01.bc",
-- folder .. "AS15_M_REV16_SMITHED_V01.bc",
-- folder .. "AS15_M_REV22_SMITHED_V01.bc",
-- folder .. "AS15_M_REV23_SMITHED_V01.bc",
-- folder .. "AS15_M_REV27_SMITHED_V01.bc",
-- folder .. "AS15_M_REV33_SMITHED_V01.bc",
-- folder .. "AS15_M_REV34_SMITHED_V01.bc",
-- folder .. "AS15_M_REV35_SMITHED_V01.bc",
-- folder .. "AS15_M_REV35_SMITHED_V02.bc",
-- folder .. "AS15_M_REV38_SMITHED_V01.bc",
-- folder .. "AS15_M_REV44_SMITHED_V01.bc",
-- folder .. "AS15_M_REV50_SMITHED_V01.bc",
-- folder .. "AS15_M_REV60_SMITHED_V01.bc",
-- folder .. "AS15_M_REV62_SMITHED_V01.bc",
-- folder .. "AS15_M_REV63_SMITHED_V01.bc",
-- folder .. "AS15_M_REV70_SMITHED_V01.bc",
-- folder .. "AS15_M_REV71_SMITHED_V01.bc",
-- folder .. "AS15_M_REV71_SMITHED_V02.bc",
-- folder .. "AS15_M_REV72_v2.bc",
-- }
asset.export("kernels", kernels)

View File

@@ -0,0 +1,8 @@
local models = asset.syncedResource({
Name = "Apollo Boulders Models",
Type = "HttpSynchronization",
Identifier = "apollo_boulders",
Version = 1
})
asset.export('models', models)

View File

@@ -1,20 +1,13 @@
local sunTransforms = asset.require('scene/solarsystem/sun/transforms')
local assetHelper = asset.require('util/asset_helper')
local earthAsset = asset.require('scene/solarsystem/planets/earth/earth')
local moonAsset = asset.require('scene/solarsystem/planets/earth/moon/moon')
local models = asset.syncedResource({
Name = "Apollo Models",
Type = "HttpSynchronization",
Identifier = "apollo_boulders",
Version = 1
})
local sun_transforms = asset.require('scene/solarsystem/sun/transforms')
local asset_helper = asset.require('util/asset_helper')
local moon_asset = asset.require('scene/solarsystem/planets/earth/moon/moon')
local models = asset.require('./boulder_models').models
local LightSources = {
{
Type = "SceneGraphLightSource",
Identifier = "Sun",
Node = sunTransforms.SolarSystemBarycenter.Identifier,
Node = sun_transforms.SolarSystemBarycenter.Identifier,
Intensity = 1.0
},
{
@@ -26,11 +19,11 @@ local LightSources = {
local Station2Boulder1Holder = {
Identifier = "Station_2_Boulder1",
Parent = moonAsset.Moon.Identifier,
Parent = moon_asset.Moon.Identifier,
Transform = {
Translation = {
Type = "GlobeTranslation",
Globe = moonAsset.Moon.Identifier,
Globe = moon_asset.Moon.Identifier,
Longitude = -360+30.5294692,
Latitude = 20.098824,
Altitude = -2442.8,
@@ -58,6 +51,7 @@ local Station2Boulder1Model = {
Type = "MultiModelGeometry",
GeometryFile = models .. "/b1-v2.obj"
},
RotationVector = { 243.243256 ,206.270264, 309.677429 },
ColorTexture = models .. "/b1-v2_u1_v1.jpeg",
LightSources = LightSources,
PerformShading = false,
@@ -71,11 +65,11 @@ local Station2Boulder1Model = {
local Station2Boulder2Holder = {
Identifier = "Station_2_Boulder2",
Parent = moonAsset.Moon.Identifier,
Parent = moon_asset.Moon.Identifier,
Transform = {
Translation = {
Type = "GlobeTranslation",
Globe = moonAsset.Moon.Identifier,
Globe = moon_asset.Moon.Identifier,
Longitude = -360+30.5287892,
Latitude = 20.098240,
Altitude = -2434.6,
@@ -103,6 +97,7 @@ local Station2Boulder2Model = {
Type = "MultiModelGeometry",
GeometryFile = models .. "/b2model.obj"
},
RotationVector = { 66.162155, 7.783780, 114.193550 },
ColorTexture = models .. "/b2model_u1_v1.jpeg",
LightSources = LightSources,
PerformShading = false,
@@ -116,11 +111,11 @@ local Station2Boulder2Model = {
local Station2Boulder3Holder = {
Identifier = "Station_2_Boulder3",
Parent = moonAsset.Moon.Identifier,
Parent = moon_asset.Moon.Identifier,
Transform = {
Translation = {
Type = "GlobeTranslation",
Globe = moonAsset.Moon.Identifier,
Globe = moon_asset.Moon.Identifier,
Longitude = -360+30.5294692,
Latitude = 20.098610,
Altitude = -2441.55,
@@ -148,6 +143,7 @@ local Station2Boulder3Model = {
Type = "MultiModelGeometry",
GeometryFile = models .. "/b3model.obj"
},
RotationVector = { 161.513519 ,243.243256, 65.806450 },
ColorTexture = models .. "/b3model_u1_v1.jpeg",
LightSources = LightSources,
PerformShading = false,
@@ -159,25 +155,8 @@ local Station2Boulder3Model = {
}
}
assetHelper.registerSceneGraphNodesAndExport(asset, {
asset_helper.registerSceneGraphNodesAndExport(asset, {
Station2Boulder1Holder, Station2Boulder1Model,
Station2Boulder2Holder, Station2Boulder2Model,
Station2Boulder3Holder, Station2Boulder3Model
})
asset.onInitialize(function ()
openspace.setPropertyValueSingle(
'Scene.Station2Boulder1Model.Renderable.RotationVector',
{ 243.243256 ,206.270264, 309.677429 }
);
openspace.setPropertyValueSingle(
'Scene.Station2Boulder3Model.Renderable.RotationVector',
{ 161.513519 ,243.243256, 65.806450 }
);
openspace.setPropertyValueSingle(
'Scene.Station2Boulder2Model.Renderable.RotationVector',
{ 66.162155, 7.783780, 114.193550 }
);
end)

View File

@@ -1,20 +1,13 @@
local sunTransforms = asset.require('scene/solarsystem/sun/transforms')
local assetHelper = asset.require('util/asset_helper')
local models = asset.syncedResource({
Name = "Apollo Models",
Type = "HttpSynchronization",
Identifier = "apollo_boulders",
Version = 1
})
local sun_transforms = asset.require('scene/solarsystem/sun/transforms')
local asset_helper = asset.require('util/asset_helper')
local moon_asset = asset.require('scene/solarsystem/planets/earth/moon/moon')
local models = asset.require('./boulder_models').models
local LightSources = {
{
Type = "SceneGraphLightSource",
Identifier = "Sun",
Node = sunTransforms.SolarSystemBarycenter.Identifier,
Node = sun_transforms.SolarSystemBarycenter.Identifier,
Intensity = 1.0
},
{
@@ -24,17 +17,14 @@ local LightSources = {
}
}
local earthAsset = asset.require('scene/solarsystem/planets/earth/earth')
local moonAsset = asset.require('scene/solarsystem/planets/earth/moon/moon')
local Station6Frag1Holder = {
Identifier = "Station_6_Fragment1",
Parent = moonAsset.Moon.Identifier,
Parent = moon_asset.Moon.Identifier,
Transform = {
Translation = {
Type = "GlobeTranslation",
Globe = moonAsset.Moon.Identifier,
Globe = moon_asset.Moon.Identifier,
Longitude = -360+30.80068,
Latitude = 20.2903,
Altitude = -2562.6,
@@ -53,7 +43,7 @@ local Station6Frag1Model = {
Transform = {
Translation = {
Type = "GlobeTranslation",
Globe = moonAsset.Moon.Identifier,
Globe = moon_asset.Moon.Identifier,
Longitude = -360+30.8007,
Latitude = 20.2903,
Altitude = -2562.6,
@@ -72,6 +62,7 @@ local Station6Frag1Model = {
Type = "MultiModelGeometry",
GeometryFile = models .. "/A17-S6-frag1.obj"
},
RotationVector = { 235.909088,165.000000,286.299194 },
ColorTexture = models .. "/A17-S6-frag1.png",
LightSources = LightSources,
PerformShading = false,
@@ -87,7 +78,7 @@ local Station6Frag1Model = {
local Station6Frag23Holder = {
Identifier = "Station_6_Fragments_2_3",
Parent = moonAsset.Moon.Identifier,
Parent = moon_asset.Moon.Identifier,
GUI = {
Name = "Station 6 Fragments 2 & 3 Holder",
Path = "/Solar System/Missions/Apollo/17/Station 6"
@@ -105,7 +96,7 @@ local Station6Frag2Model = {
},
Translation = {
Type = "GlobeTranslation",
Globe = moonAsset.Moon.Identifier,
Globe = moon_asset.Moon.Identifier,
Longitude = -360+30.80055,
Latitude = 20.289808,
Altitude = -2566.5,
@@ -118,6 +109,7 @@ local Station6Frag2Model = {
Type = "MultiModelGeometry",
GeometryFile = models .. "/station6_boulder_frag2.obj"
},
RotationVector = { 336.959991,210.239990,325.984253 },
ColorTexture = models .. "/frag2crop_u1_v1.jpeg",
LightSources = LightSources,
PerformShading = false,
@@ -129,8 +121,6 @@ local Station6Frag2Model = {
}
}
local Station6Frag3Model = {
Identifier = "A17S6F3",
Parent = Station6Frag23Holder.Identifier,
@@ -141,7 +131,7 @@ local Station6Frag3Model = {
},
Translation = {
Type = "GlobeTranslation",
Globe = moonAsset.Moon.Identifier,
Globe = moon_asset.Moon.Identifier,
Longitude = -360+30.80053,
Latitude = 20.29030,
Altitude = -2563.0,
@@ -154,6 +144,7 @@ local Station6Frag3Model = {
Type = "MultiModelGeometry",
GeometryFile = models .. "/station6_boulder_frag3.obj"
},
RotationVector = { 293.181824,255.000000,4.090910 },
ColorTexture = models .. "/frag3crop_u1_v1.jpeg",
LightSources = LightSources,
PerformShading = false,
@@ -165,22 +156,6 @@ local Station6Frag3Model = {
}
}
assetHelper.registerSceneGraphNodesAndExport(asset, {
asset_helper.registerSceneGraphNodesAndExport(asset, {
Station6Frag1Holder, Station6Frag1Model, Station6Frag23Holder, Station6Frag2Model, Station6Frag3Model,
})
asset.onInitialize(function ()
openspace.setPropertyValueSingle('Scene.Station6Frag1Model.Renderable.RotationVector', {235.909088,165.000000,286.299194});
openspace.setPropertyValueSingle('Scene.A17S6F5.Renderable.RotationVector', {336.959991,210.239990,325.984253});
openspace.setPropertyValueSingle('Scene.A17S6F3.Renderable.RotationVector', {293.181824,255.000000,4.090910});
openspace.setPropertyValueSingle('Scene.Station6Frag1Model.Renderable.PerformShading', false);
openspace.setPropertyValueSingle("NavigationHandler.OrbitalNavigator.MinimumAllowedDistance", 0.050000)
end)

View File

@@ -1,19 +1,13 @@
local sunTransforms = asset.require('scene/solarsystem/sun/transforms')
local assetHelper = asset.require('util/asset_helper')
local models = asset.syncedResource({
Name = "Apollo Models",
Type = "HttpSynchronization",
Identifier = "apollo_boulders",
Version = 1
})
local sun_transforms = asset.require('scene/solarsystem/sun/transforms')
local asset_helper = asset.require('util/asset_helper')
local moon_asset = asset.require('scene/solarsystem/planets/earth/moon/moon')
local models = asset.require('./boulder_models').models
local LightSources = {
{
Type = "SceneGraphLightSource",
Identifier = "Sun",
Node = sunTransforms.SolarSystemBarycenter.Identifier,
Node = sun_transforms.SolarSystemBarycenter.Identifier,
Intensity = 1.0
},
{
@@ -23,15 +17,13 @@ local LightSources = {
}
}
local moonAsset = asset.require('scene/solarsystem/planets/earth/moon/moon')
local Station7BoulderHolder = {
Identifier = "Station_7_Boulder",
Parent = moonAsset.Moon.Identifier,
Parent = moon_asset.Moon.Identifier,
Transform = {
Translation = {
Type = "GlobeTranslation",
Globe = moonAsset.Moon.Identifier,
Globe = moon_asset.Moon.Identifier,
Longitude = -360+30.8165882,
Latitude = 20.2908556,
Altitude = -2593.5,
@@ -59,6 +51,7 @@ local Station7BoulderModel = {
Type = "MultiModelGeometry",
GeometryFile = models .. "/b7model.obj"
},
RotationVector = { 1.945950,274.378387,212.903214 },
ColorTexture = models .. "/b7model_u1_v1.jpeg",
LightSources = LightSources,
PerformShading = false,
@@ -70,11 +63,6 @@ local Station7BoulderModel = {
}
}
assetHelper.registerSceneGraphNodesAndExport(asset, {
asset_helper.registerSceneGraphNodesAndExport(asset, {
Station7BoulderHolder, Station7BoulderModel
})
asset.onInitialize(function ()
openspace.setPropertyValueSingle('Scene.Station7BoulderModel.Renderable.RotationVector', {1.945950,274.378387,212.903214});
end)

View File

@@ -1,17 +1,16 @@
--a17_lem.asset
local assetHelper = asset.require('util/asset_helper')
local sunTransforms = asset.require('scene/solarsystem/sun/transforms')
local moonAsset = asset.require('scene/solarsystem/planets/earth/moon/moon')
local asset_helper = asset.require('util/asset_helper')
local sun_transforms = asset.require('scene/solarsystem/sun/transforms')
local moon_asset = asset.require('scene/solarsystem/planets/earth/moon/moon')
local model = asset.require('scene/solarsystem/missions/apollo/lem_model')
local Apollo17Lem = {
Identifier = "Apollo17Lem",
Parent = moonAsset.Moon.Identifier,
Parent = moon_asset.Moon.Identifier,
Transform = {
Translation = {
Type = "GlobeTranslation",
Globe = moonAsset.Moon.Identifier,
Globe = moon_asset.Moon.Identifier,
Longitude = -329.22833,
Latitude = 20.19092,
UseHeightmap = true
@@ -40,21 +39,14 @@ local Apollo17LemModel = {
GeometryFile = model.modelFolder .. "/LM-2_ver2clean.obj"
},
SpecularIntensity = 0.0,
RotationVector = { 110.255219,171.229706,126.666664 },
ColorTexture = model.modelFolder .. "/LM-2_ver2clean_u1_v1.jpeg",
LightSources = assetHelper.getDefaultLightSources(sunTransforms.SolarSystemBarycenter.Identifier)
LightSources = asset_helper.getDefaultLightSources(sun_transforms.SolarSystemBarycenter.Identifier)
},
GUI = {
Hidden = false,
Name = "Apollo 17 Lem",
Path = "/Solar System/Missions/Apollo/17"
}
}
assetHelper.registerSceneGraphNodesAndExport(asset, {
Apollo17Lem,
Apollo17LemModel,
})
asset.onInitialize(function ()
openspace.setPropertyValueSingle('Scene.Apollo17LemModel.Renderable.RotationVector', { 110.255219,171.229706,126.666664 });
end)
asset_helper.registerSceneGraphNodesAndExport(asset, { Apollo17Lem, Apollo17LemModel })

View File

@@ -0,0 +1,3 @@
asset.require('./model')
asset.require('./launch_model')
asset.require('./trails')

View File

@@ -0,0 +1,17 @@
local kernelsFolder = asset.syncedResource({
Name = "Apollo Kernels",
Type = "HttpSynchronization",
Identifier = "apollo_spice",
Version = 1
})
local kernels = {
kernelsFolder .. "/moon_080317.tf",
kernelsFolder .. "/apollo8.tf",
kernelsFolder .. "/moon_pa_de421_1900-2050.bpc",
kernelsFolder .. '/apollo8.tsc',
kernelsFolder .. '/apollo8.bsp',
kernelsFolder .. '/apollo8_earthrise.bc',
}
asset.export('kernels', kernels)

View File

@@ -0,0 +1,65 @@
local asset_helper = asset.require('util/asset_helper')
local earth_transforms = asset.require('scene/solarsystem/planets/earth/transforms')
local kernels = asset.require('./kernels').kernels
local csm = asset.require('../apollo_csm')
local apolloSpiceId = "-908"
local Apollo8Launch = {
Identifier = "Apollo8Launch",
Parent = earth_transforms.EarthIAU.Identifier,
TimeFrame = {
Type = "TimeFrameInterval",
Start = "1968 DEC 21",
End = "1968 DEC 28"
},
Transform = {
Translation = {
Type = "SpiceTranslation",
Target = apolloSpiceId,
Observer = "EARTH",
Frame = "IAU_EARTH",
Kernels = kernels
},
},
GUI = {
Name = "Apollo 8 Launch Capsule",
Path = "/Solar System/Missions/Apollo"
}
}
local Apollo8LaunchModel = {
Identifier = "Apollo8LaunchModel",
Parent = Apollo8Launch.Identifier,
TimeFrame = {
Type = "TimeFrameInterval",
Start = "1968 DEC 21",
End = "1968 DEC 22"
},
Transform = {
Scale = {
Type = "StaticScale",
-- The scale of the model is in cm; OpenSpace is in m
Scale = 0.01
},
Rotation = {
Type = "StaticRotation",
Rotation = {0.0, 0.0, -3.1415 / 2}
}
},
GUI = {
Hidden = true,
Name = "Apollo 8 Launch Model",
Path = "/Solar System/Missions/Apollo/8"
}
}
local launch_model_part = csm.createCsmModel(Apollo8LaunchModel.Identifier)
local list = { Apollo8Launch, Apollo8LaunchModel }
for k,v in pairs(launch_model_part) do
v.GUI.Path = "/Solar System/Missions/Apollo/8/Model"
table.insert(list, v)
end
asset_helper.registerSceneGraphNodesAndExport(asset, list)

View File

@@ -0,0 +1,93 @@
local asset_helper = asset.require('util/asset_helper')
local earth_transforms = asset.require('scene/solarsystem/planets/earth/transforms')
local kernels = asset.require('./kernels').kernels
local csm = asset.require('../apollo_csm')
local apolloSpiceId = "-908"
local Apollo8 = {
Identifier = "Apollo8",
Parent = earth_transforms.EarthBarycenter.Identifier,
TimeFrame = {
Type = "TimeFrameInterval",
Start = "1968 DEC 21",
End = "1968 DEC 28"
},
Transform = {
Translation = {
Type = "SpiceTranslation",
Target = apolloSpiceId,
Observer = "EARTH BARYCENTER",
Frame = "GALACTIC",
Kernels = kernels
},
Rotation = {
Type = "SpiceRotation",
SourceFrame = "A8_EARTHRISE",
DestinationFrame = "GALACTIC",
TimeFrame = {
-- The orientation of Apollo 8 is only available during the few minutes
-- when the Earthrise picture was taken.
Type = "TimeFrameInterval",
Start = "1968 DEC 24 16:37:19",
End = "1968 DEC 24 16:40:15"
}
}
},
GUI = {
Name = "Apollo 8",
Path = "/Solar System/Missions/Apollo"
}
}
local Apollo8Model = {
Identifier = "Apollo8Model",
Parent = Apollo8.Identifier,
TimeFrame = {
Type = "TimeFrameInterval",
Start = "1968 DEC 22",
End = "1968 DEC 28"
},
Transform = {
Scale = {
Type = "StaticScale",
-- The scale of the model is in cm; OpenSpace is in m
Scale = 0.01
},
Rotation = {
Type = "StaticRotation",
Rotation = {0.0, 0.0, -3.1415 / 2}
}
},
GUI = {
Hidden = true,
Name = "Apollo 8 Model",
Path = "/Solar System/Missions/Apollo"
}
}
-- The pivot node is used for navigation inside the spacecraft
local Apollo8Pivot = {
Identifier = "Apollo8Pivot",
Parent = Apollo8.Identifier,
Transform = {
Translation = {
Type = "StaticTranslation",
Position = { 0, 2.5, 0 }
},
},
GUI = {
Name = "Apollo 8 Pivot",
Path = "/Solar System/Missions/Apollo"
}
}
local model_part = csm.createCsmModel(Apollo8Model.Identifier)
local list = { Apollo8, Apollo8Model, Apollo8Pivot }
for k,v in pairs(model_part) do
v.GUI.Path = "/Solar System/Missions/Apollo/8/Model"
table.insert(list, v)
end
asset_helper.registerSceneGraphNodesAndExport(asset, list)

View File

@@ -0,0 +1,82 @@
local assetHelper = asset.require('util/asset_helper')
local earth_transforms = asset.require('scene/solarsystem/planets/earth/transforms')
local moon_transforms = asset.require('scene/solarsystem/planets/earth/moon/moon')
local kernels = asset.require('./kernels').kernels
local apolloSpiceId = "-908"
local LaunchTrail = {
Identifier = "Apollo8LaunchTrail",
Parent = earth_transforms.EarthIAU.Identifier,
Renderable = {
Type = "RenderableTrailTrajectory",
Translation = {
Type = "SpiceTranslation",
Target = apolloSpiceId,
Observer = "EARTH",
Frame = "IAU_EARTH",
Kernels = kernels
},
Color = { 0.70, 0.50, 0.20 },
StartTime = "1968 DEC 21 12:51:00",
EndTime = "1968 DEC 21 23:23:22",
SampleInterval = 30,
RenderBinMode = "PostDeferredTransparent"
},
GUI = {
Name = "Apollo 8 Launch Trail",
Path = "/Solar System/Missions/Apollo"
}
}
local MoonTrail = {
Identifier = "Apollo8MoonTrail",
Parent = moon_transforms.Moon.Identifier,
Renderable = {
Type = "RenderableTrailTrajectory",
Translation = {
Type = "SpiceTranslation",
Target = apolloSpiceId,
Observer = "MOON",
Frame = "IAU_MOON",
Kernels = kernels
},
Color = { 0.70, 0.50, 0.20 },
StartTime = "1968 DEC 23",
EndTime = "1968 DEC 26",
SampleInterval = 30,
Enabled = false,
},
GUI = {
Name = "Apollo 8 Moon Trail",
Path = "/Solar System/Missions/Apollo"
}
}
local EarthBarycenterTrail = {
Identifier = "Apollo8EarthBarycenterTrail",
Parent = earth_transforms.EarthCenter.Identifier,
Renderable = {
Type = "RenderableTrailTrajectory",
Translation = {
Type = "SpiceTranslation",
Target = apolloSpiceId,
Observer = "EARTH",
Frame = "GALACTIC",
Kernels = kernels
},
Color = { 0.8, 0.2, 0.2 },
StartTime = "1968 DEC 21",
EndTime = "1968 DEC 28",
SampleInterval = 30,
Enabled = true,
},
GUI = {
Name = "Apollo 8 Earth Barycenter Trail",
Path = "/Solar System/Missions/Apollo"
}
}
assetHelper.registerSceneGraphNodesAndExport(asset, { LaunchTrail, MoonTrail, EarthBarycenterTrail })

View File

@@ -1,60 +0,0 @@
-- a11_lem.asset
local assetHelper = asset.require('util/asset_helper')
local sunTransforms = asset.require('scene/solarsystem/sun/transforms')
local moonAsset = asset.require('scene/solarsystem/planets/earth/moon/moon')
local model = asset.require('scene/solarsystem/missions/apollo/lem_model')
local Apollo11Lem = {
Identifier = "Apollo11Lem",
Parent = moonAsset.Moon.Identifier,
Transform = {
Translation = {
Type = "GlobeTranslation",
Globe = moonAsset.Moon.Identifier,
Longitude = -360+23.47306,
Latitude = 0.67402,
Altitude = -1927.65,
UseHeightMap = false
},
},
GUI = {
Name = "Apollo 11 Lem Position",
Path = "/Solar System/Missions/Apollo/11"
}
}
local Apollo11LemModel = {
Identifier = "Apollo11LemModel",
Parent = Apollo11Lem.Identifier,
Transform = {
Scale = {
Type = "StaticScale",
Scale = 0.24
}
},
Renderable = {
Type = "RenderableModel",
Geometry = {
Type = "MultiModelGeometry",
GeometryFile = model.modelFolder .. "/LM-2_ver2clean.obj"
},
ColorTexture = model.modelFolder .. "/LM-2_ver2clean_u1_v1.jpeg",
LightSources = assetHelper.getDefaultLightSources(sunTransforms.SolarSystemBarycenter.Identifier)
},
GUI = {
Hidden = false,
Name = "Apollo 11 Lem",
Path = "/Solar System/Missions/Apollo/11"
}
}
assetHelper.registerSceneGraphNodesAndExport(asset, {
Apollo11Lem,
Apollo11LemModel
})
asset.onInitialize(function ()
openspace.setPropertyValueSingle('Scene.Apollo11LemModel.Renderable.RotationVector', { 91.044090,171.229706,111.666664} );
end)

View File

@@ -1,203 +0,0 @@
local assetHelper = asset.require('util/asset_helper')
local sunTransforms = asset.require('scene/solarsystem/sun/transforms')
asset.require('spice/base')
--asset.require('scene/solarsystem/missions/apollo/a15kernels')
local models = asset.syncedResource({
Name = "Apollo 15 Models",
Type = "HttpSynchronization",
Identifier = "apollo_models",
Version = 1
})
local kernels = asset.syncedResource({
Name = "Apollo Kernels",
Type = "HttpSynchronization",
Identifier = "apollo_spice",
Version = 1
})
local Kernels = {
kernels .. "/apollo15.0001.tsc",
-- kernels .. '/AS15-P_v01.bc',
kernels .. '/apollo15.0001.tf',
kernels .. '/apollo15MetricAddendum002.ti',
-- kernels .. '/apollo15PanoramicAddendum001.ti',
kernels .. '/apollo15_metric.0002.ti',
-- kernels .. '/apollo15_panoramic.0001.ti',
kernels .. '/apollo15-1.bsp',
kernels .. '/AS15-M_v01.bc',
-- kernels .. '/AS15-M_v01.bsp',
}
-- local Apollo15Kernels = {
-- --sclk
-- ApolloKernels .. "/apollo15.0001.tsc",
-- --pck
-- ApolloKernels .. "/moon_080317.tf",
-- ApolloKernels .. "/moon_assoc_me.tf",
-- --ik
-- ApolloKernels .. "/apollo15_metric_v2.0001.ti",
-- ApolloKernels .. "/apollo15_panoramic.0001.ti",
-- --tspk
-- ApolloKernels .. "/de421.bsp",
-- ApolloKernels .. "/moon_pa_de421_1900-2050.bpc",
-- --iak
-- ApolloKernels .. "/apollo15MetricAddendum002.ti",
-- ApolloKernels .. "/apolloPanAddendum001.ti",
-- --fk
-- ApolloKernels .. "/apollo15_v2.0001.tf",
-- ApolloKernels .. "/apollo15_v2.0002.tf",
-- --spk
-- ApolloKernels .. "/AS15_M_REV23_SMITHED_V01.bsp",
-- ApolloKernels .. "/AS15_M_REV4.bsp ",
-- ApolloKernels .. "/AS15_M_REV70_SMITHED_V01.bsp",
-- ApolloKernels .. "/AS15_M_REV04_v2.bsp ",
-- ApolloKernels .. "/AS15_M_REV27_SMITHED_V01.bsp",
-- ApolloKernels .. "/AS15_M_REV44_SMITHED_V01.bsp",
-- ApolloKernels .. "/AS15_M_REV71_SMITHED_V01.bsp",
-- ApolloKernels .. "/AS15_M_REV15_SMITHED_V01.bsp",
-- ApolloKernels .. "/AS15_M_REV33_SMITHED_V01.bsp",
-- ApolloKernels .. "/AS15_M_REV50_SMITHED_V01.bsp",
-- ApolloKernels .. "/AS15_M_REV71_SMITHED_V02.bsp",
-- ApolloKernels .. "/AS15_M_REV15_v2.bsp ",
-- ApolloKernels .. "/AS15_M_REV34_SMITHED_V01.bsp",
-- ApolloKernels .. "/AS15_M_REV60_SMITHED_V01.bsp",
-- ApolloKernels .. "/AS15_M_REV72_v2.bsp",
-- ApolloKernels .. "/AS15_M_REV16_SMITHED_V01.bsp",
-- ApolloKernels .. "/AS15_M_REV35_SMITHED_V02.bsp",
-- ApolloKernels .. "/AS15_M_REV62_SMITHED_V01.bsp",
-- ApolloKernels .. "/AS15_M_REV22_SMITHED_V01.bsp",
-- ApolloKernels .. "/AS15_M_REV38_SMITHED_V01.bsp",
-- ApolloKernels .. "/AS15_M_REV63_SMITHED_V01.bsp",
-- --ck
-- ApolloKernels .. "/AS15_M_REV04_SMITHED_V01.bc",
-- ApolloKernels .. "/AS15_M_REV15_SMITHED_V01.bc",
-- ApolloKernels .. "/AS15_M_REV16_SMITHED_V01.bc",
-- ApolloKernels .. "/AS15_M_REV22_SMITHED_V01.bc",
-- ApolloKernels .. "/AS15_M_REV23_SMITHED_V01.bc",
-- ApolloKernels .. "/AS15_M_REV27_SMITHED_V01.bc",
-- ApolloKernels .. "/AS15_M_REV33_SMITHED_V01.bc",
-- ApolloKernels .. "/AS15_M_REV34_SMITHED_V01.bc",
-- ApolloKernels .. "/AS15_M_REV35_SMITHED_V01.bc",
-- ApolloKernels .. "/AS15_M_REV35_SMITHED_V02.bc",
-- ApolloKernels .. "/AS15_M_REV38_SMITHED_V01.bc",
-- ApolloKernels .. "/AS15_M_REV44_SMITHED_V01.bc",
-- ApolloKernels .. "/AS15_M_REV50_SMITHED_V01.bc",
-- ApolloKernels .. "/AS15_M_REV60_SMITHED_V01.bc",
-- ApolloKernels .. "/AS15_M_REV62_SMITHED_V01.bc",
-- ApolloKernels .. "/AS15_M_REV63_SMITHED_V01.bc",
-- ApolloKernels .. "/AS15_M_REV70_SMITHED_V01.bc",
-- ApolloKernels .. "/AS15_M_REV71_SMITHED_V01.bc",
-- ApolloKernels .. "/AS15_M_REV71_SMITHED_V02.bc",
-- ApolloKernels .. "/AS15_M_REV72_v2.bc",
-- }
local LightSources = {
{
Type = "SceneGraphLightSource",
Identifier = "Sun",
Node = sunTransforms.SolarSystemBarycenter.Identifier,
Intensity = 1.0
},
-- {
-- Identifier = "Camera",
-- Type = "CameraLightSource",
-- Intensity = 0.5,
-- Enabled = false
-- }
}
local Apollo15 = {
Identifier = "Apollo15",
Parent = "Moon",
Transform = {
Translation = {
Type = "SpiceTranslation",
Target = "APOLLO 15",
Observer = "MOON",
Frame = "IAU_MOON",
Kernels = Kernels
},
Rotation = {
Type = "SpiceRotation",
SourceFrame = "A15_METRIC",
DestinationFrame = "GALACTIC"
}
},
TimeFrame = { -- Using Spice kernels for 1850-2150
Type = "TimeFrameInterval",
Start = "1971-07-30T02:22:00.00",
End = "1971-08-01T18:05:00.00"
},
GUI = {
Name = "Apollo 15",
Path = "/Solar System/Missions/Apollo 15"
}
}
local Apollo15Main = {
Identifier = "Apollo15Main",
Parent = Apollo15.Identifier,
Renderable = {
Type = "RenderableModel",
Geometry = {
Type = "MultiModelGeometry",
-- GeometryFile = models .. "/Apollo_Spacecraft.obj"
GeometryFile = models .. "/Apollo_CSM_shrunk_rotated_xy_doubble_size.obj"
},
ColorTexture = models .. "/gray.png",
LightSources = LightSources,
DisableFaceCulling = true
},
GUI = {
Name = "Apollo 15 Main",
Path = "/Solar System/Missions/Apollo 15"
}
}
local Apollo15Trail = {
Identifier = "Apollo15Trail",
Parent = "Moon",
Renderable = {
Type = "RenderableTrailTrajectory",
Translation = {
Type = "SpiceTranslation",
Target = "APOLLO 15",
Observer = "MOON",
Frame = "IAU_MOON",
Kernels = Kernels
},
Color = { 0.70, 0.50, 0.20 },
StartTime = "1971 JUL 26",
EndTime = "1971 AUG 01 14:30:41.680",
SampleInterval = 2
},
GUI = {
Name = "Apollo 15 Trail",
Path = "/Solar System/Missions/Apollo 15"
}
}
assetHelper.registerSceneGraphNodesAndExport(asset, {
Apollo15,
Apollo15Main,
Apollo15Trail
})

View File

@@ -1,86 +0,0 @@
local ApolloKernels = asset.syncedResource({
Name = "Apollo Kernels",
Type = "HttpSynchronization",
Identifier = "apollo_spice",
Version = 1
})
local Apollo15Kernels = {
--sclk
ApolloKernels .. "apollo15.0001.tsc",
--pck
ApolloKernels .. "moon_080317.tf",
ApolloKernels .. "moon_assoc_me.tf",
--ik
ApolloKernels .. "apollo15_metric_v2.0001.ti",
ApolloKernels .. "apollo15_panoramic.0001.ti",
--tspk
ApolloKernels .. "de421.bsp",
ApolloKernels .. "moon_pa_de421_1900-2050.bpc",
--iak
ApolloKernels .. "apollo15MetricAddendum002.ti",
ApolloKernels .. "apolloPanAddendum001.ti",
--fk
ApolloKernels .. "apollo15_v2.0001.tf",
ApolloKernels .. "apollo15_v2.0002.tf",
--spk
ApolloKernels .. "AS15_M_REV23_SMITHED_V01.bsp",
ApolloKernels .. "AS15_M_REV4.bsp ",
ApolloKernels .. "AS15_M_REV70_SMITHED_V01.bsp",
ApolloKernels .. "AS15_M_REV04_v2.bsp ",
ApolloKernels .. "AS15_M_REV27_SMITHED_V01.bsp",
ApolloKernels .. "AS15_M_REV44_SMITHED_V01.bsp",
ApolloKernels .. "AS15_M_REV71_SMITHED_V01.bsp",
ApolloKernels .. "AS15_M_REV15_SMITHED_V01.bsp",
ApolloKernels .. "AS15_M_REV33_SMITHED_V01.bsp",
ApolloKernels .. "AS15_M_REV50_SMITHED_V01.bsp",
ApolloKernels .. "AS15_M_REV71_SMITHED_V02.bsp",
ApolloKernels .. "AS15_M_REV15_v2.bsp ",
ApolloKernels .. "AS15_M_REV34_SMITHED_V01.bsp",
ApolloKernels .. "AS15_M_REV60_SMITHED_V01.bsp",
ApolloKernels .. "AS15_M_REV72_v2.bsp",
ApolloKernels .. "AS15_M_REV16_SMITHED_V01.bsp",
ApolloKernels .. "AS15_M_REV35_SMITHED_V02.bsp",
ApolloKernels .. "AS15_M_REV62_SMITHED_V01.bsp",
ApolloKernels .. "AS15_M_REV22_SMITHED_V01.bsp",
ApolloKernels .. "AS15_M_REV38_SMITHED_V01.bsp",
ApolloKernels .. "AS15_M_REV63_SMITHED_V01.bsp",
--ck
ApolloKernels .. "AS15_M_REV04_SMITHED_V01.bc",
ApolloKernels .. "AS15_M_REV15_SMITHED_V01.bc",
ApolloKernels .. "AS15_M_REV16_SMITHED_V01.bc",
ApolloKernels .. "AS15_M_REV22_SMITHED_V01.bc",
ApolloKernels .. "AS15_M_REV23_SMITHED_V01.bc",
ApolloKernels .. "AS15_M_REV27_SMITHED_V01.bc",
ApolloKernels .. "AS15_M_REV33_SMITHED_V01.bc",
ApolloKernels .. "AS15_M_REV34_SMITHED_V01.bc",
ApolloKernels .. "AS15_M_REV35_SMITHED_V01.bc",
ApolloKernels .. "AS15_M_REV35_SMITHED_V02.bc",
ApolloKernels .. "AS15_M_REV38_SMITHED_V01.bc",
ApolloKernels .. "AS15_M_REV44_SMITHED_V01.bc",
ApolloKernels .. "AS15_M_REV50_SMITHED_V01.bc",
ApolloKernels .. "AS15_M_REV60_SMITHED_V01.bc",
ApolloKernels .. "AS15_M_REV62_SMITHED_V01.bc",
ApolloKernels .. "AS15_M_REV63_SMITHED_V01.bc",
ApolloKernels .. "AS15_M_REV70_SMITHED_V01.bc",
ApolloKernels .. "AS15_M_REV71_SMITHED_V01.bc",
ApolloKernels .. "AS15_M_REV71_SMITHED_V02.bc",
ApolloKernels .. "AS15_M_REV72_v2.bc",
}
--asset.export("ApolloKernels", Kernels)
asset.export("Apollo15Kernels", Apollo15Kernels)

View File

@@ -1,235 +0,0 @@
local assetHelper = asset.require('util/asset_helper')
local sunTransforms = asset.require('scene/solarsystem/sun/transforms')
local csm = asset.require('./apollo_csm')
asset.require('spice/base')
local kernelsFolder = asset.syncedResource({
Name = "Apollo Kernels",
Type = "HttpSynchronization",
Identifier = "apollo_spice",
Version = 1
})
local kernels = {
kernelsFolder .. "/moon_080317.tf",
kernelsFolder .. "/apollo8.tf",
kernelsFolder .. "/moon_pa_de421_1900-2050.bpc",
kernelsFolder .. '/apollo8.tsc',
kernelsFolder .. '/apollo8.bsp',
kernelsFolder .. '/apollo8_earthrise.bc',
}
local apolloSpiceId = "-908"
local Apollo8Launch = {
Identifier = "Apollo8Launch",
Parent = "Earth",
TimeFrame = { -- Using Spice kernels for 1850-2150
Type = "TimeFrameInterval",
Start = "1968 DEC 21",
End = "1968 DEC 28"
},
Transform = {
Translation = {
Type = "SpiceTranslation",
Target = apolloSpiceId,
Observer = "EARTH",
Frame = "IAU_EARTH",
Kernels = kernels
},
},
GUI = {
Name = "Apollo 8 Launch Capsule",
Path = "/Solar System/Missions/Apollo"
}
}
local Apollo8 = {
Identifier = "Apollo8",
Parent = "EarthBarycenter",
TimeFrame = { -- Using Spice kernels for 1850-2150
Type = "TimeFrameInterval",
Start = "1968 DEC 21",
End = "1968 DEC 28"
},
Transform = {
Translation = {
Type = "SpiceTranslation",
Target = apolloSpiceId,
Observer = "EARTH BARYCENTER",
Frame = "GALACTIC",
Kernels = kernels
},
Rotation = {
Type = "SpiceRotation",
SourceFrame = "A8_EARTHRISE",
DestinationFrame = "GALACTIC",
TimeFrame = {
-- The orientation of Apollo 8 is only
-- available during the few minutes when
-- the famous Earthrise picture was taken.
Type = "TimeFrameInterval",
Start = "1968 DEC 24 16:37:19",
End = "1968 DEC 24 16:40:15"
}
}
},
GUI = {
Name = "Apollo 8",
Path = "/Solar System/Missions/Apollo"
}
}
local Apollo8LaunchModel = {
Identifier = "Apollo8LaunchModel",
Parent = Apollo8Launch.Identifier,
Transform = {
Scale = {
Type = "StaticScale",
-- The scale of the model is in cm; OpenSpace is in m
Scale = 0.01
},
Rotation = {
Type = "StaticRotation",
Rotation = {0.0, 0.0, -3.1415/2}
}
},
GUI = {
Hidden = true,
Name = "Apollo 8 Launch Model",
Path = "/Solar System/Missions/Apollo"
}
}
local Apollo8Model = {
Identifier = "Apollo8Model",
Parent = Apollo8.Identifier,
Transform = {
Scale = {
Type = "StaticScale",
-- The scale of the model is in cm; OpenSpace is in m
Scale = 0.01
},
Rotation = {
Type = "StaticRotation",
Rotation = {0.0, 0.0, -3.1415/2}
}
},
GUI = {
Hidden = true,
Name = "Apollo 8 Model",
Path = "/Solar System/Missions/Apollo"
}
}
local PivotOffset = { 0, 2.5, 0 }
-- The pivot node is used for navigation inside the spacecraft
local Apollo8Pivot = {
Identifier = "Apollo8Pivot",
Parent = Apollo8.Identifier,
Transform = {
Translation = {
Type = "StaticTranslation",
Position = PivotOffset
},
},
GUI = {
Name = "Apollo 8 Pivot",
Path = "/Solar System/Missions/Apollo"
}
}
local Apollo8LaunchTrail = {
Identifier = "Apollo8LaunchTrail",
Parent = "Earth",
Renderable = {
Type = "RenderableTrailTrajectory",
Translation = {
Type = "SpiceTranslation",
Target = apolloSpiceId,
Observer = "EARTH",
Frame = "IAU_EARTH",
Kernels = kernels
},
Color = { 0.70, 0.50, 0.20 },
StartTime = "1968 DEC 21 12:51:00",
EndTime = "1968 DEC 21 23:23:22",
SampleInterval = 30
},
GUI = {
Name = "Apollo 8 Launch Trail",
Path = "/Solar System/Missions/Apollo"
}
}
local Apollo8MoonTrail = {
Identifier = "Apollo8MoonTrail",
Parent = "Moon",
Renderable = {
Type = "RenderableTrailTrajectory",
Translation = {
Type = "SpiceTranslation",
Target = apolloSpiceId,
Observer = "MOON",
Frame = "IAU_MOON",
Kernels = kernels
},
Color = { 0.70, 0.50, 0.20 },
StartTime = "1968 DEC 23",
EndTime = "1968 DEC 26",
SampleInterval = 30,
Enabled = false,
},
GUI = {
Name = "Apollo 8 Moon Trail",
Path = "/Solar System/Missions/Apollo"
}
}
local Apollo8EarthBarycenterTrail = {
Identifier = "Apollo8EarthBarycenterTrail",
Parent = "EarthBarycenter",
Renderable = {
Type = "RenderableTrailTrajectory",
Translation = {
Type = "SpiceTranslation",
Target = apolloSpiceId,
Observer = "EARTH",
Frame = "GALACTIC",
Kernels = kernels
},
Color = { 0.8, 0.2, 0.2 },
StartTime = "1968 DEC 21",
EndTime = "1968 DEC 28",
SampleInterval = 30,
Enabled = true,
},
GUI = {
Name = "Apollo 8 Earth Barycenter Trail",
Path = "/Solar System/Missions/Apollo"
}
}
local exportList = {
Apollo8,
Apollo8Model,
Apollo8Launch,
Apollo8LaunchModel,
Apollo8Pivot,
Apollo8LaunchTrail,
Apollo8MoonTrail,
Apollo8EarthBarycenterTrail
}
assetHelper.registerSceneGraphNodesAndExport(asset, exportList)
-- Registering Command and Service module needs to happen fter the export list
-- has been registered, since it depends on the Apollo8Model scene graph node.
csm.registerCsm(asset, Apollo8Model.Identifier)
csm.registerCsm(asset, Apollo8LaunchModel.Identifier)

View File

@@ -1,74 +0,0 @@
local assetHelper = asset.require('util/asset_helper')
local sunTransforms = asset.require('scene/solarsystem/sun/transforms')
local kernelsFolder = asset.syncedResource({
Name = "Apollo Kernels",
Type = "HttpSynchronization",
Identifier = "apollo_spice",
Version = 1
})
local kernels = {
kernelsFolder .. "/moon_080317.tf",
kernelsFolder .. "/apollo8.tf",
kernelsFolder .. "/moon_pa_de421_1900-2050.bpc",
kernelsFolder .. '/apollo8.tsc',
kernelsFolder .. '/apollo8.bsp',
kernelsFolder .. '/apollo8_earthrise.bc',
}
local apolloSpiceId = "-908"
local Apollo8LaunchTrail = {
Identifier = "Apollo8LaunchTrail",
Parent = "Earth",
Renderable = {
Type = "RenderableTrailTrajectory",
Translation = {
Type = "SpiceTranslation",
Target = apolloSpiceId,
Observer = "EARTH",
Frame = "IAU_EARTH",
Kernels = kernels
},
Color = { 0.70, 0.50, 0.20 },
StartTime = "1968 DEC 21 12:51:00",
EndTime = "1968 DEC 21 23:23:22",
SampleInterval = 30
},
GUI = {
Name = "Apollo 8 Launch Trail",
Path = "/Solar System/Missions/Apollo"
}
}
local Apollo8EarthBarycenterTrail = {
Identifier = "Apollo8EarthBarycenterTrail",
Parent = "EarthBarycenter",
Renderable = {
Type = "RenderableTrailTrajectory",
Translation = {
Type = "SpiceTranslation",
Target = apolloSpiceId,
Observer = "EARTH BARYCENTER",
Frame = "GALACTIC",
Kernels = kernels
},
Color = { 1, 0.0, 0.0 },
StartTime = "1968 DEC 21",
EndTime = "1968 DEC 28",
SampleInterval = 30,
Enabled = false,
},
GUI = {
Name = "Apollo 8 Earth Barycenter Trail",
Path = "/Solar System/Missions/Apollo"
}
}
local exportList = {
Apollo8LaunchTrail,
Apollo8EarthBarycenterTrail,
}
assetHelper.registerSceneGraphNodesAndExport(asset, exportList)

View File

@@ -1,11 +1,11 @@
-- This asset exports a function to create an Apollo Command and Service Module (CSM).
-- Instead of hard-coding the scene graph node parent,
-- client assets can decide which object that the CSM should be attached to.
-- Usage example: registerCsm(asset, Apollo8.Idenfitier)
-- Usage example: createCsmModel(asset, Apollo8.Idenfitier)
-- ...where Apollo8 is the scene graph node identifier to attach the CSM to.
local assetHelper = asset.require('util/asset_helper')
local sunTransforms = asset.require('scene/solarsystem/sun/transforms')
local asset_helper = asset.require('util/asset_helper')
local sun_transforms = asset.require('scene/solarsystem/sun/transforms')
local models = asset.syncedResource({
Name = "Apollo Models",
@@ -18,115 +18,115 @@ local partsInfo = {
-- Data is structured as: Geometry file name (except .obj suffix), texture file name, shading
-- Exterior
{"AP08_cone_command_module", "Command_module_diff.png", true},
{"AP08_cone_hatchdoor_handle_scratched_metal", "scratched_metal_gloss.png", true},
{"AP08_cone_vent_ports_black", "black.png", true},
{"AP08_cone_vent_ports_red", "red.png", true},
{"AP08_cone_hatchdoor_interior", "apollo_hatchdoor_interior.jpg", false},
{ "AP08_cone_command_module", "Command_module_diff.png", true },
{ "AP08_cone_hatchdoor_handle_scratched_metal", "scratched_metal_gloss.png", true },
{ "AP08_cone_vent_ports_black", "black.png", true },
{ "AP08_cone_vent_ports_red", "red.png", true },
{ "AP08_cone_hatchdoor_interior", "apollo_hatchdoor_interior.jpg", false },
{"AP08_service_black", "black.png", true},
{"AP08_service_brown", "brown.png", true},
{"AP08_service_grey", "gray.png", true},
{"AP08_service_high_gain_antenna", "Antenna_diff.png", true},
{"AP08_service_module", "Service_module_diff.png", true},
{"AP08_service_nozzle", "Nozzle_diff.png", true},
{"AP08_service_pink", "pink.png", true},
{"AP08_service_red", "red.png", true},
{"AP08_service_scratched_metal", "scratched_metal_gloss.png", true},
{"AP08_service_white", "white.png", true},
{ "AP08_service_black", "black.png", true },
{ "AP08_service_brown", "brown.png", true },
{ "AP08_service_grey", "gray.png", true },
{ "AP08_service_high_gain_antenna", "Antenna_diff.png", true },
{ "AP08_service_module", "Service_module_diff.png", true },
{ "AP08_service_nozzle", "Nozzle_diff.png", true },
{ "AP08_service_pink", "pink.png", true },
{ "AP08_service_red", "red.png", true },
{ "AP08_service_scratched_metal", "scratched_metal_gloss.png", true },
{ "AP08_service_white", "white.png", true },
-- Interior
-- {"AP11_int_back_wall_left", "AP11_int_back_wall_left.png", false},
-- {"AP11_int_back_wall_right", "AP11_int_back_wall_right.png", false},
-- {"AP11_interior_back_wall_top_0Shape3", "back_wall_top_0Shape3_tpAmbient_paint_03.png", false},
-- {"AP11_interior_belt_buckles_02_L2", "belt_buckles_02_L2Shape_tpAmbient.png", false},
-- {"AP11_interior_belt_straps_02", "belt_straps_02Shape_tpAmbient_paint_01.png", false},
-- {"AP11_interior_black_push_buttons", "push_buttonsShape_tpAmbient.png", false},
-- {"AP11_interior_bottom_boxes_03", "bottom_boxes_03_paint_01.png", false},
-- {"AP11_interior_bottom_floor_tp", "bottom_floor_tpAmbient_paint_v002.png", false},
-- {"AP11_interior_box_back_01", "box_back_01_paint_v001.png", false},
-- {"AP11_interior_box_back_02", "box_back_02_paint_v001.png", false},
-- {"AP11_interior_box_back_04", "box_back_04_paint_v001.png", false},
-- {"AP11_interior_box_lft_lower_01", "box_lft_lower_01Shape_Diffuse_paint_v002.png", false},
-- {"AP11_interior_box_lft_top", "box_lft_topShape_Diffuse_paint_v009.png", false},
-- {"AP11_interior_box_mid_tp", "box_mid_tpDiffuse_paint_v001.png", false},
-- {"AP11_interior_box_rt_top_02", "box_rt_top_02_paint_04.png", false},
-- {"AP11_interior_brushed_blue_ano", "brushed_blue_ano_paint_01.png", false},
-- {"AP11_interior_brushed_brass", "brushed_brass_paint_01.png", false},
-- {"AP11_interior_brushed_grey_ano", "brushed_grey_ano_paint_02.png", false},
-- {"AP11_interior_canvas_cover", "canvas_coverShape_tpAmbient_paint_01.png", false},
-- {"AP11_interior_Channel_attachment", "Channel_attachment_Diffuse.png", false},
-- {"AP11_interior_Channel_baseMetal", "Channel_baseMetal_Diffuse.png", false},
-- {"AP11_interior_Channel_Material", "Channel_Material_Diffuse.png", false},
-- {"AP11_interior_Channel_rsMaterial2", "Channel_rsMaterial2_Diffuse.png", false},
-- {"AP11_interior_cloth_01", "cloth_01Shape_tpAmbient_paint_01.png", false},
-- {"AP11_interior_coiled_hose", "coiled_hoseShape_tpAmbient.png", false},
-- {"AP11_interior_control_panel_left_win_plates", "control_panel_left_win_platesShape_tpAmbient.png", false},
-- {"AP11_interior_control_panel_rt_win_plates", "control_panel_rt_win_platesShape_tpAmbient.png", false},
-- {"AP11_interior_copper_parts_main_cp", "copper_parts_main_cpShape_tpAmbient.png", false},
-- {"AP11_interior_dials_main2", "dials_main2Shape_tpAmbient.png", false},
-- {"AP11_interior_dials_t2", "dials_t2Shape_tpAmbient.png", false},
-- {"AP11_interior_dial_fixes_01", "dial_fixes_01Shape_tpAmbient.png", false},
-- {"AP11_interior_fire_ex_02", "fire_ex_02_paint_v001.png", false},
-- {"AP11_interior_floor_panels_3", "floor_panels_3Shape_tpAmbient_paint_01.png", false},
-- {"AP11_interior_floor_tile_tex_01", "floor_tile_tex_01.png", false},
-- {"AP11_interior_grey", "gray.png", false},
-- {"AP11_interior_handholds_cp", "handholds_cpShape_tpAmbient_paint_05.png", false},
-- {"AP11_interior_hatch_release_0Shape5", "hatch_release_0Shape5_tpAmbient_paint_02.png", false},
-- {"AP11_interior_headrests_02", "headrests_02Shape_tpAmbient_paint_01.png", false},
-- {"AP11_interior_hoses_black_01", "hoses_black_01Shape_tpAmbient_paint_01.png", false},
-- {"AP11_interior_hoses_white_0Shape1", "hoses_white_0Shape1_tpAmbient_paint_01.png", false},
-- {"AP11_interior_josticks1", "joysticks1Shape_tpAmbient_paint_01.png", false},
-- {"AP11_interior_joysticks_fabric1", "joysticks_fabric1_Shape_tpAmbient_paint_01.png", false},
-- {"AP11_interior_joystick_poles_lft_05", "joystick_poles_lft_05_paint_v002.png", false},
-- {"AP11_interior_joystick_poles_lft_long_05", "joystick_poles_lft_long_05_paint_v002.png", false},
-- {"AP11_interior_joystick_poles_rt_05", "joystick_poles_rt_05_paint_v002.png", false},
-- {"AP11_interior_latch_mechanisms_01", "latch_mechanisms_01Shape_tpAmbient.png", false},
-- {"AP11_interior_lower_push_buttons", "lower_push_buttonsShape_tpAmbient.png", false},
-- {"AP11_interior_lower_walls_back", "lower_walls_back_paint_04.png", false},
-- {"AP11_interior_lower_walls_boxes_head", "lower_walls_boxes_headShape_tpAmbient_paint_v001.png", false},
-- {"AP11_interior_main_cp_left_smth_03", "main_cp_left_0Shape3_tpAmbient_paint_02.png", false},
-- {"AP11_interior_main_cp_mid_smth_02", "main_cp_mid_smth_02Shape_tpAmbient_paint_02.png", false},
-- {"AP11_interior_main_cp_rt_smth", "main_cp_rt_smthShape_tpAmbient_paint_02.png", false},
-- {"AP11_interior_main_cp_wheels", "main_cp_wheelsShape_tpAmbient.png", false},
-- {"AP11_interior_metal_brackets_under_hatch", "metal_brackets_under_hatchShape_tpAmbient.png", false},
-- {"AP11_interior_metal_tunnel_parts", "metal_tunnel_partsShape_tpAmbient_paint_01.png", false},
-- {"AP11_interior_metal_window_parts", "metal_window_partsShape_tpAmbient_paint_01.png", false},
-- {"AP11_interior_middle_walls_05", "middle_walls_05_tpAmbient_paint_02.png", false},
-- {"AP11_interior_middle_walls_0Shape8", "middle_walls_0Shape8_tpAmbient_paint_01.png", false},
-- {"AP11_interior_mid_tunnel_parts", "mid_tunnel_parts_03Shape_tpAmbient_paint_02.png", false},
-- {"AP11_interior_new_switch_rails1", "new_switch_rails1Shape_tpAmbient.png", false},
-- {"AP11_interior_nozzles_02", "nozzles_02Shape_tpAmbient_paint_01.png", false},
-- {"AP11_interior_outlet_fabric3", "outlet_fabric3Shape_tpAmbient_paint_02.png", false},
-- {"AP11_interior_pole_end_02", "pole_end_02.png", false},
-- {"AP11_interior_pole_end_03", "pole_end_03.png", false},
-- {"AP11_interior_pole_tex_03", "pole_tex_03.png", false},
-- {"AP11_interior_pole_tex_04", "pole_tex_04.png", false},
-- {"AP11_interior_pole_tex_05", "pole_tex_05.png", false},
-- {"AP11_interior_pole_tex_lower_01", "pole_tex_lower_01.png", false},
-- {"AP11_interior_pole_under_seat_paint_01", "pole_under_seat_paint_01.png", false},
-- {"AP11_interior_pole_under_seat_square_bar", "pole_under_seat_square_bar_paint_01.png", false},
-- {"AP11_interior_push_switches_lft1", "push_switches_lft1Shape_tpAmbient.png", false},
-- {"AP11_interior_random_small_parts_01", "random_small_parts_01Shape_tpAmbient_paint_02.png", false},
-- {"AP11_interior_red", "red.png", false},
-- {"AP11_interior_reticle_wheel_tp", "reticle_wheel_tpAmbient_paint_01.png", false},
-- {"AP11_interior_rivet_paint_v001", "rivet_paint_v001.png", false},
-- {"AP11_interior_seats_fabric", "seats_fabric_paint_01.png", false},
-- {"AP11_interior_seat_left_tp", "seat_left_tpAmbient_paint_v001.png", false},
-- {"AP11_interior_seat_lights_left", "seat_lights_left_Shape_tpAmbient_paint_v001.png", false},
-- {"AP11_interior_seat_lights_rt", "seat_lights_rt_Shape_tpAmbient_paint_v001.png", false},
-- {"AP11_interior_seat_middle_tp", "seat_middle_tpAmbient_paint_v001.png", false},
-- {"AP11_interior_seat_poles_0Shape1", "seat_poles_0Shape1_tpAmbient_paint_01.png", false},
-- {"AP11_interior_seat_pole_mirror_0Shape1", "seat_pole_mirror_0Shape1_tpAmbient_paint_01.png", false},
-- {"AP11_interior_seat_rt_tp", "seat_rt_tpAmbient_paint_v001.png", false},
-- {"AP11_interior_sextant_0Shape2", "sextant_0Shape2_tpAmbient.png", false},
-- {"AP11_interior_switch_covers_main_middle1", "switch_covers_main_middle1Shape_tpAmbient.png", false},
-- {"AP11_interior_switch_rails_lft", "switch_rails_lftShape_tpAmbient.png", false},
-- {"AP11_interior_tunnel_main_cylinder1", "switch_rails_lftShape_tpAmbient.png", false},
-- {"AP11_interior_tunnel_switches_01", "tunnel_switches_01Shape_tpAmbient.png", false},
-- {"AP11_interior_tunnel_wheelsShape", "tunnel_wheelsShape_tpAmbient.png", false},
-- {"AP11_interior_walls_mid_left", "walls_mid_leftShape_tpAmbient_paint_01.png", false},
-- {"AP11_interior_windows_front_0Shape4", "windows_front_0Shape4_tpAmbient_paint_01.png", false}
-- { "AP11_int_back_wall_left", "AP11_int_back_wall_left.png", false},
-- { "AP11_int_back_wall_right", "AP11_int_back_wall_right.png", false },
-- { "AP11_interior_back_wall_top_0Shape3", "back_wall_top_0Shape3_tpAmbient_paint_03.png", false },
-- { "AP11_interior_belt_buckles_02_L2", "belt_buckles_02_L2Shape_tpAmbient.png", false },
-- { "AP11_interior_belt_straps_02", "belt_straps_02Shape_tpAmbient_paint_01.png", false },
-- { "AP11_interior_black_push_buttons", "push_buttonsShape_tpAmbient.png", false },
-- { "AP11_interior_bottom_boxes_03", "bottom_boxes_03_paint_01.png", false },
-- { "AP11_interior_bottom_floor_tp", "bottom_floor_tpAmbient_paint_v002.png", false },
-- { "AP11_interior_box_back_01", "box_back_01_paint_v001.png", false },
-- { "AP11_interior_box_back_02", "box_back_02_paint_v001.png", false },
-- { "AP11_interior_box_back_04", "box_back_04_paint_v001.png", false },
-- { "AP11_interior_box_lft_lower_01", "box_lft_lower_01Shape_Diffuse_paint_v002.png", false },
-- { "AP11_interior_box_lft_top", "box_lft_topShape_Diffuse_paint_v009.png", false },
-- { "AP11_interior_box_mid_tp", "box_mid_tpDiffuse_paint_v001.png", false },
-- { "AP11_interior_box_rt_top_02", "box_rt_top_02_paint_04.png", false },
-- { "AP11_interior_brushed_blue_ano", "brushed_blue_ano_paint_01.png", false },
-- { "AP11_interior_brushed_brass", "brushed_brass_paint_01.png", false },
-- { "AP11_interior_brushed_grey_ano", "brushed_grey_ano_paint_02.png", false },
-- { "AP11_interior_canvas_cover", "canvas_coverShape_tpAmbient_paint_01.png", false },
-- { "AP11_interior_Channel_attachment", "Channel_attachment_Diffuse.png", false },
-- { "AP11_interior_Channel_baseMetal", "Channel_baseMetal_Diffuse.png", false },
-- { "AP11_interior_Channel_Material", "Channel_Material_Diffuse.png", false },
-- { "AP11_interior_Channel_rsMaterial2", "Channel_rsMaterial2_Diffuse.png", false },
-- { "AP11_interior_cloth_01", "cloth_01Shape_tpAmbient_paint_01.png", false },
-- { "AP11_interior_coiled_hose", "coiled_hoseShape_tpAmbient.png", false },
-- { "AP11_interior_control_panel_left_win_plates", "control_panel_left_win_platesShape_tpAmbient.png", false },
-- { "AP11_interior_control_panel_rt_win_plates", "control_panel_rt_win_platesShape_tpAmbient.png", false },
-- { "AP11_interior_copper_parts_main_cp", "copper_parts_main_cpShape_tpAmbient.png", false },
-- { "AP11_interior_dials_main2", "dials_main2Shape_tpAmbient.png", false },
-- { "AP11_interior_dials_t2", "dials_t2Shape_tpAmbient.png", false },
-- { "AP11_interior_dial_fixes_01", "dial_fixes_01Shape_tpAmbient.png", false },
-- { "AP11_interior_fire_ex_02", "fire_ex_02_paint_v001.png", false },
-- { "AP11_interior_floor_panels_3", "floor_panels_3Shape_tpAmbient_paint_01.png", false },
-- { "AP11_interior_floor_tile_tex_01", "floor_tile_tex_01.png", false },
-- { "AP11_interior_grey", "gray.png", false },
-- { "AP11_interior_handholds_cp", "handholds_cpShape_tpAmbient_paint_05.png", false },
-- { "AP11_interior_hatch_release_0Shape5", "hatch_release_0Shape5_tpAmbient_paint_02.png", false },
-- { "AP11_interior_headrests_02", "headrests_02Shape_tpAmbient_paint_01.png", false },
-- { "AP11_interior_hoses_black_01", "hoses_black_01Shape_tpAmbient_paint_01.png", false },
-- { "AP11_interior_hoses_white_0Shape1", "hoses_white_0Shape1_tpAmbient_paint_01.png", false },
-- { "AP11_interior_josticks1", "joysticks1Shape_tpAmbient_paint_01.png", false },
-- { "AP11_interior_joysticks_fabric1", "joysticks_fabric1_Shape_tpAmbient_paint_01.png", false },
-- { "AP11_interior_joystick_poles_lft_05", "joystick_poles_lft_05_paint_v002.png", false },
-- { "AP11_interior_joystick_poles_lft_long_05", "joystick_poles_lft_long_05_paint_v002.png", false },
-- { "AP11_interior_joystick_poles_rt_05", "joystick_poles_rt_05_paint_v002.png", false },
-- { "AP11_interior_latch_mechanisms_01", "latch_mechanisms_01Shape_tpAmbient.png", false },
-- { "AP11_interior_lower_push_buttons", "lower_push_buttonsShape_tpAmbient.png", false },
-- { "AP11_interior_lower_walls_back", "lower_walls_back_paint_04.png", false },
-- { "AP11_interior_lower_walls_boxes_head", "lower_walls_boxes_headShape_tpAmbient_paint_v001.png", false },
-- { "AP11_interior_main_cp_left_smth_03", "main_cp_left_0Shape3_tpAmbient_paint_02.png", false },
-- { "AP11_interior_main_cp_mid_smth_02", "main_cp_mid_smth_02Shape_tpAmbient_paint_02.png", false },
-- { "AP11_interior_main_cp_rt_smth", "main_cp_rt_smthShape_tpAmbient_paint_02.png", false },
-- { "AP11_interior_main_cp_wheels", "main_cp_wheelsShape_tpAmbient.png", false },
-- { "AP11_interior_metal_brackets_under_hatch", "metal_brackets_under_hatchShape_tpAmbient.png", false },
-- { "AP11_interior_metal_tunnel_parts", "metal_tunnel_partsShape_tpAmbient_paint_01.png", false },
-- { "AP11_interior_metal_window_parts", "metal_window_partsShape_tpAmbient_paint_01.png", false },
-- { "AP11_interior_middle_walls_05", "middle_walls_05_tpAmbient_paint_02.png", false },
-- { "AP11_interior_middle_walls_0Shape8", "middle_walls_0Shape8_tpAmbient_paint_01.png", false },
-- { "AP11_interior_mid_tunnel_parts", "mid_tunnel_parts_03Shape_tpAmbient_paint_02.png", false },
-- { "AP11_interior_new_switch_rails1", "new_switch_rails1Shape_tpAmbient.png", false },
-- { "AP11_interior_nozzles_02", "nozzles_02Shape_tpAmbient_paint_01.png", false },
-- { "AP11_interior_outlet_fabric3", "outlet_fabric3Shape_tpAmbient_paint_02.png", false },
-- { "AP11_interior_pole_end_02", "pole_end_02.png", false },
-- { "AP11_interior_pole_end_03", "pole_end_03.png", false },
-- { "AP11_interior_pole_tex_03", "pole_tex_03.png", false },
-- { "AP11_interior_pole_tex_04", "pole_tex_04.png", false },
-- { "AP11_interior_pole_tex_05", "pole_tex_05.png", false },
-- { "AP11_interior_pole_tex_lower_01", "pole_tex_lower_01.png", false },
-- { "AP11_interior_pole_under_seat_paint_01", "pole_under_seat_paint_01.png", false },
-- { "AP11_interior_pole_under_seat_square_bar", "pole_under_seat_square_bar_paint_01.png", false },
-- { "AP11_interior_push_switches_lft1", "push_switches_lft1Shape_tpAmbient.png", false },
-- { "AP11_interior_random_small_parts_01", "random_small_parts_01Shape_tpAmbient_paint_02.png", false },
-- { "AP11_interior_red", "red.png", false },
-- { "AP11_interior_reticle_wheel_tp", "reticle_wheel_tpAmbient_paint_01.png", false },
-- { "AP11_interior_rivet_paint_v001", "rivet_paint_v001.png", false },
-- { "AP11_interior_seats_fabric", "seats_fabric_paint_01.png", false },
-- { "AP11_interior_seat_left_tp", "seat_left_tpAmbient_paint_v001.png", false },
-- { "AP11_interior_seat_lights_left", "seat_lights_left_Shape_tpAmbient_paint_v001.png", false },
-- { "AP11_interior_seat_lights_rt", "seat_lights_rt_Shape_tpAmbient_paint_v001.png", false },
-- { "AP11_interior_seat_middle_tp", "seat_middle_tpAmbient_paint_v001.png", false },
-- { "AP11_interior_seat_poles_0Shape1", "seat_poles_0Shape1_tpAmbient_paint_01.png", false },
-- { "AP11_interior_seat_pole_mirror_0Shape1", "seat_pole_mirror_0Shape1_tpAmbient_paint_01.png", false },
-- { "AP11_interior_seat_rt_tp", "seat_rt_tpAmbient_paint_v001.png", false },
-- { "AP11_interior_sextant_0Shape2", "sextant_0Shape2_tpAmbient.png", false },
-- { "AP11_interior_switch_covers_main_middle1", "switch_covers_main_middle1Shape_tpAmbient.png", false },
-- { "AP11_interior_switch_rails_lft", "switch_rails_lftShape_tpAmbient.png", false },
-- { "AP11_interior_tunnel_main_cylinder1", "switch_rails_lftShape_tpAmbient.png", false },
-- { "AP11_interior_tunnel_switches_01", "tunnel_switches_01Shape_tpAmbient.png", false },
-- { "AP11_interior_tunnel_wheelsShape", "tunnel_wheelsShape_tpAmbient.png", false },
-- { "AP11_interior_walls_mid_left", "walls_mid_leftShape_tpAmbient_paint_01.png", false },
-- { "AP11_interior_windows_front_0Shape4", "windows_front_0Shape4_tpAmbient_paint_01.png", false }
}
@@ -134,147 +134,147 @@ local partsInfoFull = {
-- Data is structured as: Geometry file name (except .obj suffix), texture file name, shading
-- Exterior
{"AP08_cone_command_module", "Command_module_diff.png", true},
{"AP08_cone_hatchdoor_handle_scratched_metal", "scratched_metal_gloss.png", true},
{"AP08_cone_vent_ports_black", "black.png", true},
{"AP08_cone_vent_ports_red", "red.png", true},
{"AP08_cone_hatchdoor_interior", "apollo_hatchdoor_interior.jpg", false},
{ "AP08_cone_command_module", "Command_module_diff.png", true },
{ "AP08_cone_hatchdoor_handle_scratched_metal", "scratched_metal_gloss.png", true },
{ "AP08_cone_vent_ports_black", "black.png", true },
{ "AP08_cone_vent_ports_red", "red.png", true },
{ "AP08_cone_hatchdoor_interior", "apollo_hatchdoor_interior.jpg", false },
{"AP08_service_black", "black.png", true},
{"AP08_service_brown", "brown.png", true},
{"AP08_service_grey", "gray.png", true},
{"AP08_service_high_gain_antenna", "Antenna_diff.png", true},
{"AP08_service_module", "Service_module_diff.png", true},
{"AP08_service_nozzle", "Nozzle_diff.png", true},
{"AP08_service_pink", "pink.png", true},
{"AP08_service_red", "red.png", true},
{"AP08_service_scratched_metal", "scratched_metal_gloss.png", true},
{"AP08_service_white", "white.png", true},
{ "AP08_service_black", "black.png", true },
{ "AP08_service_brown", "brown.png", true },
{ "AP08_service_grey", "gray.png", true },
{ "AP08_service_high_gain_antenna", "Antenna_diff.png", true },
{ "AP08_service_module", "Service_module_diff.png", true },
{ "AP08_service_nozzle", "Nozzle_diff.png", true },
{ "AP08_service_pink", "pink.png", true },
{ "AP08_service_red", "red.png", true },
{ "AP08_service_scratched_metal", "scratched_metal_gloss.png", true },
{ "AP08_service_white", "white.png", true },
-- Interior
{"AP11_int_back_wall_left", "AP11_int_back_wall_left.png", false},
{"AP11_int_back_wall_right", "AP11_int_back_wall_right.png", false},
{"AP11_interior_back_wall_top_0Shape3", "back_wall_top_0Shape3_tpAmbient_paint_03.png", false},
{"AP11_interior_belt_buckles_02_L2", "belt_buckles_02_L2Shape_tpAmbient.png", false},
{"AP11_interior_belt_straps_02", "belt_straps_02Shape_tpAmbient_paint_01.png", false},
{"AP11_interior_black_push_buttons", "push_buttonsShape_tpAmbient.png", false},
{"AP11_interior_bottom_boxes_03", "bottom_boxes_03_paint_01.png", false},
{"AP11_interior_bottom_floor_tp", "bottom_floor_tpAmbient_paint_v002.png", false},
{"AP11_interior_box_back_01", "box_back_01_paint_v001.png", false},
{"AP11_interior_box_back_02", "box_back_02_paint_v001.png", false},
{"AP11_interior_box_back_04", "box_back_04_paint_v001.png", false},
{"AP11_interior_box_lft_lower_01", "box_lft_lower_01Shape_Diffuse_paint_v002.png", false},
{"AP11_interior_box_lft_top", "box_lft_topShape_Diffuse_paint_v009.png", false},
{"AP11_interior_box_mid_tp", "box_mid_tpDiffuse_paint_v001.png", false},
{"AP11_interior_box_rt_top_02", "box_rt_top_02_paint_04.png", false},
{"AP11_interior_brushed_blue_ano", "brushed_blue_ano_paint_01.png", false},
{"AP11_interior_brushed_brass", "brushed_brass_paint_01.png", false},
{"AP11_interior_brushed_grey_ano", "brushed_grey_ano_paint_02.png", false},
{"AP11_interior_canvas_cover", "canvas_coverShape_tpAmbient_paint_01.png", false},
{"AP11_interior_Channel_attachment", "Channel_attachment_Diffuse.png", false},
{"AP11_interior_Channel_baseMetal", "Channel_baseMetal_Diffuse.png", false},
{"AP11_interior_Channel_Material", "Channel_Material_Diffuse.png", false},
{"AP11_interior_Channel_rsMaterial2", "Channel_rsMaterial2_Diffuse.png", false},
{"AP11_interior_cloth_01", "cloth_01Shape_tpAmbient_paint_01.png", false},
{"AP11_interior_coiled_hose", "coiled_hoseShape_tpAmbient.png", false},
{"AP11_interior_control_panel_left_win_plates", "control_panel_left_win_platesShape_tpAmbient.png", false},
{"AP11_interior_control_panel_rt_win_plates", "control_panel_rt_win_platesShape_tpAmbient.png", false},
{"AP11_interior_copper_parts_main_cp", "copper_parts_main_cpShape_tpAmbient.png", false},
{"AP11_interior_dials_main2", "dials_main2Shape_tpAmbient.png", false},
{"AP11_interior_dials_t2", "dials_t2Shape_tpAmbient.png", false},
{"AP11_interior_dial_fixes_01", "dial_fixes_01Shape_tpAmbient.png", false},
{"AP11_interior_fire_ex_02", "fire_ex_02_paint_v001.png", false},
{"AP11_interior_floor_panels_3", "floor_panels_3Shape_tpAmbient_paint_01.png", false},
{"AP11_interior_floor_tile_tex_01", "floor_tile_tex_01.png", false},
{"AP11_interior_grey", "gray.png", false},
{"AP11_interior_handholds_cp", "handholds_cpShape_tpAmbient_paint_05.png", false},
{"AP11_interior_hatch_release_0Shape5", "hatch_release_0Shape5_tpAmbient_paint_02.png", false},
{"AP11_interior_headrests_02", "headrests_02Shape_tpAmbient_paint_01.png", false},
{"AP11_interior_hoses_black_01", "hoses_black_01Shape_tpAmbient_paint_01.png", false},
{"AP11_interior_hoses_white_0Shape1", "hoses_white_0Shape1_tpAmbient_paint_01.png", false},
{"AP11_interior_josticks1", "joysticks1Shape_tpAmbient_paint_01.png", false},
{"AP11_interior_joysticks_fabric1", "joysticks_fabric1_Shape_tpAmbient_paint_01.png", false},
{"AP11_interior_joystick_poles_lft_05", "joystick_poles_lft_05_paint_v002.png", false},
{"AP11_interior_joystick_poles_lft_long_05", "joystick_poles_lft_long_05_paint_v002.png", false},
{"AP11_interior_joystick_poles_rt_05", "joystick_poles_rt_05_paint_v002.png", false},
{"AP11_interior_latch_mechanisms_01", "latch_mechanisms_01Shape_tpAmbient.png", false},
{"AP11_interior_lower_push_buttons", "lower_push_buttonsShape_tpAmbient.png", false},
{"AP11_interior_lower_walls_back", "lower_walls_back_paint_04.png", false},
{"AP11_interior_lower_walls_boxes_head", "lower_walls_boxes_headShape_tpAmbient_paint_v001.png", false},
{"AP11_interior_main_cp_left_smth_03", "main_cp_left_0Shape3_tpAmbient_paint_02.png", false},
{"AP11_interior_main_cp_mid_smth_02", "main_cp_mid_smth_02Shape_tpAmbient_paint_02.png", false},
{"AP11_interior_main_cp_rt_smth", "main_cp_rt_smthShape_tpAmbient_paint_02.png", false},
{"AP11_interior_main_cp_wheels", "main_cp_wheelsShape_tpAmbient.png", false},
{"AP11_interior_metal_brackets_under_hatch", "metal_brackets_under_hatchShape_tpAmbient.png", false},
{"AP11_interior_metal_tunnel_parts", "metal_tunnel_partsShape_tpAmbient_paint_01.png", false},
{"AP11_interior_metal_window_parts", "metal_window_partsShape_tpAmbient_paint_01.png", false},
{"AP11_interior_middle_walls_05", "middle_walls_05_tpAmbient_paint_02.png", false},
{"AP11_interior_middle_walls_0Shape8", "middle_walls_0Shape8_tpAmbient_paint_01.png", false},
{"AP11_interior_mid_tunnel_parts", "mid_tunnel_parts_03Shape_tpAmbient_paint_02.png", false},
{"AP11_interior_new_switch_rails1", "new_switch_rails1Shape_tpAmbient.png", false},
{"AP11_interior_nozzles_02", "nozzles_02Shape_tpAmbient_paint_01.png", false},
{"AP11_interior_outlet_fabric3", "outlet_fabric3Shape_tpAmbient_paint_02.png", false},
{"AP11_interior_pole_end_02", "pole_end_02.png", false},
{"AP11_interior_pole_end_03", "pole_end_03.png", false},
{"AP11_interior_pole_tex_03", "pole_tex_03.png", false},
{"AP11_interior_pole_tex_04", "pole_tex_04.png", false},
{"AP11_interior_pole_tex_05", "pole_tex_05.png", false},
{"AP11_interior_pole_tex_lower_01", "pole_tex_lower_01.png", false},
{"AP11_interior_pole_under_seat_paint_01", "pole_under_seat_paint_01.png", false},
{"AP11_interior_pole_under_seat_square_bar", "pole_under_seat_square_bar_paint_01.png", false},
{"AP11_interior_push_switches_lft1", "push_switches_lft1Shape_tpAmbient.png", false},
{"AP11_interior_random_small_parts_01", "random_small_parts_01Shape_tpAmbient_paint_02.png", false},
{"AP11_interior_red", "red.png", false},
{"AP11_interior_reticle_wheel_tp", "reticle_wheel_tpAmbient_paint_01.png", false},
{"AP11_interior_rivet_paint_v001", "rivet_paint_v001.png", false},
{"AP11_interior_seats_fabric", "seats_fabric_paint_01.png", false},
{"AP11_interior_seat_left_tp", "seat_left_tpAmbient_paint_v001.png", false},
{"AP11_interior_seat_lights_left", "seat_lights_left_Shape_tpAmbient_paint_v001.png", false},
{"AP11_interior_seat_lights_rt", "seat_lights_rt_Shape_tpAmbient_paint_v001.png", false},
{"AP11_interior_seat_middle_tp", "seat_middle_tpAmbient_paint_v001.png", false},
{"AP11_interior_seat_poles_0Shape1", "seat_poles_0Shape1_tpAmbient_paint_01.png", false},
{"AP11_interior_seat_pole_mirror_0Shape1", "seat_pole_mirror_0Shape1_tpAmbient_paint_01.png", false},
{"AP11_interior_seat_rt_tp", "seat_rt_tpAmbient_paint_v001.png", false},
{"AP11_interior_sextant_0Shape2", "sextant_0Shape2_tpAmbient.png", false},
{"AP11_interior_switch_covers_main_middle1", "switch_covers_main_middle1Shape_tpAmbient.png", false},
{"AP11_interior_switch_rails_lft", "switch_rails_lftShape_tpAmbient.png", false},
{"AP11_interior_tunnel_main_cylinder1", "switch_rails_lftShape_tpAmbient.png", false},
{"AP11_interior_tunnel_switches_01", "tunnel_switches_01Shape_tpAmbient.png", false},
{"AP11_interior_tunnel_wheelsShape", "tunnel_wheelsShape_tpAmbient.png", false},
{"AP11_interior_walls_mid_left", "walls_mid_leftShape_tpAmbient_paint_01.png", false},
{"AP11_interior_windows_front_0Shape4", "windows_front_0Shape4_tpAmbient_paint_01.png", false}
{ "AP11_int_back_wall_left", "AP11_int_back_wall_left.png", false },
{ "AP11_int_back_wall_right", "AP11_int_back_wall_right.png", false },
{ "AP11_interior_back_wall_top_0Shape3", "back_wall_top_0Shape3_tpAmbient_paint_03.png", false },
{ "AP11_interior_belt_buckles_02_L2", "belt_buckles_02_L2Shape_tpAmbient.png", false },
{ "AP11_interior_belt_straps_02", "belt_straps_02Shape_tpAmbient_paint_01.png", false },
{ "AP11_interior_black_push_buttons", "push_buttonsShape_tpAmbient.png", false },
{ "AP11_interior_bottom_boxes_03", "bottom_boxes_03_paint_01.png", false },
{ "AP11_interior_bottom_floor_tp", "bottom_floor_tpAmbient_paint_v002.png", false },
{ "AP11_interior_box_back_01", "box_back_01_paint_v001.png", false },
{ "AP11_interior_box_back_02", "box_back_02_paint_v001.png", false },
{ "AP11_interior_box_back_04", "box_back_04_paint_v001.png", false },
{ "AP11_interior_box_lft_lower_01", "box_lft_lower_01Shape_Diffuse_paint_v002.png", false },
{ "AP11_interior_box_lft_top", "box_lft_topShape_Diffuse_paint_v009.png", false },
{ "AP11_interior_box_mid_tp", "box_mid_tpDiffuse_paint_v001.png", false },
{ "AP11_interior_box_rt_top_02", "box_rt_top_02_paint_04.png", false },
{ "AP11_interior_brushed_blue_ano", "brushed_blue_ano_paint_01.png", false },
{ "AP11_interior_brushed_brass", "brushed_brass_paint_01.png", false },
{ "AP11_interior_brushed_grey_ano", "brushed_grey_ano_paint_02.png", false },
{ "AP11_interior_canvas_cover", "canvas_coverShape_tpAmbient_paint_01.png", false },
{ "AP11_interior_Channel_attachment", "Channel_attachment_Diffuse.png", false },
{ "AP11_interior_Channel_baseMetal", "Channel_baseMetal_Diffuse.png", false },
{ "AP11_interior_Channel_Material", "Channel_Material_Diffuse.png", false },
{ "AP11_interior_Channel_rsMaterial2", "Channel_rsMaterial2_Diffuse.png", false },
{ "AP11_interior_cloth_01", "cloth_01Shape_tpAmbient_paint_01.png", false },
{ "AP11_interior_coiled_hose", "coiled_hoseShape_tpAmbient.png", false },
{ "AP11_interior_control_panel_left_win_plates", "control_panel_left_win_platesShape_tpAmbient.png", false },
{ "AP11_interior_control_panel_rt_win_plates", "control_panel_rt_win_platesShape_tpAmbient.png", false },
{ "AP11_interior_copper_parts_main_cp", "copper_parts_main_cpShape_tpAmbient.png", false },
{ "AP11_interior_dials_main2", "dials_main2Shape_tpAmbient.png", false },
{ "AP11_interior_dials_t2", "dials_t2Shape_tpAmbient.png", false },
{ "AP11_interior_dial_fixes_01", "dial_fixes_01Shape_tpAmbient.png", false },
{ "AP11_interior_fire_ex_02", "fire_ex_02_paint_v001.png", false },
{ "AP11_interior_floor_panels_3", "floor_panels_3Shape_tpAmbient_paint_01.png", false },
{ "AP11_interior_floor_tile_tex_01", "floor_tile_tex_01.png", false },
{ "AP11_interior_grey", "gray.png", false },
{ "AP11_interior_handholds_cp", "handholds_cpShape_tpAmbient_paint_05.png", false },
{ "AP11_interior_hatch_release_0Shape5", "hatch_release_0Shape5_tpAmbient_paint_02.png", false },
{ "AP11_interior_headrests_02", "headrests_02Shape_tpAmbient_paint_01.png", false },
{ "AP11_interior_hoses_black_01", "hoses_black_01Shape_tpAmbient_paint_01.png", false },
{ "AP11_interior_hoses_white_0Shape1", "hoses_white_0Shape1_tpAmbient_paint_01.png", false },
{ "AP11_interior_josticks1", "joysticks1Shape_tpAmbient_paint_01.png", false },
{ "AP11_interior_joysticks_fabric1", "joysticks_fabric1_Shape_tpAmbient_paint_01.png", false },
{ "AP11_interior_joystick_poles_lft_05", "joystick_poles_lft_05_paint_v002.png", false },
{ "AP11_interior_joystick_poles_lft_long_05", "joystick_poles_lft_long_05_paint_v002.png", false },
{ "AP11_interior_joystick_poles_rt_05", "joystick_poles_rt_05_paint_v002.png", false },
{ "AP11_interior_latch_mechanisms_01", "latch_mechanisms_01Shape_tpAmbient.png", false },
{ "AP11_interior_lower_push_buttons", "lower_push_buttonsShape_tpAmbient.png", false },
{ "AP11_interior_lower_walls_back", "lower_walls_back_paint_04.png", false },
{ "AP11_interior_lower_walls_boxes_head", "lower_walls_boxes_headShape_tpAmbient_paint_v001.png", false },
{ "AP11_interior_main_cp_left_smth_03", "main_cp_left_0Shape3_tpAmbient_paint_02.png", false },
{ "AP11_interior_main_cp_mid_smth_02", "main_cp_mid_smth_02Shape_tpAmbient_paint_02.png", false },
{ "AP11_interior_main_cp_rt_smth", "main_cp_rt_smthShape_tpAmbient_paint_02.png", false },
{ "AP11_interior_main_cp_wheels", "main_cp_wheelsShape_tpAmbient.png", false },
{ "AP11_interior_metal_brackets_under_hatch", "metal_brackets_under_hatchShape_tpAmbient.png", false },
{ "AP11_interior_metal_tunnel_parts", "metal_tunnel_partsShape_tpAmbient_paint_01.png", false },
{ "AP11_interior_metal_window_parts", "metal_window_partsShape_tpAmbient_paint_01.png", false },
{ "AP11_interior_middle_walls_05", "middle_walls_05_tpAmbient_paint_02.png", false },
{ "AP11_interior_middle_walls_0Shape8", "middle_walls_0Shape8_tpAmbient_paint_01.png", false },
{ "AP11_interior_mid_tunnel_parts", "mid_tunnel_parts_03Shape_tpAmbient_paint_02.png", false },
{ "AP11_interior_new_switch_rails1", "new_switch_rails1Shape_tpAmbient.png", false },
{ "AP11_interior_nozzles_02", "nozzles_02Shape_tpAmbient_paint_01.png", false },
{ "AP11_interior_outlet_fabric3", "outlet_fabric3Shape_tpAmbient_paint_02.png", false },
{ "AP11_interior_pole_end_02", "pole_end_02.png", false },
{ "AP11_interior_pole_end_03", "pole_end_03.png", false },
{ "AP11_interior_pole_tex_03", "pole_tex_03.png", false },
{ "AP11_interior_pole_tex_04", "pole_tex_04.png", false },
{ "AP11_interior_pole_tex_05", "pole_tex_05.png", false },
{ "AP11_interior_pole_tex_lower_01", "pole_tex_lower_01.png", false },
{ "AP11_interior_pole_under_seat_paint_01", "pole_under_seat_paint_01.png", false },
{ "AP11_interior_pole_under_seat_square_bar", "pole_under_seat_square_bar_paint_01.png", false },
{ "AP11_interior_push_switches_lft1", "push_switches_lft1Shape_tpAmbient.png", false },
{ "AP11_interior_random_small_parts_01", "random_small_parts_01Shape_tpAmbient_paint_02.png", false },
{ "AP11_interior_red", "red.png", false },
{ "AP11_interior_reticle_wheel_tp", "reticle_wheel_tpAmbient_paint_01.png", false },
{ "AP11_interior_rivet_paint_v001", "rivet_paint_v001.png", false },
{ "AP11_interior_seats_fabric", "seats_fabric_paint_01.png", false },
{ "AP11_interior_seat_left_tp", "seat_left_tpAmbient_paint_v001.png", false },
{ "AP11_interior_seat_lights_left", "seat_lights_left_Shape_tpAmbient_paint_v001.png", false },
{ "AP11_interior_seat_lights_rt", "seat_lights_rt_Shape_tpAmbient_paint_v001.png", false },
{ "AP11_interior_seat_middle_tp", "seat_middle_tpAmbient_paint_v001.png", false },
{ "AP11_interior_seat_poles_0Shape1", "seat_poles_0Shape1_tpAmbient_paint_01.png", false },
{ "AP11_interior_seat_pole_mirror_0Shape1", "seat_pole_mirror_0Shape1_tpAmbient_paint_01.png", false },
{ "AP11_interior_seat_rt_tp", "seat_rt_tpAmbient_paint_v001.png", false },
{ "AP11_interior_sextant_0Shape2", "sextant_0Shape2_tpAmbient.png", false },
{ "AP11_interior_switch_covers_main_middle1", "switch_covers_main_middle1Shape_tpAmbient.png", false },
{ "AP11_interior_switch_rails_lft", "switch_rails_lftShape_tpAmbient.png", false },
{ "AP11_interior_tunnel_main_cylinder1", "switch_rails_lftShape_tpAmbient.png", false },
{ "AP11_interior_tunnel_switches_01", "tunnel_switches_01Shape_tpAmbient.png", false },
{ "AP11_interior_tunnel_wheelsShape", "tunnel_wheelsShape_tpAmbient.png", false },
{ "AP11_interior_walls_mid_left", "walls_mid_leftShape_tpAmbient_paint_01.png", false },
{ "AP11_interior_windows_front_0Shape4", "windows_front_0Shape4_tpAmbient_paint_01.png", false }
}
asset.export("registerCsm", function (asset, parentNodeIdentifier)
asset.export("createCsmModel", function (parentNodeIdentifier)
local parts = {}
for i, info in ipairs(partsInfo) do
parts[#parts + 1] = assetHelper.createModelPart(
parts[#parts + 1] = asset_helper.createModelPart(
parentNodeIdentifier,
sunTransforms.SolarSystemBarycenter.Identifier,
sun_transforms.SolarSystemBarycenter.Identifier,
models,
info[1],
info[2],
info[3]
)
end
assetHelper.registerSceneGraphNodesAndExport(asset, parts)
return parts
end)
asset.export("registerCsmFull", function (asset, parentNodeIdentifier)
asset.export("createCsmModelFull", function (parentNodeIdentifier)
local parts = {}
for i, info in ipairs(partsInfoFull) do
parts[#parts + 1] = assetHelper.createModelPart(
parts[#parts + 1] = asset_helper.createModelPart(
parentNodeIdentifier,
sunTransforms.SolarSystemBarycenter.Identifier,
sun_transforms.SolarSystemBarycenter.Identifier,
models,
info[1],
info[2],
info[3]
)
end
assetHelper.registerSceneGraphNodesAndExport(asset, parts)
end)
return parts
end)

View File

@@ -1,5 +1,5 @@
--apollo_globebrowsing.asset
local moon_transforms = asset.require('scene/solarsystem/planets/earth/moon/moon')
local heightmaps = asset.syncedResource({
Name = "Apollo Globebrowsing Heightmaps",
@@ -30,8 +30,8 @@ local stations = asset.syncedResource({
})
asset.onInitialize(function ()
openspace.globebrowsing.addBlendingLayersFromDirectory(heightmaps, "Moon")
openspace.globebrowsing.addBlendingLayersFromDirectory(basemaps, "Moon")
openspace.globebrowsing.addBlendingLayersFromDirectory(naclighting, "Moon")
openspace.globebrowsing.addBlendingLayersFromDirectory(stations, "Moon")
openspace.globebrowsing.addBlendingLayersFromDirectory(heightmaps, moon_transforms.Moon.Identifier)
openspace.globebrowsing.addBlendingLayersFromDirectory(basemaps, moon_transforms.Moon.Identifier)
openspace.globebrowsing.addBlendingLayersFromDirectory(naclighting, moon_transforms.Moon.Identifier)
openspace.globebrowsing.addBlendingLayersFromDirectory(stations, moon_transforms.Moon.Identifier)
end)

View File

@@ -3,11 +3,11 @@
-- This asset exports a function to create an Apollo Lunar Excursion Module (LEM).
-- Instead of hard-coding the scene graph node parent,
-- client assets can decide which object that the LEM should be attached to.
-- Usage example: registerLem(asset, Apollo11Lem.Idenfitier)
-- Usage example: createLem(Apollo11Lem.Idenfitier)
-- ...where Apollo11Lem is the scene graph node identifier to attach the LEM to.
local assetHelper = asset.require('util/asset_helper')
local sunTransforms = asset.require('scene/solarsystem/sun/transforms')
local asset_helper = asset.require('util/asset_helper')
local sun_transforms = asset.require('scene/solarsystem/sun/transforms')
local models = asset.syncedResource({
Name = "Apollo Models",
@@ -35,17 +35,17 @@ local partsInfo = {
}
asset.export("registerLem", function (asset, parentNodeIdentifier)
asset.export("createLem", function (parentNodeIdentifier)
local parts = {}
for i, info in ipairs(partsInfo) do
parts[#parts + 1] = assetHelper.createModelPart(
parts[#parts + 1] = asset_helper.createModelPart(
parentNodeIdentifier,
sunTransforms.SolarSystemBarycenter.Identifier,
sun_transforms.SolarSystemBarycenter.Identifier,
models,
info[1],
info[2],
info[3]
)
end
assetHelper.registerSceneGraphNodesAndExport(asset, parts)
return parts
end)

View File

@@ -2,7 +2,7 @@
-- The insignias are invisible by default, but can be enabled using shown or hidden using
-- the exported functions `showInsignias(interpolationDuration)` and `hideInsignias(interpolationDuration)`.
local assetHelper = asset.require('util/asset_helper')
local asset_helper = asset.require('util/asset_helper')
local insigniasPath = asset.syncedResource({
Name = "Apollo Insignias",
@@ -18,37 +18,37 @@ local landingData = {
Name = "Apollo 11",
Name = "Apollo 11",
Texture = "apollo11.png",
LunarModule = {0.67409, 23.47298, 0.0},
LunarModule = { 0.67409, 23.47298, 0.0 }
},
{
Identifier = "Apollo12",
Name = "Apollo 12",
Texture = "apollo12.png",
LunarModule = {-3.01381, -23.41930, 0.0}
LunarModule = { -3.01381, -23.41930, 0.0 }
},
{
Identifier = "Apollo14",
Name = "Apollo 14",
Texture = "apollo14.png",
LunarModule = {-3.64544, -17.47139, 0.0}
LunarModule = { -3.64544, -17.47139, 0.0 }
},
{
Identifier = "Apollo15",
Name = "Apollo 15",
Texture = "apollo15.png",
LunarModule = {26.13224, 3.63400, 0.0}
LunarModule = { 26.13224, 3.63400, 0.0 }
},
{
Identifier = "Apollo16",
Name = "Apollo 16",
Texture = "apollo16.png",
LunarModule = {-8.97341, 15.49859, 0.0}
LunarModule = { -8.97341, 15.49859, 0.0 }
},
{
Identifier = "Apollo17",
Name = "Apollo 17",
Texture = "apollo17.png",
LunarModule = {20.18809, 30.77475, 0.0}
LunarModule = { 20.18809, 30.77475, 0.0 }
}
}
@@ -117,4 +117,4 @@ asset.export('hideInsignias', function (interpolationDuration)
openspace.setPropertyValue("Scene.Apollo*Insignia.Renderable.Opacity", 0, interpolationDuration)
end)
assetHelper.registerSceneGraphNodesAndExport(asset, nodes)
asset_helper.registerSceneGraphNodesAndExport(asset, nodes)

View File

@@ -0,0 +1,12 @@
local assetHelper = asset.require('util/asset_helper')
assetHelper.registerDashboardItems(asset, {
{
Type = "DashboardItemDistance",
Identifier = "GaiaEarthDistance",
GuiName = "Gaia Earth Distance",
SourceType = "Node",
SourceNodeName = "Gaia",
DestinationType = "Node Surface",
DestinationNodeName = "Earth"
}
})

View File

@@ -0,0 +1,62 @@
--insight/shortcuts.asset
local InsightEntryTime = "2018 NOV 26 19:39:03.68"
local insightNavigationSate = "{" ..
"Anchor = 'Insight'," ..
"Pitch = 0.567457E-4," ..
"Position = { 1.240506E1,-1.369270E1,-2.423553E0 }," ..
"ReferenceFrame = 'Root',"..
"Up = { 0.441211E0,0.247019E0,0.862737E0 }," ..
"Yaw = -0.446853E-4}"
local Shortcuts = {
{
Command = "openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.HeightLayers.Mola_Utah.Settings.Offset', -469.300000);" ..
"openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.HeightLayers.OnMarsHiRISELS.Settings.Offset', -470.800006);",
Documentation = "Enable Insight landing height layer offset",
Name = "Insight Height Offset",
GuiPath = "/Missions/Insight",
Local = false
},
{
Command = "openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.HeightLayers.Mola_Utah.Settings.Offset', 0);" ..
"openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.HeightLayers.OnMarsHiRISELS.Settings.Offset', 0);",
Documentation = "Disable Insight landing height layer offset",
Name = "Default Height Offset",
GuiPath = "/Missions/Insight",
Local = false
},
{
Command = "openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.HeightLayers.OnMarsHiRISELS.Enabled', true);" ..
"openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.ColorLayers.OnMarsHiRISELS.Enabled', true);",
Documentation = "Enables HiRISE layer for insight landing",
Name = "Enable HiRISE",
GuiPath = "/Missions/Insight",
Local = false
},
{
Command = "openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.HeightLayers.OnMarsHiRISELS.Enabled', false);" ..
"openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.ColorLayers.OnMarsHiRISELS.Enabled', false);",
Documentation = "Disables HiRISE layer used for insight landing",
Name = "Disable HiRISE",
GuiPath = "/Missions/Insight",
Local = false
},
{
Command = "openspace.navigation.setNavigationState(" .. insightNavigationSate .. ");",
Documentation = "Change the camera state for the start of Insight EDL",
Name = "Insight EDL NavigationState",
GuiPath = "/Missions/Insight",
Local = false
},
{
Command = "openspace.time.setPause(true);openspace.time.setTime('" .. InsightEntryTime .. "');",
Documentation = "Change the time for the start of Insight EDL",
Name = "Insight EDL Time",
GuiPath = "/Missions/Insight",
Local = false
},
}
asset.export("Shortcuts", Shortcuts)

View File

@@ -0,0 +1,13 @@
local assetHelper = asset.require('util/asset_helper')
assetHelper.registerDashboardItems(asset, {
{
Type = "DashboardItemDistance",
Identifier = "MessengerDistance",
GuiName = "Messenger - Mercury Distance",
SourceType = "Node",
SourceNodeName = "Messenger",
DestinationType = "Node",
DestinationNodeName = "Mercury"
}
})

View File

@@ -100,6 +100,7 @@ local CharonShadow = {
Parent = CharonProjection .Identifier,
Renderable = {
Type = "RenderableShadowCylinder",
Opacity = 0.25,
TerminatorType = "PENUMBRAL",
LightSource = "SUN",
Observer = "NEW HORIZONS",

View File

@@ -0,0 +1,24 @@
local assetHelper = asset.require('util/asset_helper')
assetHelper.registerDashboardItems(asset, {
{
Type = "DashboardItemSpacing",
Identifier = "NewHorizonsSpacing",
GuiName = "New Horizons Spacing",
Spacing = 25
},
{
Type = "DashboardItemDistance",
Identifier = "NewHorizonsPlutoDistance",
GuiName = "New Horizons Pluto Distance",
SourceType = "Node",
SourceNodeName = "NewHorizons",
DestinationType = "Node Surface",
DestinationNodeName = "PlutoProjection"
},
{
Type = "DashboardItemInstruments",
Identifier = "NewHorizonsInstruments",
GuiName = "NewHorizons Instruments",
}
})

View File

@@ -226,6 +226,7 @@ local PlutoShadow = {
Parent = PlutoProjection.Identifier,
Renderable = {
Type = "RenderableShadowCylinder",
Opacity = 0.25,
TerminatorType = "PENUMBRAL",
LightSource = "SUN",
Observer = "NEW HORIZONS",

View File

@@ -0,0 +1,24 @@
local assetHelper = asset.require('util/asset_helper')
assetHelper.registerDashboardItems(asset, {
{
Type = "DashboardItemSpacing",
Identifier = "OsirisRexSpacing",
GuiName = "OSIRIS-REx Spacing",
Spacing = 25
},
{
Type = "DashboardItemDistance",
Identifier = "OsirisRexBennuDistance",
GuiName = "OSIRIS-REx Bennu Distance",
SourceType = "Node",
SourceNodeName = "OsirisRex",
DestinationType = "Node",
DestinationNodeName = "BennuBarycenter"
},
{
Type = "DashboardItemInstruments",
Identifier = "OsirisRexInstruments",
GuiName = "OSIRIS-REx Instruments",
}
})

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,5 @@
--perseverance.asset
asset.require('./model')
asset.require('./trail')

View File

@@ -0,0 +1,70 @@
--perseverance/shortcuts.asset
local PerseveranceLaunchTime = "2020 JUL 17 13:56:42"
local PerseveranceLandingTime = "2021 FEB 18 20:32:16"
local PerseveranceNavigationState = "{" ..
"Anchor = 'Perseverance'," ..
"Pitch = 0.567457E-4," ..
"Position = { 1.240506E1,-1.369270E1,-2.423553E0 }," ..
"ReferenceFrame = 'Root',"..
"Up = { 0.441211E0,0.247019E0,0.862737E0 }," ..
"Yaw = -0.446853E-4}"
local Shortcuts = {
{
Command = "openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.HeightLayers.Mola_Utah.Settings.Offset', -1677.088867);" ..
"openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.HeightLayers.OnMarsHiRISELS.Settings.Offset', -1677.088867);",
Documentation = "Enable height layer offset for Perseverance landing trail",
Name = "Perseverance Height Offset",
GuiPath = "/Missions/Insight",
Local = false
},
{
Command = "openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.HeightLayers.Mola_Utah.Settings.Offset', 0);" ..
"openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.HeightLayers.OnMarsHiRISELS.Settings.Offset', 0);",
Documentation = "Disable Perseverance landing height layer offset",
Name = "Default Height Offset",
GuiPath = "/Missions/Insight",
Local = false
},
{
Command = "openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.HeightLayers.OnMarsHiRISELS.Enabled', true);" ..
"openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.ColorLayers.OnMarsHiRISELS.Enabled', true);",
Documentation = "Enables HiRISE layer for Perseverance",
Name = "Enable HiRISE",
GuiPath = "/Missions/Insight",
Local = false
},
{
Command = "openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.HeightLayers.OnMarsHiRISELS.Enabled', false);" ..
"openspace.setPropertyValueSingle('Scene.Mars.Renderable.Layers.ColorLayers.OnMarsHiRISELS.Enabled', false);",
Documentation = "Disables HiRISE layer used for Perseverance",
Name = "Disable HiRISE",
GuiPath = "/Missions/Insight",
Local = false
},
{
Command = "openspace.navigation.setNavigationState(" .. PerseveranceNavigationState .. ");",
Documentation = "Change the camera state for the start of Insight EDL",
Name = "Insight EDL NavigationState",
GuiPath = "/Missions/Insight",
Local = false
},
{
Command = "openspace.time.setPause(true);openspace.time.setTime('" .. PerseveranceLaunchTime .. "');",
Documentation = "Change the time for Perseverance launch",
Name = "Perseverance launch time",
GuiPath = "/Missions/Perseverance",
Local = false
},
{
Command = "openspace.time.setPause(true);openspace.time.setTime('" .. PerseveranceLandingTime .. "');",
Documentation = "Change the time for when Perseverance has landed",
Name = "Perseverance landed time",
GuiPath = "/Missions/Perseverance",
Local = false
},
}
asset.export("Shortcuts", Shortcuts)

View File

@@ -0,0 +1,97 @@
--trail.asset
local assetHelper = asset.require('util/asset_helper')
local sunTransforms = asset.require('scene/solarsystem/sun/transforms')
local marsTransforms = asset.require('scene/solarsystem/planets/mars/transforms')
local kernels = asset.syncedResource({
Name = "Mars 2020 Kernels",
Type = "HttpSynchronization",
Identifier = "perseverance_kernels",
Version = 1
})
local perseverance_id = "-168"
local m2020_kernels = {
kernels .. "/m2020.tf",
kernels .. "/m2020.tls",
kernels .. "/naif0012.tls",
kernels .. "/m2020.tsc",
kernels .. "/m2020_FMAresponse_JEZ_20200717_P000.cruise.bsp",
kernels .. "/m2020_FMAresponse_JEZ_20200717_P000.edl.bsp",
}
local startTime = "2020 JUL 17 13:56:42"
local approachMars = "2021 FEB 11 20:32:16"
local endTime = "2021 FEB 18 20:32:16"
local PerseveranceNode = {
Identifier = "PerseveranceNode",
Parent = sunTransforms.SolarSystemBarycenter.Identifier,
Transform = {
Translation = {
Type = "SpiceTranslation",
Target = perseverance_id,
Observer = "SUN",
Kernels = m2020_kernels
},
},
GUI = {
Name = "Perseverance Node",
Path = "/Solar System/Missions/Perseverance",
Hidden = true
}
}
local PerseveranceTrailSun = {
Identifier = "PerseveranceTrailSun",
Parent = sunTransforms.SolarSystemBarycenter.Identifier,
Renderable = {
Type = "RenderableTrailTrajectory",
Translation = {
Type = "SpiceTranslation",
Target = perseverance_id,
Observer = "SUN",
Kernels = m2020_kernels
},
Color = { 0.2, 0.7, 0.1 },
StartTime = startTime,
EndTime = endTime,
SampleInterval = 100
},
GUI = {
Name = "Perseverance Trail",
Path = "/Solar System/Missions/Perseverance",
}
}
local PerseveranceTrailMars = {
Identifier = "PerseveranceTrailMars",
Parent = marsTransforms.MarsBarycenter.Identifier,
Renderable = {
Type = "RenderableTrailTrajectory",
Translation = {
Type = "SpiceTranslation",
Target = perseverance_id,
Observer = "MARS",
Kernels = m2020_kernels
},
Color = { 0.7, 0.9, 0.6 },
StartTime = approachMars,
EndTime = endTime,
SampleInterval = 100
},
GUI = {
Name = "Perseverance Trail (Mars)",
Path = "/Solar System/Missions/Perseverance",
}
}
assetHelper.registerSceneGraphNodesAndExport(asset, {
PerseveranceNode,
PerseveranceTrailSun,
PerseveranceTrailMars
})

Some files were not shown because too many files have changed in this diff Show More