General cleanup of Apollo scenes

This commit is contained in:
Alexander Bock
2020-06-13 13:08:47 +02:00
parent f5e45992b6
commit da955a6c29
31 changed files with 865 additions and 988 deletions
+1 -1
View File
@@ -3,7 +3,7 @@
#Asset
scene/solarsystem/planets/earth/moon/moon required
scene/solarsystem/missions/apollo/apollo8 required
scene/solarsystem/missions/apollo/8/apollo8 required
scene/solarsystem/planets/earth/earth required
#Property
+1 -2
View File
@@ -5,7 +5,7 @@ local sceneHelper = asset.require('util/scene_helper')
asset.require('scene/solarsystem/planets/earth/moon/moon')
asset.require('scene/solarsystem/missions/apollo/apollo8.asset')
asset.require('scene/solarsystem/missions/apollo/8/apollo8.asset')
-- Custom Keybindings
local Keybindings = {
@@ -118,7 +118,6 @@ asset.onInitialize(function ()
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)
+4 -6
View File
@@ -3,17 +3,15 @@
#Asset
scene/solarsystem/planets/earth/moon/moon required
scene/solarsystem/missions/apollo/apollo8 required
scene/solarsystem/missions/apollo/apollo11 required
scene/solarsystem/missions/apollo/a17_lem required
scene/solarsystem/missions/apollo/8/apollo8 required
scene/solarsystem/missions/apollo/11/apollo11 required
scene/solarsystem/missions/apollo/17/lem required
scene/solarsystem/missions/apollo/apollo_globebrowsing required
scene/solarsystem/missions/apollo/apollo_11_lem_flipbook required
scene/solarsystem/missions/apollo/11/lem_flipbook required
scene/solarsystem/missions/apollo/insignias_map required
#Property
setPropertyValueSingle Scene.Moon.Renderable.Layers.ColorLayers.A17_travmap.BlendMode 0
setPropertyValueSingle Scene.Apollo11LemDescentModel.Renderable.RotationVector { 273.750,28.0,309.85 }
setPropertyValueSingle Scene.Apollo11LemLandedModel.Renderable.RotationVector { 273.750,28.0,309.85 }
setPropertyValueSingle Scene.Moon.Renderable.PerformShading false
#Keybinding
+7 -11
View File
@@ -1,15 +1,14 @@
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')
-- local station2 = asset.require('scene/solarsystem/missions/apollo/17/bouldersstation2')
-- local station6 = asset.require('scene/solarsystem/missions/apollo/17/bouldersstation6')
-- local station7 = asset.require('scene/solarsystem/missions/apollo/17/bouldersstation7')
asset.require('scene/solarsystem/missions/apollo/8/apollo8')
asset.require('scene/solarsystem/missions/apollo/11/apollo11')
asset.require('scene/solarsystem/missions/apollo/17/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/11/lem_flipbook')
asset.require('scene/solarsystem/missions/apollo/insignias_map')
local Keybindings = {
@@ -100,9 +99,6 @@ asset.onInitialize(function ()
-- 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)
@@ -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)
@@ -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)
@@ -1,18 +1,18 @@
-- 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 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 lem_model = asset.require('scene/solarsystem/missions/apollo/lem_model')
local Apollo11Lem = {
Identifier = "Apollo11Lem",
Parent = moonAsset.Moon.Identifier,
Parent = moon_asset.Moon.Identifier,
Transform = {
Translation = {
Type = "GlobeTranslation",
Globe = moonAsset.Moon.Identifier,
Globe = moon_asset.Moon.Identifier,
Longitude = -360+23.47306,
Latitude = 0.67402,
Altitude = -1927.65,
@@ -38,10 +38,11 @@ local Apollo11LemModel = {
Type = "RenderableModel",
Geometry = {
Type = "MultiModelGeometry",
GeometryFile = model.modelFolder .. "/LM-2_ver2clean.obj"
GeometryFile = lem_model.modelFolder .. "/LM-2_ver2clean.obj"
},
ColorTexture = model.modelFolder .. "/LM-2_ver2clean_u1_v1.jpeg",
LightSources = assetHelper.getDefaultLightSources(sunTransforms.SolarSystemBarycenter.Identifier)
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 = {
Hidden = false,
@@ -50,11 +51,4 @@ local Apollo11LemModel = {
}
}
assetHelper.registerSceneGraphNodesAndExport(asset, {
Apollo11Lem,
Apollo11LemModel
})
asset.onInitialize(function ()
openspace.setPropertyValueSingle('Scene.Apollo11LemModel.Renderable.RotationVector', { 91.044090,171.229706,111.666664} );
end)
asset_helper.registerSceneGraphNodesAndExport(asset, { Apollo11Lem, Apollo11LemModel })
@@ -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);
@@ -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;
@@ -0,0 +1,8 @@
local modelFolder = asset.syncedResource({
Name = "Apollo Models",
Type = "HttpSynchronization",
Identifier = "apollo_11_models",
Version = 1
})
asset.export('models', modelFolder)
@@ -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)
@@ -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)
@@ -0,0 +1,8 @@
local models = asset.syncedResource({
Name = "Apollo Boulders Models",
Type = "HttpSynchronization",
Identifier = "apollo_boulders",
Version = 1
})
asset.export('models', models)
@@ -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)
@@ -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)
@@ -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)
@@ -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 })
@@ -0,0 +1,3 @@
asset.require('./model')
asset.require('./launch_model')
asset.require('./trails')
@@ -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)
@@ -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)
@@ -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)
@@ -0,0 +1,81 @@
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
},
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 })
@@ -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
})
@@ -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)
@@ -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 = "EarthCenter",
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)
@@ -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)
@@ -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)
@@ -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)
@@ -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)