Jump to content

  • Log In with Google      Sign In   
  • Create Account


Real-time day-night cycles in Assassins Creed


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
2 replies to this topic

#1 SmooBG   Members   -  Reputation: 104

Like
0Likes
Like

Posted 30 January 2014 - 09:57 AM

Hi Guys,

     I'm an animator, and I'm trying to wrap my head around real-time day-night cycles, and how they are executed in games such as Assassin's Creed.  Obviously the day-night cycle changes aren't rendered, animated frames (which is how I do things).  So how is it done?  Some sort of scripting?

 

Thanks!



Sponsor:

#2 TheComet   Members   -  Reputation: 1383

Like
1Likes
Like

Posted 30 January 2014 - 11:13 AM

The more complex ones are definitely scripted. There are many ways to approach this.

 

Usually, the simplest thing to do is have two skyspheres, one with a night sky texture and the other with a day sky texture. To switch between day and night, you adjust the transparency of the spheres to fade from one to the other. The spheres need to rotate slowly, depending on what time it is, so the sky appears to move. I can imagine this still being achieved using only one animated object, but most of the time the rotation and fading is scripted rather than animated.

 

This can be combined with a light source positioned at the sun, which also needs to have its colours and brightness adjusted according to what time it is. For example, the sun would be mostly white with a tint of yellow during most of the day, and be bright orange/red during sunset and sun rise. The moon probably also uses a light source, which would be a deep blue colour during most of the night, and transition into white during "moonset" and "moonrise".

 

Some games combine fog to help with the transition.


Edited by TheComet, 30 January 2014 - 11:15 AM.

YOUR_OPINION >/dev/null


#3 Matias Goldberg   Crossbones+   -  Reputation: 3007

Like
2Likes
Like

Posted 30 January 2014 - 12:09 PM

There are a ton of ways render sky and transitions. But basically boil down to different procedural generation techniques vs blending baked skies.

 

Though blending two skydomes works, like TheComet said; most implementations procedural generate the sky (Google "atmospheric scattering").

 

Since you come from an art background, I'm just going to say it's a lot of math stuff behind it, having a cool blue sky with a sun in it.

Perhaps of interest to you is that the game will usually have a set of key settings for each time of day (i.e. sun power, sun colour, and optionally different mie & rayleigh scattering parameters although that is cheating/artistic-license since technically those two params should remain unchanged regardless of time of day) and blend (interpolate) the parameters based on the current in-game time.

 

Atmospheric scattering doesn't cover clouds, so clouds are rendered separately: could be as a extra layer(s) of noise textures, using baked skyboxes, using oriented sprites, or using volumetric techniques.

Often clouds are rendered with a special shader to do some math to be coloured by the sun while still looking real.

 

In simple words, it's really technical stuff; but there is no one unique way. I was just reading yesterday slides from CryTek (starting page 108) where they were telling they tried 3 different cloud rendering techniques until they were happy (and they didn't end entirely happy).

 

Cheers






Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS