Neat tricks! Clip w. elevator, underground stream + bonus :)
Posted: Mon Oct 08, 2012 6:09 pm
Ok, so I've been fooling around too much with the editor, and today I have had some neat success:
This:
Space elevator
*EDIT* Video quality is quite poor but there are lots of stars, be assured...
It is mostly of proof of concept.
Things to do/issues:
Solve the fact that stars only show up at an angle of 45 degrees or more above ground, they are blocked by game entities below a 45 degree angle to the horizon.
Fix a texture for the moon (have one to apply to the particle effect, but no good at doing texture editing)
Improve the particles and light of the "water stream" (lots of room for improvement)
Daylight
And whatever else I have forgotten at the moment.
Oh yeah, I also made alcoves with items that are suspended 100 meter up, among the stars. You can make clouds if you like. And birds, balloons, whatnot.
Just paste this into items.lua or whatever you use. Then you can choose starlight, moonlight and other items. Light settings and spread of stars, distances and so on you can edit in the lua, includig moonnlight shadows, starlight shadows and so forth. (shadows are turned off atm for improved performance)
Happy outdoor-dungeon-editing! /Marcus
This:
Space elevator
*EDIT* Video quality is quite poor but there are lots of stars, be assured...
It is mostly of proof of concept.
Things to do/issues:
Solve the fact that stars only show up at an angle of 45 degrees or more above ground, they are blocked by game entities below a 45 degree angle to the horizon.
Fix a texture for the moon (have one to apply to the particle effect, but no good at doing texture editing)
Improve the particles and light of the "water stream" (lots of room for improvement)
Daylight
And whatever else I have forgotten at the moment.
Oh yeah, I also made alcoves with items that are suspended 100 meter up, among the stars. You can make clouds if you like. And birds, balloons, whatnot.
Just paste this into items.lua or whatever you use. Then you can choose starlight, moonlight and other items. Light settings and spread of stars, distances and so on you can edit in the lua, includig moonnlight shadows, starlight shadows and so forth. (shadows are turned off atm for improved performance)
SpoilerShow
defineObject{
name = "moon_alcove",
class = "Alcove",
anchorPos = vec(0, 10, 0),
targetPos = vec(0,10,0),
targetSize = vec(0.6, 0.5, 0.6),
model = "assets/models/env/dungeon_floor_01.fbx",
placement = "floor",
replacesWall = true,
editorIcon = 92,
}
defineObject{
name = "star_alcove",
class = "Alcove",
anchorPos = vec(0, 15, 0),
targetPos = vec(0,15,0),
targetSize = vec(0.6, 0.5, 0.6),
model = "assets/models/env/dungeon_floor_01.fbx",
placement = "floor",
replacesWall = true,
editorIcon = 92,
}
defineObject{
name = "iceflow",
class = "Decoration",
model = "assets/models/swipes/swipe_thrust_right.fbx",
placement = "floor",
replacesFloor = true,
editorIcon = 136,
}
defineObject{
name = "iceroof",
class = "Decoration",
model = "assets/models/swipes/swipe_thrust_right.fbx",
placement = "ceiling",
replacesCeiling = true,
editorIcon = 136,
}
defineObject{
name = "ice_junk_block",
class = "Blockage",
model = "assets/models/swipes/swipe_thrust_left.fbx",
placement = "floor",
repelProjectiles = true,
hitSound = "impact_blade",
editorIcon = 56,
}
defineObject{
name = "icelight",
class = "LightSource",
lightPosition = vec(0, -0.5, 0),
lightRange = 2,
lightColor = vec(0.1, 0.1, 0.5),
brightness = 0,
castShadow = true,
particleSystem = "icefog",
placement = "floor",
editorIcon = 88,
}
defineObject{
name = "moonlight",
class = "LightSource",
lightPosition = vec(0, 20, 0),
lightRange = 1,
lightColor = vec(0.1, 0.4, 1),
brightness = 100,
castShadow = false,
particleSystem = "moon",
placement = "floor",
editorIcon = 88,
}
defineObject{
name = "highstarlight",
class = "LightSource",
lightPosition = vec(0, 20, 0),
lightRange = 1,
lightColor = vec(0.1, 0.4, 1),
brightness = 1000,
castShadow = false,
particleSystem = "stars",
placement = "floor",
editorIcon = 88,
}
defineObject{
name = "starlight",
class = "LightSource",
lightPosition = vec(0, 18, 0),
lightRange = 1,
lightColor = vec(0.1, 0.4, 1),
brightness = 1000,
castShadow = false,
particleSystem = "stars",
placement = "floor",
editorIcon = 88,
}
defineObject{
name = "lowstarlight",
class = "LightSource",
lightPosition = vec(0, 15, 0),
lightRange = 1,
lightColor = vec(0.1, 0.4, 1),
brightness = 1000,
castShadow = false,
particleSystem = "stars",
placement = "floor",
editorIcon = 88,
}
defineParticleSystem{
name = "icefog",
emitters = {
-- fog
{
emissionRate = 25,
emissionTime = 0,
maxParticles = 50,
boxMin = {-1.5,0,-1.5},
boxMax = {1.5,0,1.5},
sprayAngle = {0,360},
velocity = {0.1,0.1},
objectSpace = false,
texture = "assets/textures/particles/glow.tga",
lifetime = {5,10},
colorAnimation = true,
color0 = {0.2, 0.3, 0.5},
color1 = {0.1, 0.1, 0.1},
opacity = 1,
fadeIn = 5,
fadeOut = 10,
size = {1, 3},
gravity = {0,-0.1,0},
airResistance = 10,
rotationSpeed = 0,
blendMode = "Additive",
},
{
emissionRate = 25,
emissionTime = 0,
maxParticles = 50,
boxMin = {-1.5,0,-1.5},
boxMax = {1.5,0,1.5},
sprayAngle = {0,360},
velocity = {0.5,1},
objectSpace = false,
texture = "assets/textures/particles/fog.tga",
lifetime = {5,10},
colorAnimation = true,
color0 = {0.2, 0.3, 0.5},
color1 = {0.1, 0.1, 0.1},
opacity = 0.8,
fadeIn = 5,
fadeOut = 10,
size = {1, 3},
gravity = {0,-0.1,0},
airResistance = 10,
rotationSpeed = 2,
blendMode = "Additive",
},
-- glow
{
emissionRate = 5,
emissionTime = 0,
maxParticles = 30,
boxMin = {0,0.5,0},
boxMax = {0,0.5,0},
sprayAngle = {0,360},
velocity = {0.2,0.3},
texture = "assets/textures/particles/glow.tga",
lifetime = {3, 7},
colorAnimation = true,
color0 = {0.7, 0.8, 1},
color1 = {0, 0, 0.1},
opacity = 0.1,
fadeIn = 10,
fadeOut = 10,
size = {8, 12},
gravity = {0,0,0},
airResistance = 10,
rotationSpeed = 0.2,
blendMode = "Additive",
}
}
}
defineParticleSystem{
name = "stars",
emitters = {
-- glow
{
emissionRate = 0,
emissionTime = 0,
spawnBurst = true,
maxParticles = 1,
boxMin = {-1,-1,-1},
boxMax = {1,1,1},
sprayAngle = {0,360},
velocity = {0,0},
texture = "assets/textures/particles/glow.tga",
lifetime = {1000000000, 100000000},
colorAnimation = false,
color0 = {0.7, 0.8, 1},
opacity = 0.7,
fadeIn = 0,
fadeOut = 0,
size = {0.05, 0.15},
gravity = {0,0,0},
airResistance = 10,
rotationSpeed = 0,
blendMode = "Additive",
}
}
}
defineParticleSystem{
name = "moon",
emitters = {
-- glow
{
emissionRate = 1,
emissionTime = 0,
maxParticles = 1,
boxMin = {0,0,0},
boxMax = {0,0,0},
sprayAngle = {0,0},
velocity = {0,0},
texture = "assets/textures/particles/glow.tga",
lifetime = {1000000000, 100000000},
colorAnimation = false,
color0 = {0.7, 0.8, 1},
opacity = 1,
fadeIn = 0,
fadeOut = 0,
size = {2, 2},
gravity = {0,0,0},
airResistance = 10,
rotationSpeed = 0,
blendMode = "Additive",
}
}
}
defineObject{
name = "waterlight",
class = "LightSource",
lightPosition = vec(0, -1, 0),
lightRange = 2,
lightColor = vec(0.1, 0.1, 0.5),
brightness = 0,
castShadow = true,
particleSystem = "waterfog",
placement = "floor",
editorIcon = 88,
}
defineParticleSystem{
name = "waterfog",
emitters = {
-- fog
{
emissionRate = 25,
emissionTime = 0,
maxParticles = 50,
boxMin = {-1.5,0,-1.5},
boxMax = {1.5,0,1.5},
sprayAngle = {0,180},
velocity = {0.2,0.3},
objectSpace = false,
texture = "assets/textures/particles/glow.tga",
lifetime = {5,10},
colorAnimation = false,
color0 = {0.1, 0.1, 0.5},
opacity = 1,
fadeIn = 5,
fadeOut = 5,
size = {1, 3},
gravity = {0,-0.1,0},
airResistance = 1000,
rotationSpeed = 2,
blendMode = "Additive",
},
-- glow
{
emissionRate = 5,
emissionTime = 0,
maxParticles = 30,
boxMin = {-1,-0.2,-1},
boxMax = {1,0.2,1},
sprayAngle = {0,180},
velocity = {0.2,0.3},
texture = "assets/textures/particles/glow.tga",
lifetime = {3, 7},
colorAnimation = false,
color0 = {0.1, 0.1, 0.5},
opacity = 0.5,
fadeIn = 1,
fadeOut = 1,
size = {0.5, 2},
gravity = {0,-0.1,0},
airResistance = 1000,
rotationSpeed = 2,
blendMode = "Additive",
}
}
}
name = "moon_alcove",
class = "Alcove",
anchorPos = vec(0, 10, 0),
targetPos = vec(0,10,0),
targetSize = vec(0.6, 0.5, 0.6),
model = "assets/models/env/dungeon_floor_01.fbx",
placement = "floor",
replacesWall = true,
editorIcon = 92,
}
defineObject{
name = "star_alcove",
class = "Alcove",
anchorPos = vec(0, 15, 0),
targetPos = vec(0,15,0),
targetSize = vec(0.6, 0.5, 0.6),
model = "assets/models/env/dungeon_floor_01.fbx",
placement = "floor",
replacesWall = true,
editorIcon = 92,
}
defineObject{
name = "iceflow",
class = "Decoration",
model = "assets/models/swipes/swipe_thrust_right.fbx",
placement = "floor",
replacesFloor = true,
editorIcon = 136,
}
defineObject{
name = "iceroof",
class = "Decoration",
model = "assets/models/swipes/swipe_thrust_right.fbx",
placement = "ceiling",
replacesCeiling = true,
editorIcon = 136,
}
defineObject{
name = "ice_junk_block",
class = "Blockage",
model = "assets/models/swipes/swipe_thrust_left.fbx",
placement = "floor",
repelProjectiles = true,
hitSound = "impact_blade",
editorIcon = 56,
}
defineObject{
name = "icelight",
class = "LightSource",
lightPosition = vec(0, -0.5, 0),
lightRange = 2,
lightColor = vec(0.1, 0.1, 0.5),
brightness = 0,
castShadow = true,
particleSystem = "icefog",
placement = "floor",
editorIcon = 88,
}
defineObject{
name = "moonlight",
class = "LightSource",
lightPosition = vec(0, 20, 0),
lightRange = 1,
lightColor = vec(0.1, 0.4, 1),
brightness = 100,
castShadow = false,
particleSystem = "moon",
placement = "floor",
editorIcon = 88,
}
defineObject{
name = "highstarlight",
class = "LightSource",
lightPosition = vec(0, 20, 0),
lightRange = 1,
lightColor = vec(0.1, 0.4, 1),
brightness = 1000,
castShadow = false,
particleSystem = "stars",
placement = "floor",
editorIcon = 88,
}
defineObject{
name = "starlight",
class = "LightSource",
lightPosition = vec(0, 18, 0),
lightRange = 1,
lightColor = vec(0.1, 0.4, 1),
brightness = 1000,
castShadow = false,
particleSystem = "stars",
placement = "floor",
editorIcon = 88,
}
defineObject{
name = "lowstarlight",
class = "LightSource",
lightPosition = vec(0, 15, 0),
lightRange = 1,
lightColor = vec(0.1, 0.4, 1),
brightness = 1000,
castShadow = false,
particleSystem = "stars",
placement = "floor",
editorIcon = 88,
}
defineParticleSystem{
name = "icefog",
emitters = {
-- fog
{
emissionRate = 25,
emissionTime = 0,
maxParticles = 50,
boxMin = {-1.5,0,-1.5},
boxMax = {1.5,0,1.5},
sprayAngle = {0,360},
velocity = {0.1,0.1},
objectSpace = false,
texture = "assets/textures/particles/glow.tga",
lifetime = {5,10},
colorAnimation = true,
color0 = {0.2, 0.3, 0.5},
color1 = {0.1, 0.1, 0.1},
opacity = 1,
fadeIn = 5,
fadeOut = 10,
size = {1, 3},
gravity = {0,-0.1,0},
airResistance = 10,
rotationSpeed = 0,
blendMode = "Additive",
},
{
emissionRate = 25,
emissionTime = 0,
maxParticles = 50,
boxMin = {-1.5,0,-1.5},
boxMax = {1.5,0,1.5},
sprayAngle = {0,360},
velocity = {0.5,1},
objectSpace = false,
texture = "assets/textures/particles/fog.tga",
lifetime = {5,10},
colorAnimation = true,
color0 = {0.2, 0.3, 0.5},
color1 = {0.1, 0.1, 0.1},
opacity = 0.8,
fadeIn = 5,
fadeOut = 10,
size = {1, 3},
gravity = {0,-0.1,0},
airResistance = 10,
rotationSpeed = 2,
blendMode = "Additive",
},
-- glow
{
emissionRate = 5,
emissionTime = 0,
maxParticles = 30,
boxMin = {0,0.5,0},
boxMax = {0,0.5,0},
sprayAngle = {0,360},
velocity = {0.2,0.3},
texture = "assets/textures/particles/glow.tga",
lifetime = {3, 7},
colorAnimation = true,
color0 = {0.7, 0.8, 1},
color1 = {0, 0, 0.1},
opacity = 0.1,
fadeIn = 10,
fadeOut = 10,
size = {8, 12},
gravity = {0,0,0},
airResistance = 10,
rotationSpeed = 0.2,
blendMode = "Additive",
}
}
}
defineParticleSystem{
name = "stars",
emitters = {
-- glow
{
emissionRate = 0,
emissionTime = 0,
spawnBurst = true,
maxParticles = 1,
boxMin = {-1,-1,-1},
boxMax = {1,1,1},
sprayAngle = {0,360},
velocity = {0,0},
texture = "assets/textures/particles/glow.tga",
lifetime = {1000000000, 100000000},
colorAnimation = false,
color0 = {0.7, 0.8, 1},
opacity = 0.7,
fadeIn = 0,
fadeOut = 0,
size = {0.05, 0.15},
gravity = {0,0,0},
airResistance = 10,
rotationSpeed = 0,
blendMode = "Additive",
}
}
}
defineParticleSystem{
name = "moon",
emitters = {
-- glow
{
emissionRate = 1,
emissionTime = 0,
maxParticles = 1,
boxMin = {0,0,0},
boxMax = {0,0,0},
sprayAngle = {0,0},
velocity = {0,0},
texture = "assets/textures/particles/glow.tga",
lifetime = {1000000000, 100000000},
colorAnimation = false,
color0 = {0.7, 0.8, 1},
opacity = 1,
fadeIn = 0,
fadeOut = 0,
size = {2, 2},
gravity = {0,0,0},
airResistance = 10,
rotationSpeed = 0,
blendMode = "Additive",
}
}
}
defineObject{
name = "waterlight",
class = "LightSource",
lightPosition = vec(0, -1, 0),
lightRange = 2,
lightColor = vec(0.1, 0.1, 0.5),
brightness = 0,
castShadow = true,
particleSystem = "waterfog",
placement = "floor",
editorIcon = 88,
}
defineParticleSystem{
name = "waterfog",
emitters = {
-- fog
{
emissionRate = 25,
emissionTime = 0,
maxParticles = 50,
boxMin = {-1.5,0,-1.5},
boxMax = {1.5,0,1.5},
sprayAngle = {0,180},
velocity = {0.2,0.3},
objectSpace = false,
texture = "assets/textures/particles/glow.tga",
lifetime = {5,10},
colorAnimation = false,
color0 = {0.1, 0.1, 0.5},
opacity = 1,
fadeIn = 5,
fadeOut = 5,
size = {1, 3},
gravity = {0,-0.1,0},
airResistance = 1000,
rotationSpeed = 2,
blendMode = "Additive",
},
-- glow
{
emissionRate = 5,
emissionTime = 0,
maxParticles = 30,
boxMin = {-1,-0.2,-1},
boxMax = {1,0.2,1},
sprayAngle = {0,180},
velocity = {0.2,0.3},
texture = "assets/textures/particles/glow.tga",
lifetime = {3, 7},
colorAnimation = false,
color0 = {0.1, 0.1, 0.5},
opacity = 0.5,
fadeIn = 1,
fadeOut = 1,
size = {0.5, 2},
gravity = {0,-0.1,0},
airResistance = 1000,
rotationSpeed = 2,
blendMode = "Additive",
}
}
}
