Multiple cloud layers on a planet
Posted: 29.05.2011, 18:12
Multiple cloud layers can be very useful and realistic on a planet. Using them can create the appearance of changing weather patterns on Terran or Jovian planets. But, Celestia doesn't support them! So, until Celestia gets support for more than one cloud layer, use this workaround. We'll assume that you already have the separate cloud maps. Note that using different cloud maps for different layers is important to prevent a "blurred/cloned" effect. Here's the default SSC for Earth:
So now we have a planet to put the clouds on. The lowest cloud layer is already there. The next thing we need is to copy/paste the SSC and change some things. Delete the copy's texture, rotation, etc - we don't need them. You don't even need a good portion of the atmosphere, all you want is the clouds.
You don't need to have a mesh "none.3ds" anywhere, you're just specifying a mesh that doesn't exist so Celestia doesn't draw a surface. We've also decreased the radius a bit and increased the cloud height. The cloud speed has been lowered and the Earth clone has a different cloud map. Generally the cloud textures should have fewer and fewer clouds as more and more cloud layers are piled on top of each other (I hope I'm making sense). After saving the ssc and loading Celestia you should notice a change in Earth's appearance. The clouds have changed. Sync orbit, turn up ambient light, and speed up time. You should see the weather patterns changing. You're pretty much done at this point. If you want, copy/paste the Earth clone but again increase the height and decrease the speed, then change the name of the second clone, and set its cloud map to something else. Save again and press Ctrl+G to go to the surface. As you descend you should see the clouds approaching you at different speeds and pass through them at different times. Earth should also look great from space.
Code: Select all
"Earth" "Sol"
{
Texture "earth.*"
NightTexture "earthnight.*"
# SpecularTexture "earth-spec.*"
Color [ 0.85 0.85 1.0 ]
SpecularColor [ 0.8 0.8 0.85 ]
SpecularPower 25.0
HazeColor [ 1 1 1 ]
HazeDensity 0.3
Radius 6378.140 # equatorial
# Oblateness 0.0034
Atmosphere {
Height 60
Lower [ 0.43 0.52 0.65 ]
Upper [ 0.26 0.47 0.84 ]
Sky [ 0.40 0.6 1.0 ]
Sunset [ 1.0 0.6 0.2 ]
CloudHeight 7
CloudSpeed 65
CloudMap "earth-clouds.*"
CloudShadowDepth 1.0
Mie 0.001
MieAsymmetry -0.25
Rayleigh [ 0.001 0.0025 0.006 ]
MieScaleHeight 12
}
CustomOrbit "vsop87-earth"
# Overridden by CustomOrbit
# EllipticalOrbit {
# Period 1.0000
# SemiMajorAxis 1.0000
# Eccentricity 0.0167
# Inclination 0.0001
# AscendingNode 348.739
# LongOfPericenter 102.947
# MeanLongitude 100.464
# }
# Orientation of Earth's axis with respect to the ecliptic plane and
# equinox of J2000 is computed with the long period extension of
# extension of the the P03 precession model presented in
# "Long-periodic Precession Parameters", J. Vondrak (2006)
BodyFrame { EclipticJ2000 {} }
CustomRotation "earth-p03lp"
# Overriden by CustomRotation
# UniformRotation
# {
# Period 23.93447117
# Inclination -23.4392911
# MeridianAngle 280.147
# }
Albedo 0.30
}
So now we have a planet to put the clouds on. The lowest cloud layer is already there. The next thing we need is to copy/paste the SSC and change some things. Delete the copy's texture, rotation, etc - we don't need them. You don't even need a good portion of the atmosphere, all you want is the clouds.
Code: Select all
"Earth" "Sol"
{
Texture "earth.*"
NightTexture "earthnight.*"
# SpecularTexture "earth-spec.*"
Color [ 0.85 0.85 1.0 ]
SpecularColor [ 0.8 0.8 0.85 ]
SpecularPower 25.0
HazeColor [ 1 1 1 ]
HazeDensity 0.3
Radius 6378.140 # equatorial
# Oblateness 0.0034
Atmosphere {
Height 60
Lower [ 0.43 0.52 0.65 ]
Upper [ 0.26 0.47 0.84 ]
Sky [ 0.40 0.6 1.0 ]
Sunset [ 1.0 0.6 0.2 ]
CloudHeight 7
CloudSpeed 65
CloudMap "earth-clouds.*"
CloudShadowDepth 1.0
Mie 0.001
MieAsymmetry -0.25
Rayleigh [ 0.001 0.0025 0.006 ]
MieScaleHeight 12
}
CustomOrbit "vsop87-earth"
# Overridden by CustomOrbit
# EllipticalOrbit {
# Period 1.0000
# SemiMajorAxis 1.0000
# Eccentricity 0.0167
# Inclination 0.0001
# AscendingNode 348.739
# LongOfPericenter 102.947
# MeanLongitude 100.464
# }
# Orientation of Earth's axis with respect to the ecliptic plane and
# equinox of J2000 is computed with the long period extension of
# extension of the the P03 precession model presented in
# "Long-periodic Precession Parameters", J. Vondrak (2006)
BodyFrame { EclipticJ2000 {} }
CustomRotation "earth-p03lp"
# Overriden by CustomRotation
# UniformRotation
# {
# Period 23.93447117
# Inclination -23.4392911
# MeridianAngle 280.147
# }
Albedo 0.30
}
"Earth_Clouds" "Sol"
{
Color [ 0 0 0 ]
Radius 6377.140 # equatorial
Mesh "none.3ds"
# Oblateness 0.0034
Atmosphere {
CloudHeight 8
CloudSpeed 55
CloudMap "earth-clouds2.*"
CloudShadowDepth 1.0
}
CustomOrbit "vsop87-earth"
# Overridden by CustomOrbit
# EllipticalOrbit {
# Period 1.0000
# SemiMajorAxis 1.0000
# Eccentricity 0.0167
# Inclination 0.0001
# AscendingNode 348.739
# LongOfPericenter 102.947
# MeanLongitude 100.464
# }
# Orientation of Earth's axis with respect to the ecliptic plane and
# equinox of J2000 is computed with the long period extension of
# extension of the the P03 precession model presented in
# "Long-periodic Precession Parameters", J. Vondrak (2006)
BodyFrame { EclipticJ2000 {} }
CustomRotation "earth-p03lp"
}
You don't need to have a mesh "none.3ds" anywhere, you're just specifying a mesh that doesn't exist so Celestia doesn't draw a surface. We've also decreased the radius a bit and increased the cloud height. The cloud speed has been lowered and the Earth clone has a different cloud map. Generally the cloud textures should have fewer and fewer clouds as more and more cloud layers are piled on top of each other (I hope I'm making sense). After saving the ssc and loading Celestia you should notice a change in Earth's appearance. The clouds have changed. Sync orbit, turn up ambient light, and speed up time. You should see the weather patterns changing. You're pretty much done at this point. If you want, copy/paste the Earth clone but again increase the height and decrease the speed, then change the name of the second clone, and set its cloud map to something else. Save again and press Ctrl+G to go to the surface. As you descend you should see the clouds approaching you at different speeds and pass through them at different times. Earth should also look great from space.