mirror of
https://github.com/OpenSpace/OpenSpace.git
synced 2026-01-06 03:29:44 -06:00
added orion nebula asset from DU, updated licence template to better support whitespace
This commit is contained in:
54
data/assets/scene/milkyway/objects/orionnebula/cluster.asset
Normal file
54
data/assets/scene/milkyway/objects/orionnebula/cluster.asset
Normal file
@@ -0,0 +1,54 @@
|
||||
--orionnebula/cluster.asset
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
local transforms = asset.require("./transforms")
|
||||
|
||||
local sync = asset.syncedResource({
|
||||
Name = "Orion Nebula Star Cluster",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "orion_nebula_star_cluster",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local OrionClusterStars = {
|
||||
Identifier = "OrionClusterStars",
|
||||
Parent = transforms.NebulaPosition.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableStars",
|
||||
File = sync .. "/oricluster.speck",
|
||||
Texture = sync .. "/halo.png",
|
||||
Texture = sync .. "/colorbv.cmap",
|
||||
MagnitudeExponent = 5.02,
|
||||
SizeComposition = "Distance Modulus",
|
||||
RenderMethod = "Texture Based"
|
||||
},
|
||||
GUI = {
|
||||
Name = "Orion Nebula Star Cluster",
|
||||
Path = "/Milky Way/Stars"
|
||||
}
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, { OrionClusterStars })
|
||||
|
||||
asset.meta = {
|
||||
Name = "Orion Nebula Star Cluster",
|
||||
Version = "1.0",
|
||||
Description = [[ In order to have an accurate depiction of the
|
||||
Orion nebula, we need to include the star cluster that was birthed
|
||||
from it. We turned to a study of the cluster’s stellar population by
|
||||
Lynne Hillenbrand, who was working at the University of California, Berkeley at
|
||||
the time.The catalog from her paper contains more than 1,500 stars, about
|
||||
half the stars in the actual cluster. The cluster is very crowded, with
|
||||
a peak density of 10,000 stars per cubic parsec over a wide range
|
||||
of masses from a tenth the sun’s mass up to 50 times its mass. We
|
||||
were presented with one problem: there are no distances.
|
||||
For the stellar distances, we needed to deduce them by statistical
|
||||
methods. Knowing the size of the cluster and approximating the
|
||||
shape to be roughly spherical, we placed each star along a line
|
||||
of sight through this imaginary sphere centered on the cluster. In
|
||||
this sense, these data are observed data and the view from Earth is
|
||||
accurate. But the distance of each star has been derived from this
|
||||
educated-guess approach for the cluster distribution. ]],
|
||||
Author = "AMNH Digital Universe",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "custom"
|
||||
}
|
||||
159
data/assets/scene/milkyway/objects/orionnebula/nebula.asset
Normal file
159
data/assets/scene/milkyway/objects/orionnebula/nebula.asset
Normal file
@@ -0,0 +1,159 @@
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
local sunTransforms = asset.require('scene/solarsystem/sun/transforms')
|
||||
local transforms = asset.require('./transforms')
|
||||
|
||||
local LIGHTS = assetHelper.getDefaultLightSources(sunTransforms.SolarSystemBarycenter.Identifier);
|
||||
|
||||
local sync = asset.syncedResource({
|
||||
Name = "Orion Nebula Model",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "orion_nebula_model",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
|
||||
local NebulaHolder = {
|
||||
Identifier = "OrionNebulaHolder",
|
||||
Parent = transforms.NebulaPosition.Identifier,
|
||||
Transform = {
|
||||
Scale = {
|
||||
Type = "StaticScale",
|
||||
Scale = 35999998699110400.000000
|
||||
},
|
||||
Rotation = {
|
||||
Type = "FixedRotation",
|
||||
Attached = "OrionNebulaHolder",
|
||||
XAxis = {1.000000,1.000000,0.510000},
|
||||
XAxisOrthogonal = true,
|
||||
YAxis = "Sun",
|
||||
YAxisInverted = false
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Name = "Orion Nebula",
|
||||
Path = "/Milky Way/Objects",
|
||||
}
|
||||
}
|
||||
|
||||
local OrionNebulaModel = {
|
||||
Identifier = "OrionNebulaModel",
|
||||
Parent = NebulaHolder.Identifier,
|
||||
Transform = {
|
||||
Scale = {
|
||||
Type = "StaticScale",
|
||||
Scale = 0.67500000
|
||||
}
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Geometry = {{
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = sync .. "/orion_nebula.obj",
|
||||
ColorTexture = sync .. "/heic0601a_masked.png"
|
||||
}},
|
||||
Opacity = 1.0,
|
||||
DisableFaceCulling = false,
|
||||
SpecularIntensity = 0.0,
|
||||
AmbientIntensity = 0.45,
|
||||
DiffuseIntensity = 0.0,
|
||||
RotationVector = {0.000000, 22.300000, 0.000000},
|
||||
LightSources = LIGHTS;
|
||||
},
|
||||
GUI = {
|
||||
Name = "Orion Nebula Model",
|
||||
Path = "/Milky Way/Objects",
|
||||
Hidden = true
|
||||
}
|
||||
}
|
||||
|
||||
local OrionNebulaShocksModel = {
|
||||
Identifier = "OrionNebulaShocksModel",
|
||||
Parent = NebulaHolder.Identifier,
|
||||
Transform = {
|
||||
Scale = {
|
||||
Type = "StaticScale",
|
||||
Scale = 0.67500000
|
||||
}
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Geometry = {{
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = sync .. "/orishocks.obj",
|
||||
ColorTexture = "${DATA}/colors/pink.png"
|
||||
}},
|
||||
Opacity = 1.0,
|
||||
DisableFaceCulling = false,
|
||||
SpecularIntensity = 0.0,
|
||||
AmbientIntensity = 0.19,
|
||||
DiffuseIntensity = 0.4,
|
||||
RotationVector = {0.000000, 22.300000, 0.000000},
|
||||
LightSources = LIGHTS;
|
||||
},
|
||||
GUI = {
|
||||
Name = "Orion Nebula Shocks",
|
||||
Path = "/Milky Way/Objects",
|
||||
Hidden = false
|
||||
}
|
||||
}
|
||||
|
||||
local OrionNebulaProplydsModel = {
|
||||
Identifier = "OrionNebulaProplydsModel",
|
||||
Parent = NebulaHolder.Identifier,
|
||||
Transform = {
|
||||
Scale = {
|
||||
Type = "StaticScale",
|
||||
Scale = 0.67500000
|
||||
}
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Geometry = {{
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = sync .. "/proplyds.obj",
|
||||
ColorTexture = "${DATA}/colors/pink.png"
|
||||
}},
|
||||
Opacity = 1.0,
|
||||
DisableFaceCulling = false,
|
||||
SpecularIntensity = 0.0,
|
||||
AmbientIntensity = 1.0,
|
||||
DiffuseIntensity = 1.0,
|
||||
RotationVector = {0.000000, 22.300000, 0.000000},
|
||||
LightSources = LIGHTS;
|
||||
},
|
||||
GUI = {
|
||||
Name = "Orion Nebula Proplyds",
|
||||
Path = "/Milky Way/Objects",
|
||||
Hidden = false
|
||||
}
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, {
|
||||
NebulaHolder,
|
||||
OrionNebulaModel,
|
||||
OrionNebulaShocksModel,
|
||||
OrionNebulaProplydsModel
|
||||
})
|
||||
|
||||
asset.meta = {
|
||||
Name = "Orion Nebula Model",
|
||||
Version = "1.0",
|
||||
Description = [[ In the Digital Universe model of the Orion Nebula,
|
||||
we depict the ionization front effectively as a terrain, with a flat Hubble
|
||||
image of the nebula mapped on the undulating surface. In
|
||||
reality, the ionization front has a slight thickness to it - about a third
|
||||
of a light year - but is quite thin compared to the overall size of the
|
||||
nebula, which stretches about ten light years from side to side.<br><br>Close into
|
||||
the center, we see small teardrop-shaped structures with their
|
||||
narrow ends pointing away from the bright star: these are protoplanetary
|
||||
disks, or proplyds, of dense gas and dust surrounding young stars. The larger
|
||||
formations that one sees farther away from the center of the nebula take on a
|
||||
cup-like shape, with the narrow end pointing away from the nebulas center.
|
||||
These enormous structures are bow shocks that delineate the region where
|
||||
highspeed winds from the central star slow from supersonic to subsonic speeds.
|
||||
You can think of an Hii region as a sort of tremendous explosion, taking place
|
||||
over millennia, and the bow shocks are part of the outward rush of material. ]],
|
||||
Author = "AMNH Digital Universe",
|
||||
URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
|
||||
License = "custom"
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
asset.require('./cluster')
|
||||
asset.require('./nebula')
|
||||
@@ -0,0 +1,22 @@
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
local sunTransforms = asset.require('scene/solarsystem/sun/transforms')
|
||||
|
||||
local PARSEC_CONSTANT = 3.0856776E16;
|
||||
|
||||
local NebulaPosition = {
|
||||
Identifier = "NebulaPosition",
|
||||
Parent = sunTransforms.SolarSystemBarycenter.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = { -329.915 * PARSEC_CONSTANT, -183.153 * PARSEC_CONSTANT, -132.706 * PARSEC_CONSTANT}
|
||||
},
|
||||
},
|
||||
GUI = {
|
||||
Name = "Orion Nebula Position",
|
||||
Path = "/Milky Way/Objects",
|
||||
Hidden = true
|
||||
}
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, { NebulaPosition })
|
||||
BIN
data/colors/pink.png
Normal file
BIN
data/colors/pink.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 519 B |
@@ -4,7 +4,7 @@
|
||||
<div class="col-lg-12">
|
||||
<p>
|
||||
<h3>Asset - {{name}}</h3>
|
||||
<p>{{description}}</p>
|
||||
<p>{{{description}}}</p>
|
||||
<p>Version - {{version}}</p>
|
||||
<p>Author - {{author}}</p>
|
||||
<p>Associated URL - <a href="{{url}}">{{url}}</a></p>
|
||||
|
||||
@@ -127,6 +127,15 @@ window.onload = function () {
|
||||
}
|
||||
}
|
||||
|
||||
if (documentation[i].identifier == "sceneLicense") {
|
||||
for (var j = 0; j < documentation[i].data.length; j++) {
|
||||
var escaped = documentation[i].data[j].description.replace(
|
||||
/\\n/g, ""
|
||||
);
|
||||
documentation[i].data[j].description = escaped;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
currentDocumentation = documentation[3];
|
||||
|
||||
Reference in New Issue
Block a user