Плавное изменение плотности fog'a - ?

Общие вопросы о Unity3D

Плавное изменение плотности fog'a - ?

Сообщение Slava 26 дек 2009, 15:48

Как то не получается - ни Mathf.Lerp, Mathf.SmoothStep, ни тем более Mathf.SmoothDamp не работают для тумана. Есть Color.Lerp и Material.Lerp, но не для того. Может, как то можно извернуться????
Добавить slava-1234 в Skype
Slava
UNIт
 
Сообщения: 135
Зарегистрирован: 05 апр 2009, 05:14

Re: Плавное изменение плотности fog'a - ?

Сообщение gnoblin 26 дек 2009, 20:06

Любой функцией из Mathf (Lerp, Pingpong, SmoothDamp) можно менять float переменную.
Если плотность тумана (fog.density) это float параметр - значит можно его поменять 8-x .

Пример неработающего кода в студию :ympeace:
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: Плавное изменение плотности fog'a - ?

Сообщение Slava 26 дек 2009, 21:23

function Start () {
Fog ();
}
function Fog () {
RenderSettings.fog = true;
RenderSettings.fogDensity = 0.01;
yield WaitForSeconds(2.0);
RenderSettings.fogDensity = 0.1;
RenderSettings.fogDensity = Mathf.SmoothStep(0.1, 0.01, ????);
}

хотелось бы поменять плотность от 0.1 до 0.01 за 60 секунд...
Добавить slava-1234 в Skype
Slava
UNIт
 
Сообщения: 135
Зарегистрирован: 05 апр 2009, 05:14

Re: Плавное изменение плотности fog'a - ?

Сообщение Neodrop 26 дек 2009, 21:53

Там где вопросики, нужно ставить цифру от 0 до 1
Чем ближе к единице, тем ближе ко второму значению. В вашем случае это 0.01
Но код дурной, если честно. К плавному изменению фога он не имеет никакого отношения.
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Плавное изменение плотности fog'a - ?

Сообщение Slava 26 дек 2009, 22:31

Ну прямое отношение к плотности наверно все-таки посл. строчка имеет. Привел пример в контексте. А как лучше, если это не правильно? Сейчас где вопросики стоят - нужно ввести еще одну переменную что-ли, чтоб менялась от 0 до 1? Может SmoothDamp тогда лучше? Непонял как делать то...
Добавить slava-1234 в Skype
Slava
UNIт
 
Сообщения: 135
Зарегистрирован: 05 апр 2009, 05:14

Re: Плавное изменение плотности fog'a - ?

Сообщение gnoblin 26 дек 2009, 23:47

Да - вместо вопросиков нужна переменная которая постепенно меняется от 0.0 до 1.0
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: Плавное изменение плотности fog'a - ?

Сообщение Slava 27 дек 2009, 00:14

Понятно. А эту переменную мы будем менять тоже Mathf.SmoothStep, и введем еще одну переменную, которую соответственно будем менять тоже Mathf.SmoothStep, и введем еще одну переменную, которую соответственно... @-) черт
Добавить slava-1234 в Skype
Slava
UNIт
 
Сообщения: 135
Зарегистрирован: 05 апр 2009, 05:14

Re: Плавное изменение плотности fog'a - ?

Сообщение Neodrop 27 дек 2009, 01:00

Код: Выделить всё
function Start()
{
   DownFog(10.0, 1.0, 0.01);
}

function DownFog(time : float, startFog : float, endFog : float)
{
   var endTime = Time.realtimeSinceStartup  + time;
   var secondStep = (startFog - endFog) / time;
   RenderSettings.fogDensity = startFog;
   while(endTime > Time.realtimeSinceStartup )
   {
      RenderSettings.fogDensity -= secondStep * Time.deltaTime;
      yield;
   }
    RenderSettings.fogDensity = endFog;
}


Писал вслепую, но вроде должно работать. Мне проще было бы в (c#)
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Плавное изменение плотности fog'a - ?

Сообщение Slava 27 дек 2009, 01:21

О, спасибо!
Добавить slava-1234 в Skype
Slava
UNIт
 
Сообщения: 135
Зарегистрирован: 05 апр 2009, 05:14


Вернуться в Общие вопросы

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13