How can make cloud moving ???

compvis

06-07-2009 03:20:57

hi,

I initialize Caelum like:


mPaused = false;
Caelum::CaelumSystem::CaelumComponent componentMask;
componentMask = static_cast<Caelum::CaelumSystem::CaelumComponent> (
Caelum::CaelumSystem::CAELUM_COMPONENT_SUN |
Caelum::CaelumSystem::CAELUM_COMPONENT_MOON |
// Caelum::CaelumSystem::CAELUM_COMPONENT_SKY_DOME |
// Caelum::CaelumSystem::CAELUM_COMPONENT_IMAGE_STARFIELD |
Caelum::CaelumSystem::CAELUM_COMPONENT_POINT_STARFIELD |
Caelum::CaelumSystem::CAELUM_COMPONENT_CLOUDS |
0);
componentMask = Caelum::CaelumSystem::CAELUM_COMPONENTS_DEFAULT;


mSkySystem = new Caelum::CaelumSystem (Root::getSingletonPtr(), mScene, componentMask);
mSkySystem->setManageSceneFog(false);

mSkySystem->getUniversalClock()->setGregorianDateTime(2009, 7, 5, 8, 43, 0);
mSkySystem->getUniversalClock ()->setTimeScale (10);

mRender->addListener (mSkySystem);
Root::getSingletonPtr()->addFrameListener (mSkySystem);


My question is: how can i set time for Caelum like: one day in game = one day in real life ?

If i set time scale = 10, it appears that the clould doesn't move ! (in fact, the clould moves so slowly). in real life, if the wind is strong, then the cloud will move faster !!!

Problem is i want to the cloud still move while one day in game = one day in real life, set

Thanks,

Fish

06-07-2009 13:03:54

Remember that distance = speed * time. If you want clouds to move a greater distance with a given time constant then you need to increase the cloud speed.

See if the function FlatCloudLayer::setCloudSpeed() will help.

-Fish