Re: a nice cavern filled with lava
Posted: Thu Jan 01, 2015 3:05 am
Cool Bongo can you make it a Draw Tile eg: lava_floor_tile, that way you don't have to put so many objects on the map Just asking that's all.
Official Legend of Grimrock Forums
http://grimrock.net/forum/
well this can be cool, if you add some special effect when the golem walk.Daveyx0 wrote:Really nice! I was wondering what would be the best way. Now just add an invisible platform and make the golem walk over it >:D
well I dont know how to do that actually:Eleven Warrior wrote:Cool Bongo can you make it a Draw Tile eg: lava_floor_tile, that way you don't have to put so many objects on the map Just asking that's all.
Code: Select all
defineObject{
name = "lava_effects",
components = {
{ class = "Model",
model = "assets/models/effects/wall_fire.fbx",
sortOffset = 1,
offset = vec(0, -0.6, 0),
},
{ class = "Light",
offset = vec(0, -0.8, 0),
range = 6,
color = vec(2.8, 1.2, 0.7),
brightness = 2,
castShadow = true,
shadowMapSize = 64,
staticShadows = true,
staticShadowDistance = 0, -- use static shadows always
},
{ class = "Particle",
particleSystem = "dungeon_fire_pit_2",
offset = vec(0, 0, 0),
},
},
placement = "floor",
editorIcon = 88,
}
defineObject{
name = "lava_surface_underground",
baseObject = "base_floor_decoration",
components = {
{
-- updates global reflection and refraction maps
class = "WaterSurface",
planeY = -0.4,
fogColor = math.saturation(vec(0.26, 0.09, 0.042), 0.5) * 0.5,
fogDensity = 0.4,
reflectionColor = vec(1.5, 0.9, 0.27) * 0.9,
refractionColor = vec(1.5,1.0,0.5),
},
{
-- builds a continuous mesh from underwater tiles
class = "WaterSurfaceMesh",
material = "lava",
underwaterMaterial = "water_surface_underwater",
offset = vec(0, -0.4, 0),
},
},
dontAdjustHeight = true,
editorIcon = 264,
}
defineMaterial{
name = "lava",
shader = "ocean_water",
diffuseMap = "mod_assets/textures/env/lava_dif.tga",
normalMap = "assets/textures/env/ocean_normal.tga",
displacementMap = "assets/textures/env/ocean_disp.tga",
doubleSided = false,
--lighting = true,
alphaTest = false,
--castShadow = true,
blendMode = "Opaque",
textureAddressMode = "Wrap",
glossiness = 0,
depthBias = 0,
texOffset = 0,
foamOffset = 0,
foamAmount = 0,
waveAmplitude = 0.3,
onUpdate = function(self, time)
self:setTexcoordScaleOffset(1, 1, math.cos(time*0.15)*0.5, math.sin(time*0.15)*0.5)
end,
}
defineParticleSystem{
name = "dungeon_fire_pit_2",
emitters = {
-- fog 1
{
emissionRate = 5,
emissionTime = 0,
maxParticles = 50,
boxMin = {-1.3, 0,-1.3},
boxMax = { 1.3, 0.5, 1.3},
sprayAngle = {0,360},
velocity = {0.1,0.2},
objectSpace = true,
texture = "assets/textures/particles/fog.tga",
lifetime = {3,3},
color0 = {1.25,0.4,0.2},
opacity = 0.5,
fadeIn = 2.2,
fadeOut = 2.2,
size = {0.75, 1.5},
gravity = {0,0.1,0},
airResistance = 0.5,
rotationSpeed = 0.3,
blendMode = "Additive",
},
-- fog 2
{
emissionRate = 5,
emissionTime = 0,
maxParticles = 50,
boxMin = {-1.3, 0,-1.3},
boxMax = { 1.3, 0.5, 1.3},
sprayAngle = {0,360},
velocity = {0.1,0.2},
objectSpace = true,
texture = "assets/textures/particles/fog.tga",
lifetime = {3,3},
color0 = {1.25,0.4,0.2},
opacity = 0.5,
fadeIn = 2.2,
fadeOut = 2.2,
size = {0.75, 1.5},
gravity = {0,0.1,0},
airResistance = 0.5,
rotationSpeed = -0.3,
blendMode = "Additive",
},
-- stars
{
emissionRate = 40,
emissionTime = 0,
maxParticles = 300,
boxMin = {-1.3, 0.0,-1.3},
boxMax = { 1.3, 0.5, 1.3},
sprayAngle = {0,360},
velocity = {0,0},
objectSpace = true,
texture = "assets/textures/particles/firefly_dif.tga",
lifetime = {0.5,3},
color0 = {4, 0.4, 0.2},
opacity = 1,
fadeIn = 0.1,
fadeOut = 0.1,
size = {0.05, 0.1},
gravity = {0,0.5,0},
airResistance = 0.1,
rotationSpeed = 5,
blendMode = "Additive",
},
-- smoke
{
emissionRate = 3,
emissionTime = 0,
maxParticles = 30,
boxMin = {-1.3, 0, -1.3},
boxMax = { 1.3, 1.0, 1.3},
sprayAngle = {0,20},
velocity = {0.4, 0.8},
texture = "assets/textures/particles/smoke_01.tga",
lifetime = {1,3},
color0 = {0.25, 0.20, 0.17},
opacity = 0.5,
fadeIn = 0.3,
fadeOut = 0.9,
size = {1.5, 2},
gravity = {0,0.3,0},
airResistance = 0.1,
rotationSpeed = 0.5,
blendMode = "Translucent",
},
}
}
Code: Select all
defineTile{
name = "mine_floor_water",
editorIcon = 192,
color = {40,80,120,255},
builder = "dungeon",
floor = {
"mine_floor_01", 1,
},
ceiling = {
"mine_ceiling_01", 50,
"mine_ceiling_02", 50,
},
wall = {
"mine_elevation_edge", 1,
},
ceilingShaft = "mine_ceiling_shaft",
underwater = true,
}
defineTile{
name = "mine_floor_crystal_water",
editorIcon = 192,
color = {43,86,150,255},
builder = "dungeon",
floor = {
"mine_floor_01", 1,
},
ceiling = {
"mine_ceiling_01", 50,
"mine_ceiling_02", 50,
"mine_ceiling_03", 7,
},
wall = {
"mine_elevation_edge", 1,
},
ceilingShaft = "mine_ceiling_shaft",
underwater = true,
}