Погасить свет, засветить модель

Программирование на Юнити.

Погасить свет, засветить модель

Сообщение Tolking 20 янв 2010, 15:41

Хочу программно выставить уровню после загрузки "FullBright" и соответственно вырубить весь свет. Если со светом я еще поковыряюсь (наверняка нужно найти в гейм обжектах и где нибуть энебле сделать фальсе), то с Фулбрайт засада. Так и не нашел где можно выставить... Кто нибуть знает где искать?
Ковчег построил любитель, профессионалы построили Титаник.
Аватара пользователя
Tolking
Адепт
 
Сообщения: 2716
Зарегистрирован: 08 июн 2009, 18:22
Откуда: Тула

Re: Погасить свет, засветить модель

Сообщение Paul Siberdt 20 янв 2010, 15:46

В настройках рендера есть параметр - Ambient Light.
Выведя его в белый, вы перебьете все источники света. В коде до него забраться таким же макаром - RenderSettings.ambientLight
Аватара пользователя
Paul Siberdt
Адепт
 
Сообщения: 5317
Зарегистрирован: 20 июн 2009, 21:24
Откуда: Moscow, Russia
Skype: siberdt
  • Сайт

Re: Погасить свет, засветить модель

Сообщение Tolking 20 янв 2010, 16:21

Уже пробовал. Неполучилось т.к. "Render Settings are per-scene: each scene in your game can have different Render Settings."

Мне нужно такое:

Application.LoadLevel(fn[0]);
RenderSettings.ambientLight = Color.white;

Если после загрузки уровня интерактивно меняю амбиент все работает. Программно нет.

Кстати "проблемма" скорее всего возникает из-за "отложенной" загрузки... Случайно нет никакой AfterLevelLoad? :)
Аватара пользователя
Tolking
Адепт
 
Сообщения: 2716
Зарегистрирован: 08 июн 2009, 18:22
Откуда: Тула

Re: Погасить свет, засветить модель

Сообщение Tolking 20 янв 2010, 16:30

Точно. Если в OnGUI ставлю амбиент свет зажигается... Нет ни укого канцептуального решения, кроме как корутину запускать?
Ковчег построил любитель, профессионалы построили Титаник.
Аватара пользователя
Tolking
Адепт
 
Сообщения: 2716
Зарегистрирован: 08 июн 2009, 18:22
Откуда: Тула

Re: Погасить свет, засветить модель

Сообщение Paul Siberdt 20 янв 2010, 17:11

А Start у камеры не есть гарантия загрузки и запуска уровня? Если поставить эмбиент туда?
Аватара пользователя
Paul Siberdt
Адепт
 
Сообщения: 5317
Зарегистрирован: 20 июн 2009, 21:24
Откуда: Moscow, Russia
Skype: siberdt
  • Сайт

Re: Погасить свет, засветить модель

Сообщение Tolking 20 янв 2010, 17:18

:) У меня все не как у людей, я уровень к камере подгружаю.

Видимо единственный вариант для Юнити - корутина...
Ковчег построил любитель, профессионалы построили Титаник.
Аватара пользователя
Tolking
Адепт
 
Сообщения: 2716
Зарегистрирован: 08 июн 2009, 18:22
Откуда: Тула

Re: Погасить свет, засветить модель

Сообщение Tolking 20 янв 2010, 17:54

Вот такую фигню пришлось сгородить...
Код: Выделить всё
IEnumerator AfterLevelLoad()
    {
        yield return new WaitForFixedUpdate();
        RenderSettings.ambientLight = Color.white;
        Object[] go= GameObject.FindObjectsOfType(typeof(Light));
        for (int i = 0; i < go.Length; i++)
        {
            ((Light)go[i]).enabled = false;
        }
    }

    void LoadLevel(MyButton btn)
    {
        LoadW.Visible = false;
        TekLevel.Text = "Curent level: "+ btn.Text;
        AddMatrix.Visible = true;
        string[] fn = btn.Text.Split('.');
        Application.LoadLevel(fn[0]);
        StartCoroutine(AfterLevelLoad());
    }


Самой сложной сложностью оказалась строчка: "using System.Collections;"
Почему в доках не пишут чего нужно "Юзинг"? Всегда с тоской вспоминаю доки по Борланд Паскалю...
Ковчег построил любитель, профессионалы построили Титаник.
Аватара пользователя
Tolking
Адепт
 
Сообщения: 2716
Зарегистрирован: 08 июн 2009, 18:22
Откуда: Тула

Re: Погасить свет, засветить модель

Сообщение Neodrop 20 янв 2010, 19:17

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

Re: Погасить свет, засветить модель

Сообщение Tolking 21 янв 2010, 02:44

Я и пользуюсь. Экспрессом... Не подсказывает.
Ковчег построил любитель, профессионалы построили Титаник.
Аватара пользователя
Tolking
Адепт
 
Сообщения: 2716
Зарегистрирован: 08 июн 2009, 18:22
Откуда: Тула

Re: Погасить свет, засветить модель

Сообщение Neodrop 21 янв 2010, 09:13

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

Re: Погасить свет, засветить модель

Сообщение Zaicheg 21 янв 2010, 09:47

Tolking писал(а):Вот такую фигню пришлось сгородить...
Самой сложной сложностью оказалась строчка: "using System.Collections;"
Почему в доках не пишут чего нужно "Юзинг"? Всегда с тоской вспоминаю доки по Борланд Паскалю...

Как это не пишут? Можно пример, для какого случая эта информация не дана?
Дьяченко Роман
e-mail: _zaicheg.reg@gmail.com
skype: zaicheg12
vkontakte: _vk.com/zaichegq
Работа: _wie3.com _www.sanviz.com
Аватара пользователя
Zaicheg
Адепт
 
Сообщения: 3024
Зарегистрирован: 19 июн 2009, 15:12
Откуда: Череповец

Re: Погасить свет, засветить модель

Сообщение Tolking 21 янв 2010, 10:28

Да полно!
Например: http://unity3d.com/support/documentatio ... =Coroutine

Даже в МСДН встречается такая фигня нужно "выплывать наверх" чтобы увидеть чего нужно юзать, но на это уже не дам ссылку, т.к. давно в МСДН ничего не искал... И с примерами фигово стало. Раньше на каждую функцию пример был...


Нео спасибо! Всплывает подсказка! Нужно "внутрь" слова курсор вставить.
Ковчег построил любитель, профессионалы построили Титаник.
Аватара пользователя
Tolking
Адепт
 
Сообщения: 2716
Зарегистрирован: 08 июн 2009, 18:22
Откуда: Тула

Re: Погасить свет, засветить модель

Сообщение gnoblin 21 янв 2010, 10:33

Да во всех примерах про юнити стандартно кладешь UnityEngine & System.Collections :ymsmug: .

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

Re: Погасить свет, засветить модель

Сообщение Neodrop 21 янв 2010, 10:42

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

Re: Погасить свет, засветить модель

Сообщение gnoblin 21 янв 2010, 11:15

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

След.

Вернуться в Скрипты

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

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


cron