mirror of
https://github.com/OpenSpace/OpenSpace.git
synced 2026-01-06 03:29:44 -06:00
69 lines
1.8 KiB
Lua
69 lines
1.8 KiB
Lua
local assetHelper = asset.require('util/asset_helper')
|
|
local sunTransforms = asset.require('scene/solarsystem/sun/transforms')
|
|
local transforms = asset.require('scene/solarsystem/planets/earth/transforms')
|
|
|
|
local generic_action = {
|
|
Identifier = "os.example.generic",
|
|
Name = "Generic Example",
|
|
Command = [[
|
|
openspace.printInfo("Node: " .. args.Node)
|
|
openspace.printInfo("Transition: " .. args.Transition)
|
|
]],
|
|
Documentation = "Prints the argument information for camera transitions to the log",
|
|
GuiPath = "/Examples/Events",
|
|
IsLocal = true
|
|
}
|
|
|
|
local model = asset.syncedResource({
|
|
Name = "Animated Box",
|
|
Type = "HttpSynchronization",
|
|
Identifier = "animated_box",
|
|
Version = 1
|
|
})
|
|
|
|
local obj = {
|
|
Identifier = "ExampleEventModel",
|
|
Parent = transforms.EarthCenter.Identifier,
|
|
Transform = {
|
|
Translation = {
|
|
Type = "StaticTranslation",
|
|
Position = { 0.0, 11E7, 0.0 }
|
|
}
|
|
},
|
|
Renderable = {
|
|
Type = "RenderableModel",
|
|
GeometryFile = model .. "BoxAnimated.glb",
|
|
ModelScale = 1.0,
|
|
LightSources = {
|
|
{
|
|
Type = "SceneGraphLightSource",
|
|
Identifier = "Sun",
|
|
Node = sunTransforms.SolarSystemBarycenter.Identifier,
|
|
Intensity = 1.0
|
|
}
|
|
},
|
|
PerformShading = true,
|
|
DisableFaceCulling = true
|
|
},
|
|
InteractionSphere = 1000.0,
|
|
OnApproach = { "os.example.generic" },
|
|
OnReach = { "os.example.generic" },
|
|
OnRecede = { "os.example.generic" },
|
|
OnExit = { "os.example.generic" },
|
|
GUI = {
|
|
Name = "Example Event Model",
|
|
Path = "/Example",
|
|
Description = "",
|
|
}
|
|
}
|
|
|
|
asset.onInitialize(function()
|
|
openspace.action.registerAction(generic_action)
|
|
openspace.addSceneGraphNode(obj)
|
|
end)
|
|
|
|
asset.onDeinitialize(function()
|
|
openspace.removeSceneGraphNode(obj.Identifier)
|
|
openspace.action.removeAction(generic_action.Identifier)
|
|
end)
|