From 74a572ec10e7766d51d560e729d30bd38d788227 Mon Sep 17 00:00:00 2001 From: Micah Acinapura Date: Fri, 12 Jun 2020 18:38:10 -0400 Subject: [PATCH 1/4] update iss asset --- .../planets/earth/satellites/misc/iss.asset | 745 ++++++++++++++++-- 1 file changed, 693 insertions(+), 52 deletions(-) diff --git a/data/assets/scene/solarsystem/planets/earth/satellites/misc/iss.asset b/data/assets/scene/solarsystem/planets/earth/satellites/misc/iss.asset index 4f36cfc683..59209f9005 100644 --- a/data/assets/scene/solarsystem/planets/earth/satellites/misc/iss.asset +++ b/data/assets/scene/solarsystem/planets/earth/satellites/misc/iss.asset @@ -9,25 +9,32 @@ local filename = "ISS.txt" local nodes = {} local tle = satelliteHelper.downloadTLEFile(asset, url, identifier, filename) -local modelsLocation = asset.syncedResource({ +local textures = asset.syncedResource({ + Name = "ISS Textures", + Type = "HttpSynchronization", + Identifier = "iss_textures", + Version = 1 +}) + +local models = asset.syncedResource({ Name = "ISS Models", Type = "HttpSynchronization", Identifier = "iss_model", - Version = 1 + Version = 2 }) +local LightSources = assetHelper.getDefaultLightSources( + sunTransforms.SolarSystemBarycenter.Identifier) + + local initializeAndAddNodes = function() local lineElement = satelliteHelper.makeSingleLineElement(tle, filename) local period = satelliteHelper.getPeriodFromElement(lineElement) local path = tle .. "/" .. filename --- TLE data is only relevant in EarthInertial frame which means the model --- will inherit some irrelevant rotations from its parent. To get around that --- we perform the reverse rotation back to EarthBarycenter frame after applying --- the TLE translation local iss = { - Identifier = identifier, + Identifier = "ISS", Parent = transforms.EarthInertial.Identifier, Transform = { Translation = { @@ -50,70 +57,704 @@ local initializeAndAddNodes = function() } } - local issModel = { - Identifier = identifier .. "_model", +local parentNode = { + Identifier = "ISSparentNode", Parent = iss.Identifier, Transform = { Rotation = { - Type = "FixedRotation", - Attached = "ISS_model", - XAxis = { 1.0, 0.0, 0.0 }, - XAxisOrthogonal = true, - ZAxis = transforms.EarthInertial.Identifier + Type = "FixedRotation", + Attached = "ISSparentNode", + XAxis = { 0.01, -1.0, 0.56 }, + XAxisOrthogonal = true, + YAxis = transforms.EarthInertial.Identifier } }, - Renderable = { - Type = "RenderableModel", - Geometry = { - Type = "MultiModelGeometry", - GeometryFile = modelsLocation .. "/iss.obj" - }, - ColorTexture = modelsLocation .. "/gray.png", - LightSources = assetHelper.getDefaultLightSources(sunTransforms.SolarSystemBarycenter.Identifier) + GUI = { + Name = "parentNode", + Path = "/Solar System/Planets/Earth/Satellites/ISS", + Hidden = true, + } +} + +local zero = { + Identifier = "ISSzero", + Parent = parentNode.Identifier, + Transform = { }, - Tag = { "earth_satellite", "ISS" }, - GUI = { - Path = "/Solar System/Planets/Earth/Satellites/ISS" - } - } - - local issTrail = { - Identifier = identifier .. "_trail", - Parent = transforms.EarthInertial.Identifier, Renderable = { - Type = "RenderableTrailOrbit", - Translation = { - Type = "TLETranslation", - Body = identifier, - Observer = transforms.EarthInertial.Identifier, - File = path, - LineNumber = 1 + Type = "RenderableModel", + Geometry = { + Type = "MultiModelGeometry", + GeometryFile = models .. "/0.obj" }, - Color = { 0.9, 0.6715, 0.0 }, - Fade = 1.5, - Period = period, - Resolution = 320 - }, - Tag = { "earth_satellite", "ISS" }, - GUI = { - Path = "/Solar System/Planets/Earth/Satellites/ISS" + ColorTexture = textures .. "/0.png", + LightSources = LightSources + }, + GUI = { + Name = "0", + Path = "/Solar System/Planets/Earth/Satellites/ISS", + Hidden = true, } - } +} - local myNodes = { iss, issModel, issTrail } +local one = { + Identifier = "ISSone", + Parent = parentNode.Identifier, + Transform = { + }, + Renderable = { + Type = "RenderableModel", + Geometry = { + Type = "MultiModelGeometry", + GeometryFile = models .. "/1.obj" + }, + ColorTexture = textures .. "/1.png", + LightSources = LightSources + }, + GUI = { + Name = "1", + Path = "/Solar System/Planets/Earth/Satellites/ISS", + Hidden = true, + } +} + + +local two = { + Identifier = "ISStwo", + Parent = parentNode.Identifier, + Transform = { + }, + Renderable = { + Type = "RenderableModel", + Geometry = { + Type = "MultiModelGeometry", + GeometryFile = models .. "/2.obj" + }, + ColorTexture = textures .. "/2.png", + LightSources = LightSources + }, + GUI = { + Name = "2", + Path = "/Solar System/Planets/Earth/Satellites/ISS", + Hidden = true, + } +} + +local three = { + Identifier = "ISSthree", + Parent = parentNode.Identifier, + Transform = { + }, + Renderable = { + Type = "RenderableModel", + Geometry = { + Type = "MultiModelGeometry", + GeometryFile = models .. "/3.obj" + }, + ColorTexture = textures .. "/3.png", + LightSources = LightSources + }, + GUI = { + Name = "3", + Path = "/Solar System/Planets/Earth/Satellites/ISS", + Hidden = true, + } +} + +local four = { + Identifier = "ISSfour", + Parent = parentNode.Identifier, + Transform = { + }, + Renderable = { + Type = "RenderableModel", + Geometry = { + Type = "MultiModelGeometry", + GeometryFile = models .. "/4.obj" + }, + ColorTexture = textures .. "/4.png", + LightSources = LightSources + }, + GUI = { + Name = "4", + Path = "/Solar System/Planets/Earth/Satellites/ISS", + Hidden = true, + } +} + +local five = { + Identifier = "ISSfive", + Parent = parentNode.Identifier, + Transform = { + }, + Renderable = { + Type = "RenderableModel", + Geometry = { + Type = "MultiModelGeometry", + GeometryFile = models .. "/5.obj" + }, + ColorTexture = textures .. "/5.png", + LightSources = LightSources + }, + GUI = { + Name = "5", + Path = "/Solar System/Planets/Earth/Satellites/ISS", + Hidden = true, + } +} + +local six = { + Identifier = "ISSsix", + Parent = parentNode.Identifier, + Transform = { + }, + Renderable = { + Type = "RenderableModel", + Geometry = { + Type = "MultiModelGeometry", + GeometryFile = models .. "/6.obj" + }, + ColorTexture = textures .. "/6.png", + LightSources = LightSources + }, + GUI = { + Name = "6", + Path = "/Solar System/Planets/Earth/Satellites/ISS", + Hidden = true, + } +} +local seven = { + Identifier = "ISSseven", + Parent = parentNode.Identifier, + Transform = { + }, + Renderable = { + Type = "RenderableModel", + Geometry = { + Type = "MultiModelGeometry", + GeometryFile = models .. "/7.obj" + }, + ColorTexture = textures .. "/7.png", + LightSources = LightSources + }, + GUI = { + Name = "7", + Path = "/Solar System/Planets/Earth/Satellites/ISS", + Hidden = true, + } +} + +local eight = { + Identifier = "ISSeight", + Parent = parentNode.Identifier, + Transform = { + }, + Renderable = { + Type = "RenderableModel", + Geometry = { + Type = "MultiModelGeometry", + GeometryFile = models .. "/8.obj" + }, + ColorTexture = textures .. "/8.png", + LightSources = LightSources + }, + GUI = { + Name = "8", + Path = "/Solar System/Planets/Earth/Satellites/ISS", + Hidden = true, + } +} + +local ten = { + Identifier = "ISSten", + Parent = parentNode.Identifier, + Transform = { + }, + Renderable = { + Type = "RenderableModel", + Geometry = { + Type = "MultiModelGeometry", + GeometryFile = models .. "/10.obj" + }, + ColorTexture = textures .. "/10.png", + LightSources = LightSources + }, + GUI = { + Name = "10", + Path = "/Solar System/Planets/Earth/Satellites/ISS", + Hidden = true, + } +} + +local eleven = { + Identifier = "ISSeleven", + Parent = parentNode.Identifier, + Transform = { + }, + Renderable = { + Type = "RenderableModel", + Geometry = { + Type = "MultiModelGeometry", + GeometryFile = models .. "/11.obj" + }, + ColorTexture = textures .. "/11.png", + LightSources = LightSources + }, + GUI = { + Name = "11", + Path = "/Solar System/Planets/Earth/Satellites/ISS", + Hidden = true, + } +} + +local thirteen = { + Identifier = "ISSthirteen", + Parent = parentNode.Identifier, + Transform = { + }, + Renderable = { + Type = "RenderableModel", + Geometry = { + Type = "MultiModelGeometry", + GeometryFile = models .. "/13.obj" + }, + ColorTexture = textures .. "/13.png", + LightSources = LightSources + }, + GUI = { + Name = "13", + Path = "/Solar System/Planets/Earth/Satellites/ISS", + Hidden = true, + } +} + +local fourteen = { + Identifier = "ISSfourteen", + Parent = parentNode.Identifier, + Transform = { + }, + Renderable = { + Type = "RenderableModel", + Geometry = { + Type = "MultiModelGeometry", + GeometryFile = models .. "/14.obj" + }, + ColorTexture = textures .. "/14.png", + LightSources = LightSources + }, + GUI = { + Name = "14", + Path = "/Solar System/Planets/Earth/Satellites/ISS", + Hidden = true, + } +} + +local fifteen = { + Identifier = "ISSfifteen", + Parent = parentNode.Identifier, + Transform = { + }, + Renderable = { + Type = "RenderableModel", + Geometry = { + Type = "MultiModelGeometry", + GeometryFile = models .. "/15.obj" + }, + ColorTexture = textures .. "/15.png", + LightSources = LightSources + }, + GUI = { + Name = "15", + Path = "/Solar System/Planets/Earth/Satellites/ISS", + Hidden = true, + } +} + +local sixteen = { + Identifier = "ISSsixteen", + Parent = parentNode.Identifier, + Transform = { + }, + Renderable = { + Type = "RenderableModel", + Geometry = { + Type = "MultiModelGeometry", + GeometryFile = models .. "/16.obj" + }, + ColorTexture = textures .. "/16.png", + LightSources = LightSources + }, + GUI = { + Name = "16", + Path = "/Solar System/Planets/Earth/Satellites/ISS", + Hidden = true, + } +} + +local seventeen = { + Identifier = "ISSseventeen", + Parent = parentNode.Identifier, + Transform = { + }, + Renderable = { + Type = "RenderableModel", + Geometry = { + Type = "MultiModelGeometry", + GeometryFile = models .. "/17.obj" + }, + ColorTexture = textures .. "/17.png", + LightSources = LightSources + }, + GUI = { + Name = "17", + Path = "/Solar System/Planets/Earth/Satellites/ISS", + Hidden = true, + } +} + +local nineteen = { + Identifier = "ISSnineteen", + Parent = parentNode.Identifier, + Transform = { + }, + Renderable = { + Type = "RenderableModel", + Geometry = { + Type = "MultiModelGeometry", + GeometryFile = models .. "/19.obj" + }, + ColorTexture = textures .. "/19.png", + LightSources = LightSources + }, + GUI = { + Name = "19", + Path = "/Solar System/Planets/Earth/Satellites/ISS", + Hidden = true, + } +} + +local twentyone = { + Identifier = "ISStwentyone", + Parent = parentNode.Identifier, + Transform = { + }, + Renderable = { + Type = "RenderableModel", + Geometry = { + Type = "MultiModelGeometry", + GeometryFile = models .. "/21.obj" + }, + ColorTexture = textures .. "/21.png", + LightSources = LightSources + }, + GUI = { + Name = "21", + Path = "/Solar System/Planets/Earth/Satellites/ISS", + Hidden = true, + } +} + +local twentytwo = { + Identifier = "ISStwentytwo", + Parent = parentNode.Identifier, + Transform = { + }, + Renderable = { + Type = "RenderableModel", + Geometry = { + Type = "MultiModelGeometry", + GeometryFile = models .. "/22.obj" + }, + ColorTexture = textures .. "/22.png", + LightSources = LightSources + }, + GUI = { + Name = "22", + Path = "/Solar System/Planets/Earth/Satellites/ISS", + Hidden = true, + } +} + +local twentythree = { + Identifier = "ISStwentythree", + Parent = parentNode.Identifier, + Transform = { + }, + Renderable = { + Type = "RenderableModel", + Geometry = { + Type = "MultiModelGeometry", + GeometryFile = models .. "/23.obj" + }, + ColorTexture = textures .. "/23.png", + LightSources = LightSources + }, + GUI = { + Name = "23", + Path = "/Solar System/Planets/Earth/Satellites/ISS", + Hidden = true, + } +} + +local twentyfour = { + Identifier = "ISStwentyfour", + Parent = parentNode.Identifier, + Transform = { + }, + Renderable = { + Type = "RenderableModel", + Geometry = { + Type = "MultiModelGeometry", + GeometryFile = models .. "/24.obj" + }, + ColorTexture = textures .. "/24.png", + LightSources = LightSources + }, + GUI = { + Name = "24", + Path = "/Solar System/Planets/Earth/Satellites/ISS", + Hidden = true, + } +} + +local twentyfive = { + Identifier = "ISStwentyfive", + Parent = parentNode.Identifier, + Transform = { + }, + Renderable = { + Type = "RenderableModel", + Geometry = { + Type = "MultiModelGeometry", + GeometryFile = models .. "/25.obj" + }, + ColorTexture = textures .. "/25.png", + LightSources = LightSources + }, + GUI = { + Name = "25", + Path = "/Solar System/Planets/Earth/Satellites/ISS", + Hidden = true, + } +} + +local foilsilver = { + Identifier = "ISSfoilsilver", + Parent = parentNode.Identifier, + Transform = { + }, + Renderable = { + Type = "RenderableModel", + Geometry = { + Type = "MultiModelGeometry", + GeometryFile = models .. "/foilsilver.obj" + }, + ColorTexture = textures .. "/foil.png", + LightSources = LightSources + }, + GUI = { + Name = "foilsilver", + Path = "/Solar System/Planets/Earth/Satellites/ISS", + Hidden = true, + } +} + +local olive = { + Identifier = "ISSolive", + Parent = parentNode.Identifier, + Transform = { + }, + Renderable = { + Type = "RenderableModel", + Geometry = { + Type = "MultiModelGeometry", + GeometryFile = models .. "/olive.obj" + }, + ColorTexture = textures .. "/olive.png", + LightSources = LightSources + }, + GUI = { + Name = "olive", + Path = "/Solar System/Planets/Earth/Satellites/ISS", + Hidden = true, + } +} + +local basemetal = { + Identifier = "ISSbasemetal", + Parent = parentNode.Identifier, + Transform = { + }, + Renderable = { + Type = "RenderableModel", + Geometry = { + Type = "MultiModelGeometry", + GeometryFile = models .. "/basemetal.obj" + }, + ColorTexture = textures .. "/basemetal.png", + LightSources = LightSources + }, + GUI = { + Name = "basemetal", + Path = "/Solar System/Planets/Earth/Satellites/ISS", + Hidden = true, + } +} + +local white_20 = { + Identifier = "ISSwhite_20", + Parent = parentNode.Identifier, + Transform = { + }, + Renderable = { + Type = "RenderableModel", + Geometry = { + Type = "MultiModelGeometry", + GeometryFile = models .. "/white_20.obj" + }, + ColorTexture = textures .. "/white_20.png", + LightSources = LightSources + }, + GUI = { + Name = "white_20", + Path = "/Solar System/Planets/Earth/Satellites/ISS", + Hidden = true, + } +} + +local plasticblack = { + Identifier = "ISSplasticblack", + Parent = parentNode.Identifier, + Transform = { + }, + Renderable = { + Type = "RenderableModel", + Geometry = { + Type = "MultiModelGeometry", + GeometryFile = models .. "/plasticblack.obj" + }, + ColorTexture = textures .. "/plasticblack.png", + LightSources = LightSources + }, + GUI = { + Name = "plasticblack", + Path = "/Solar System/Planets/Earth/Satellites/ISS", + Hidden = true, + } +} + +local ecostresswhite = { + Identifier = "ISSecostresswhite", + Parent = parentNode.Identifier, + Transform = { + }, + Renderable = { + Type = "RenderableModel", + Geometry = { + Type = "MultiModelGeometry", + GeometryFile = models .. "/ecostresswhite.obj" + }, + ColorTexture = textures .. "/ecostresswhite.png", + LightSources = LightSources + }, + GUI = { + Name = "ecostresswhite", + Path = "/Solar System/Planets/Earth/Satellites/ISS", + Hidden = true, + } +} + +local plain = { + Identifier = "ISSplain", + Parent = parentNode.Identifier, + Transform = { + }, + Renderable = { + Type = "RenderableModel", + Geometry = { + Type = "MultiModelGeometry", + GeometryFile = models .. "/plain.obj" + }, + ColorTexture = textures .. "/white_20.png", + LightSources = LightSources + }, + GUI = { + Name = "plain", + Path = "/Solar System/Planets/Earth/Satellites/ISS", + Hidden = true, + } +} + + +local issTrail = { + Identifier = identifier .. "_trail", + Parent = transforms.EarthInertial.Identifier, + Renderable = { + Type = "RenderableTrailOrbit", + Translation = { + Type = "TLETranslation", + Body = identifier, + Observer = transforms.EarthInertial.Identifier, + File = path, + LineNumber = 1 + }, + Color = { 0.9, 0.6715, 0.0 }, + Fade = 1.5, + Period = period, + Resolution = 320 + }, + Tag = { "earth_satellite", "ISS" }, + GUI = { + Name = "ISS Trail", + Path = "/Solar System/Planets/Earth/Satellites/ISS" + } +} + + local myNodes = { + iss, + parentNode, + zero, + one, + two, + three, + four, + five, + six, + seven, + eight, + ten, + eleven, + thirteen, + fourteen, + fifteen, + sixteen, + seventeen, + nineteen, + twentyone, + twentytwo, + twentythree, + twentyfour, + twentyfive, + foilsilver, + olive, + basemetal, + white_20, + plasticblack, + ecostresswhite, + plain, + issTrail + } for _, node in ipairs(myNodes) do openspace.addSceneGraphNode(node) end return myNodes + end asset.onInitialize(function () nodes = initializeAndAddNodes() + openspace.setPropertyValueSingle("Scene.parentNode.Rotation.yAxis-InvertObject", true) end) -asset.onDeinitialize(function () - openspace.removeSceneGraphNode(nodes[3].Identifier) -- Removing trail - openspace.removeSceneGraphNode(nodes[1].Identifier) -- Removing ISS and model recursively -end) From 4412af4e0d183c2609c2f815866e5ca6789c6dd3 Mon Sep 17 00:00:00 2001 From: Micah Acinapura Date: Fri, 12 Jun 2020 19:40:52 -0400 Subject: [PATCH 2/4] rework iss model parts to use assethelper --- .../planets/earth/satellites/misc/iss.asset | 752 ++---------------- 1 file changed, 60 insertions(+), 692 deletions(-) diff --git a/data/assets/scene/solarsystem/planets/earth/satellites/misc/iss.asset b/data/assets/scene/solarsystem/planets/earth/satellites/misc/iss.asset index 59209f9005..f0274ee4cd 100644 --- a/data/assets/scene/solarsystem/planets/earth/satellites/misc/iss.asset +++ b/data/assets/scene/solarsystem/planets/earth/satellites/misc/iss.asset @@ -9,13 +9,6 @@ local filename = "ISS.txt" local nodes = {} local tle = satelliteHelper.downloadTLEFile(asset, url, identifier, filename) -local textures = asset.syncedResource({ - Name = "ISS Textures", - Type = "HttpSynchronization", - Identifier = "iss_textures", - Version = 1 -}) - local models = asset.syncedResource({ Name = "ISS Models", Type = "HttpSynchronization", @@ -53,698 +46,73 @@ local initializeAndAddNodes = function() Tag = { "earth_satellite", "ISS" }, GUI = { Path = "/Solar System/Planets/Earth/Satellites/ISS", - Hiden = true + Hiden = false } } -local parentNode = { - Identifier = "ISSparentNode", - Parent = iss.Identifier, - Transform = { - Rotation = { - Type = "FixedRotation", - Attached = "ISSparentNode", - XAxis = { 0.01, -1.0, 0.56 }, - XAxisOrthogonal = true, - YAxis = transforms.EarthInertial.Identifier - } - }, - GUI = { - Name = "parentNode", - Path = "/Solar System/Planets/Earth/Satellites/ISS", - Hidden = true, - } -} - -local zero = { - Identifier = "ISSzero", - Parent = parentNode.Identifier, - Transform = { - }, - Renderable = { - Type = "RenderableModel", - Geometry = { - Type = "MultiModelGeometry", - GeometryFile = models .. "/0.obj" - }, - ColorTexture = textures .. "/0.png", - LightSources = LightSources - }, - GUI = { - Name = "0", - Path = "/Solar System/Planets/Earth/Satellites/ISS", - Hidden = true, - } -} - -local one = { - Identifier = "ISSone", - Parent = parentNode.Identifier, - Transform = { - }, - Renderable = { - Type = "RenderableModel", - Geometry = { - Type = "MultiModelGeometry", - GeometryFile = models .. "/1.obj" - }, - ColorTexture = textures .. "/1.png", - LightSources = LightSources - }, - GUI = { - Name = "1", - Path = "/Solar System/Planets/Earth/Satellites/ISS", - Hidden = true, - } -} - - -local two = { - Identifier = "ISStwo", - Parent = parentNode.Identifier, - Transform = { - }, - Renderable = { - Type = "RenderableModel", - Geometry = { - Type = "MultiModelGeometry", - GeometryFile = models .. "/2.obj" - }, - ColorTexture = textures .. "/2.png", - LightSources = LightSources - }, - GUI = { - Name = "2", - Path = "/Solar System/Planets/Earth/Satellites/ISS", - Hidden = true, - } -} - -local three = { - Identifier = "ISSthree", - Parent = parentNode.Identifier, - Transform = { - }, - Renderable = { - Type = "RenderableModel", - Geometry = { - Type = "MultiModelGeometry", - GeometryFile = models .. "/3.obj" - }, - ColorTexture = textures .. "/3.png", - LightSources = LightSources - }, - GUI = { - Name = "3", - Path = "/Solar System/Planets/Earth/Satellites/ISS", - Hidden = true, - } -} - -local four = { - Identifier = "ISSfour", - Parent = parentNode.Identifier, - Transform = { - }, - Renderable = { - Type = "RenderableModel", - Geometry = { - Type = "MultiModelGeometry", - GeometryFile = models .. "/4.obj" - }, - ColorTexture = textures .. "/4.png", - LightSources = LightSources - }, - GUI = { - Name = "4", - Path = "/Solar System/Planets/Earth/Satellites/ISS", - Hidden = true, - } -} - -local five = { - Identifier = "ISSfive", - Parent = parentNode.Identifier, - Transform = { - }, - Renderable = { - Type = "RenderableModel", - Geometry = { - Type = "MultiModelGeometry", - GeometryFile = models .. "/5.obj" - }, - ColorTexture = textures .. "/5.png", - LightSources = LightSources - }, - GUI = { - Name = "5", - Path = "/Solar System/Planets/Earth/Satellites/ISS", - Hidden = true, - } -} - -local six = { - Identifier = "ISSsix", - Parent = parentNode.Identifier, - Transform = { - }, - Renderable = { - Type = "RenderableModel", - Geometry = { - Type = "MultiModelGeometry", - GeometryFile = models .. "/6.obj" - }, - ColorTexture = textures .. "/6.png", - LightSources = LightSources - }, - GUI = { - Name = "6", - Path = "/Solar System/Planets/Earth/Satellites/ISS", - Hidden = true, - } -} -local seven = { - Identifier = "ISSseven", - Parent = parentNode.Identifier, - Transform = { - }, - Renderable = { - Type = "RenderableModel", - Geometry = { - Type = "MultiModelGeometry", - GeometryFile = models .. "/7.obj" - }, - ColorTexture = textures .. "/7.png", - LightSources = LightSources - }, - GUI = { - Name = "7", - Path = "/Solar System/Planets/Earth/Satellites/ISS", - Hidden = true, - } -} - -local eight = { - Identifier = "ISSeight", - Parent = parentNode.Identifier, - Transform = { - }, - Renderable = { - Type = "RenderableModel", - Geometry = { - Type = "MultiModelGeometry", - GeometryFile = models .. "/8.obj" - }, - ColorTexture = textures .. "/8.png", - LightSources = LightSources - }, - GUI = { - Name = "8", - Path = "/Solar System/Planets/Earth/Satellites/ISS", - Hidden = true, - } -} - -local ten = { - Identifier = "ISSten", - Parent = parentNode.Identifier, - Transform = { - }, - Renderable = { - Type = "RenderableModel", - Geometry = { - Type = "MultiModelGeometry", - GeometryFile = models .. "/10.obj" - }, - ColorTexture = textures .. "/10.png", - LightSources = LightSources - }, - GUI = { - Name = "10", - Path = "/Solar System/Planets/Earth/Satellites/ISS", - Hidden = true, - } -} - -local eleven = { - Identifier = "ISSeleven", - Parent = parentNode.Identifier, - Transform = { - }, - Renderable = { - Type = "RenderableModel", - Geometry = { - Type = "MultiModelGeometry", - GeometryFile = models .. "/11.obj" - }, - ColorTexture = textures .. "/11.png", - LightSources = LightSources - }, - GUI = { - Name = "11", - Path = "/Solar System/Planets/Earth/Satellites/ISS", - Hidden = true, - } -} - -local thirteen = { - Identifier = "ISSthirteen", - Parent = parentNode.Identifier, - Transform = { - }, - Renderable = { - Type = "RenderableModel", - Geometry = { - Type = "MultiModelGeometry", - GeometryFile = models .. "/13.obj" - }, - ColorTexture = textures .. "/13.png", - LightSources = LightSources - }, - GUI = { - Name = "13", - Path = "/Solar System/Planets/Earth/Satellites/ISS", - Hidden = true, - } -} - -local fourteen = { - Identifier = "ISSfourteen", - Parent = parentNode.Identifier, - Transform = { - }, - Renderable = { - Type = "RenderableModel", - Geometry = { - Type = "MultiModelGeometry", - GeometryFile = models .. "/14.obj" - }, - ColorTexture = textures .. "/14.png", - LightSources = LightSources - }, - GUI = { - Name = "14", - Path = "/Solar System/Planets/Earth/Satellites/ISS", - Hidden = true, - } -} - -local fifteen = { - Identifier = "ISSfifteen", - Parent = parentNode.Identifier, - Transform = { - }, - Renderable = { - Type = "RenderableModel", - Geometry = { - Type = "MultiModelGeometry", - GeometryFile = models .. "/15.obj" - }, - ColorTexture = textures .. "/15.png", - LightSources = LightSources - }, - GUI = { - Name = "15", - Path = "/Solar System/Planets/Earth/Satellites/ISS", - Hidden = true, - } -} - -local sixteen = { - Identifier = "ISSsixteen", - Parent = parentNode.Identifier, - Transform = { - }, - Renderable = { - Type = "RenderableModel", - Geometry = { - Type = "MultiModelGeometry", - GeometryFile = models .. "/16.obj" - }, - ColorTexture = textures .. "/16.png", - LightSources = LightSources - }, - GUI = { - Name = "16", - Path = "/Solar System/Planets/Earth/Satellites/ISS", - Hidden = true, - } -} - -local seventeen = { - Identifier = "ISSseventeen", - Parent = parentNode.Identifier, - Transform = { - }, - Renderable = { - Type = "RenderableModel", - Geometry = { - Type = "MultiModelGeometry", - GeometryFile = models .. "/17.obj" - }, - ColorTexture = textures .. "/17.png", - LightSources = LightSources - }, - GUI = { - Name = "17", - Path = "/Solar System/Planets/Earth/Satellites/ISS", - Hidden = true, - } -} - -local nineteen = { - Identifier = "ISSnineteen", - Parent = parentNode.Identifier, - Transform = { - }, - Renderable = { - Type = "RenderableModel", - Geometry = { - Type = "MultiModelGeometry", - GeometryFile = models .. "/19.obj" - }, - ColorTexture = textures .. "/19.png", - LightSources = LightSources - }, - GUI = { - Name = "19", - Path = "/Solar System/Planets/Earth/Satellites/ISS", - Hidden = true, - } -} - -local twentyone = { - Identifier = "ISStwentyone", - Parent = parentNode.Identifier, - Transform = { - }, - Renderable = { - Type = "RenderableModel", - Geometry = { - Type = "MultiModelGeometry", - GeometryFile = models .. "/21.obj" - }, - ColorTexture = textures .. "/21.png", - LightSources = LightSources - }, - GUI = { - Name = "21", - Path = "/Solar System/Planets/Earth/Satellites/ISS", - Hidden = true, - } -} - -local twentytwo = { - Identifier = "ISStwentytwo", - Parent = parentNode.Identifier, - Transform = { - }, - Renderable = { - Type = "RenderableModel", - Geometry = { - Type = "MultiModelGeometry", - GeometryFile = models .. "/22.obj" - }, - ColorTexture = textures .. "/22.png", - LightSources = LightSources - }, - GUI = { - Name = "22", - Path = "/Solar System/Planets/Earth/Satellites/ISS", - Hidden = true, - } -} - -local twentythree = { - Identifier = "ISStwentythree", - Parent = parentNode.Identifier, - Transform = { - }, - Renderable = { - Type = "RenderableModel", - Geometry = { - Type = "MultiModelGeometry", - GeometryFile = models .. "/23.obj" - }, - ColorTexture = textures .. "/23.png", - LightSources = LightSources - }, - GUI = { - Name = "23", - Path = "/Solar System/Planets/Earth/Satellites/ISS", - Hidden = true, - } -} - -local twentyfour = { - Identifier = "ISStwentyfour", - Parent = parentNode.Identifier, - Transform = { - }, - Renderable = { - Type = "RenderableModel", - Geometry = { - Type = "MultiModelGeometry", - GeometryFile = models .. "/24.obj" - }, - ColorTexture = textures .. "/24.png", - LightSources = LightSources - }, - GUI = { - Name = "24", - Path = "/Solar System/Planets/Earth/Satellites/ISS", - Hidden = true, - } -} - -local twentyfive = { - Identifier = "ISStwentyfive", - Parent = parentNode.Identifier, - Transform = { - }, - Renderable = { - Type = "RenderableModel", - Geometry = { - Type = "MultiModelGeometry", - GeometryFile = models .. "/25.obj" - }, - ColorTexture = textures .. "/25.png", - LightSources = LightSources - }, - GUI = { - Name = "25", - Path = "/Solar System/Planets/Earth/Satellites/ISS", - Hidden = true, - } -} - -local foilsilver = { - Identifier = "ISSfoilsilver", - Parent = parentNode.Identifier, - Transform = { - }, - Renderable = { - Type = "RenderableModel", - Geometry = { - Type = "MultiModelGeometry", - GeometryFile = models .. "/foilsilver.obj" - }, - ColorTexture = textures .. "/foil.png", - LightSources = LightSources - }, - GUI = { - Name = "foilsilver", - Path = "/Solar System/Planets/Earth/Satellites/ISS", - Hidden = true, - } -} - -local olive = { - Identifier = "ISSolive", - Parent = parentNode.Identifier, - Transform = { - }, - Renderable = { - Type = "RenderableModel", - Geometry = { - Type = "MultiModelGeometry", - GeometryFile = models .. "/olive.obj" - }, - ColorTexture = textures .. "/olive.png", - LightSources = LightSources - }, - GUI = { - Name = "olive", - Path = "/Solar System/Planets/Earth/Satellites/ISS", - Hidden = true, - } -} - -local basemetal = { - Identifier = "ISSbasemetal", - Parent = parentNode.Identifier, - Transform = { - }, - Renderable = { - Type = "RenderableModel", - Geometry = { - Type = "MultiModelGeometry", - GeometryFile = models .. "/basemetal.obj" - }, - ColorTexture = textures .. "/basemetal.png", - LightSources = LightSources - }, - GUI = { - Name = "basemetal", - Path = "/Solar System/Planets/Earth/Satellites/ISS", - Hidden = true, - } -} - -local white_20 = { - Identifier = "ISSwhite_20", - Parent = parentNode.Identifier, - Transform = { - }, - Renderable = { - Type = "RenderableModel", - Geometry = { - Type = "MultiModelGeometry", - GeometryFile = models .. "/white_20.obj" - }, - ColorTexture = textures .. "/white_20.png", - LightSources = LightSources - }, - GUI = { - Name = "white_20", - Path = "/Solar System/Planets/Earth/Satellites/ISS", - Hidden = true, - } -} - -local plasticblack = { - Identifier = "ISSplasticblack", - Parent = parentNode.Identifier, - Transform = { - }, - Renderable = { - Type = "RenderableModel", - Geometry = { - Type = "MultiModelGeometry", - GeometryFile = models .. "/plasticblack.obj" - }, - ColorTexture = textures .. "/plasticblack.png", - LightSources = LightSources - }, - GUI = { - Name = "plasticblack", - Path = "/Solar System/Planets/Earth/Satellites/ISS", - Hidden = true, - } -} - -local ecostresswhite = { - Identifier = "ISSecostresswhite", - Parent = parentNode.Identifier, - Transform = { - }, - Renderable = { - Type = "RenderableModel", - Geometry = { - Type = "MultiModelGeometry", - GeometryFile = models .. "/ecostresswhite.obj" - }, - ColorTexture = textures .. "/ecostresswhite.png", - LightSources = LightSources - }, - GUI = { - Name = "ecostresswhite", - Path = "/Solar System/Planets/Earth/Satellites/ISS", - Hidden = true, - } -} - -local plain = { - Identifier = "ISSplain", - Parent = parentNode.Identifier, - Transform = { - }, - Renderable = { - Type = "RenderableModel", - Geometry = { - Type = "MultiModelGeometry", - GeometryFile = models .. "/plain.obj" - }, - ColorTexture = textures .. "/white_20.png", - LightSources = LightSources - }, - GUI = { - Name = "plain", - Path = "/Solar System/Planets/Earth/Satellites/ISS", - Hidden = true, - } -} - - -local issTrail = { - Identifier = identifier .. "_trail", - Parent = transforms.EarthInertial.Identifier, - Renderable = { - Type = "RenderableTrailOrbit", - Translation = { - Type = "TLETranslation", - Body = identifier, - Observer = transforms.EarthInertial.Identifier, - File = path, - LineNumber = 1 + local parentNode = { + Identifier = "ISSparentNode", + Parent = iss.Identifier, + Transform = { + Rotation = { + Type = "FixedRotation", + Attached = "ISSparentNode", + XAxis = { 0.01, -1.0, 0.56 }, + XAxisOrthogonal = true, + YAxis = transforms.EarthInertial.Identifier + } }, - Color = { 0.9, 0.6715, 0.0 }, - Fade = 1.5, - Period = period, - Resolution = 320 - }, - Tag = { "earth_satellite", "ISS" }, - GUI = { - Name = "ISS Trail", - Path = "/Solar System/Planets/Earth/Satellites/ISS" + GUI = { + Name = "parentNode", + Path = "/Solar System/Planets/Earth/Satellites/ISS", + Hidden = true, + } } -} - local myNodes = { - iss, - parentNode, - zero, - one, - two, - three, - four, - five, - six, - seven, - eight, - ten, - eleven, - thirteen, - fourteen, - fifteen, - sixteen, - seventeen, - nineteen, - twentyone, - twentytwo, - twentythree, - twentyfour, - twentyfive, - foilsilver, - olive, - basemetal, - white_20, - plasticblack, - ecostresswhite, - plain, - issTrail + local list = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "10", "11", + "13", "14", "15", "16", "17", "19", "21", "22", "23", "24", "25", + "foilsilver", "olive", "basemetal", "white_20", "plasticblack", "ecostresswhite", + "plain"} + + local myNodes = {iss, parentNode} + for i, info in ipairs(list) do + myNodes[#myNodes + 1] = assetHelper.createModelPart( + parentNode.Identifier, + sunTransforms.SolarSystemBarycenter.Identifier, + models, + info, + info .. ".png", + true + ) + end + + local issTrail = { + Identifier = identifier .. "_trail", + Parent = transforms.EarthInertial.Identifier, + Renderable = { + Type = "RenderableTrailOrbit", + Translation = { + Type = "TLETranslation", + Body = identifier, + Observer = transforms.EarthInertial.Identifier, + File = path, + LineNumber = 1 + }, + Color = { 0.9, 0.6715, 0.0 }, + Fade = 1.5, + Period = period, + Resolution = 320 + }, + Tag = { "earth_satellite", "ISS" }, + GUI = { + Name = "ISS Trail", + Path = "/Solar System/Planets/Earth/Satellites/ISS" + } } + + myNodes[#myNodes + 1] = issTrail + for _, node in ipairs(myNodes) do openspace.addSceneGraphNode(node) end @@ -755,6 +123,6 @@ end asset.onInitialize(function () nodes = initializeAndAddNodes() - openspace.setPropertyValueSingle("Scene.parentNode.Rotation.yAxis-InvertObject", true) + openspace.setPropertyValueSingle("Scene.ISSparentNode.Rotation.yAxis-InvertObject", true) end) From d1fcd353d7218e6889cb9128317e9dd56b950266 Mon Sep 17 00:00:00 2001 From: Micah Acinapura Date: Fri, 12 Jun 2020 19:42:43 -0400 Subject: [PATCH 3/4] iss asset cleanup --- .../solarsystem/planets/earth/satellites/misc/iss.asset | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/data/assets/scene/solarsystem/planets/earth/satellites/misc/iss.asset b/data/assets/scene/solarsystem/planets/earth/satellites/misc/iss.asset index f0274ee4cd..1eca717d22 100644 --- a/data/assets/scene/solarsystem/planets/earth/satellites/misc/iss.asset +++ b/data/assets/scene/solarsystem/planets/earth/satellites/misc/iss.asset @@ -16,10 +16,6 @@ local models = asset.syncedResource({ Version = 2 }) -local LightSources = assetHelper.getDefaultLightSources( - sunTransforms.SolarSystemBarycenter.Identifier) - - local initializeAndAddNodes = function() local lineElement = satelliteHelper.makeSingleLineElement(tle, filename) @@ -62,8 +58,8 @@ local initializeAndAddNodes = function() YAxis = transforms.EarthInertial.Identifier } }, - GUI = { - Name = "parentNode", + GUI = { + Name = "ISSparentNode", Path = "/Solar System/Planets/Earth/Satellites/ISS", Hidden = true, } @@ -110,7 +106,6 @@ local initializeAndAddNodes = function() } } - myNodes[#myNodes + 1] = issTrail for _, node in ipairs(myNodes) do From 976bf3f79b3573f11b47b1e3346624053da2a870 Mon Sep 17 00:00:00 2001 From: Alexander Bock Date: Sat, 13 Jun 2020 16:38:06 +0200 Subject: [PATCH 4/4] Small cleanup --- .../planets/earth/satellites/misc/iss.asset | 37 ++++++++----------- 1 file changed, 16 insertions(+), 21 deletions(-) diff --git a/data/assets/scene/solarsystem/planets/earth/satellites/misc/iss.asset b/data/assets/scene/solarsystem/planets/earth/satellites/misc/iss.asset index 1eca717d22..5fb881fdd5 100644 --- a/data/assets/scene/solarsystem/planets/earth/satellites/misc/iss.asset +++ b/data/assets/scene/solarsystem/planets/earth/satellites/misc/iss.asset @@ -17,7 +17,6 @@ local models = asset.syncedResource({ }) local initializeAndAddNodes = function() - local lineElement = satelliteHelper.makeSingleLineElement(tle, filename) local period = satelliteHelper.getPeriodFromElement(lineElement) local path = tle .. "/" .. filename @@ -41,8 +40,7 @@ local initializeAndAddNodes = function() }, Tag = { "earth_satellite", "ISS" }, GUI = { - Path = "/Solar System/Planets/Earth/Satellites/ISS", - Hiden = false + Path = "/Solar System/Planets/Earth/Satellites/ISS" } } @@ -70,16 +68,17 @@ local initializeAndAddNodes = function() "foilsilver", "olive", "basemetal", "white_20", "plasticblack", "ecostresswhite", "plain"} - local myNodes = {iss, parentNode} + local nodes = { iss, parentNode } for i, info in ipairs(list) do - myNodes[#myNodes + 1] = assetHelper.createModelPart( - parentNode.Identifier, - sunTransforms.SolarSystemBarycenter.Identifier, - models, - info, - info .. ".png", - true - ) + n = assetHelper.createModelPart( + parentNode.Identifier, + sunTransforms.SolarSystemBarycenter.Identifier, + models, + info, + info .. ".png", + true + ) + table.insert(nodes, n) end local issTrail = { @@ -106,18 +105,14 @@ local initializeAndAddNodes = function() } } - myNodes[#myNodes + 1] = issTrail - - for _, node in ipairs(myNodes) do - openspace.addSceneGraphNode(node) - end - - return myNodes - + table.insert(nodes, issTrail) + return nodes end asset.onInitialize(function () nodes = initializeAndAddNodes() + for _, node in ipairs(nodes) do + openspace.addSceneGraphNode(node) + end openspace.setPropertyValueSingle("Scene.ISSparentNode.Rotation.yAxis-InvertObject", true) end) -