Как поменять environment reflection skybox через скрипт?

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Как поменять environment reflection skybox через скрипт?

Сообщение NOVA 30 мар 2023, 18:02

Делаю так.

Синтаксис:
Используется csharp
 public Material Table0SkyBox;
 public Material Table1SkyBox;

public void SwitchNextTable()
    {        
            RenderSettings.skybox = Table1SkyBox;
            DynamicGI.UpdateEnvironment();
    }



При открытом окне Lighting скайбокс в Environment skybox material меняется после того как навести мышкой на это окно. В сцене вообще не меняется на отражениях материалов.
Аватара пользователя
NOVA
Адепт
 
Сообщения: 1741
Зарегистрирован: 17 май 2011, 11:45
Откуда: Дядя Саша from Mother Russia

Re: Как поменять environment reflection skybox через скрипт?

Сообщение NOVA 01 апр 2023, 14:06

Блин проблема. Куда вопрос то задать?
Аватара пользователя
NOVA
Адепт
 
Сообщения: 1741
Зарегистрирован: 17 май 2011, 11:45
Откуда: Дядя Саша from Mother Russia

Re: Как поменять environment reflection skybox через скрипт?

Сообщение DbIMok 03 апр 2023, 16:47

вы меняете в рантайме, в редакторе какой версии?
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.7k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05

Re: Как поменять environment reflection skybox через скрипт?

Сообщение NOVA 04 апр 2023, 19:29

DbIMok писал(а):вы меняете в рантайме, в редакторе какой версии?

Да в рантайме.
Unity 2019.4.40f1 (64-bit)
Глюк?
Аватара пользователя
NOVA
Адепт
 
Сообщения: 1741
Зарегистрирован: 17 май 2011, 11:45
Откуда: Дядя Саша from Mother Russia

Re: Как поменять environment reflection skybox через скрипт?

Сообщение DbIMok 06 апр 2023, 03:15

ахз, но должно помочь такое
Синтаксис:
Используется csharp
    void Change(Material material) {
        RenderSettings.skybox = material;
        RenderSettings.ambientMode = AmbientMode.Custom;
        RenderSettings.ambientMode = AmbientMode.Skybox;
        DynamicGI.UpdateEnvironment();
    }
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.7k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05

Re: Как поменять environment reflection skybox через скрипт?

Сообщение NOVA 07 апр 2023, 17:33

Нет. Ничего не поменялось.
А нет там ReflectionMode? Я чот не нашёл. В окне Lighting skybox меняется. На бэке камеры skybox меняется. На материалах нет.
Нашёл в RendererExtensions - UpdateGIMaterials. Как пользоваться не понял. Как буд-то надо внести все meshrenderer'ы туда. Это очень неправославно.

Может обновиться на версию помоложе? Или что не так я не пойму... :((
Последний раз редактировалось NOVA 07 апр 2023, 18:24, всего редактировалось 1 раз.
Аватара пользователя
NOVA
Адепт
 
Сообщения: 1741
Зарегистрирован: 17 май 2011, 11:45
Откуда: Дядя Саша from Mother Russia

Re: Как поменять environment reflection skybox через скрипт?

Сообщение DbIMok 07 апр 2023, 18:20

в смысле не поменялось? у меня работает
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.7k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05

Re: Как поменять environment reflection skybox через скрипт?

Сообщение NOVA 07 апр 2023, 18:25

[quote="DbIMok"]в смысле не поменялось? у меня работает

На отражениях стандартных материалов работает? Именно на отражениях. На камере у меня тоже работает.
Ссылка - это проект? Если у Вас на отражениях работает качну, сверю настройки.
По теме ничего толкового даже на английском языке не могу загуглить.
Последний раз редактировалось NOVA 07 апр 2023, 18:31, всего редактировалось 1 раз.
Аватара пользователя
NOVA
Адепт
 
Сообщения: 1741
Зарегистрирован: 17 май 2011, 11:45
Откуда: Дядя Саша from Mother Russia

Re: Как поменять environment reflection skybox через скрипт?

Сообщение DbIMok 07 апр 2023, 18:31

а, я увидел где не меняется. посмотрю что с этим сделать
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.7k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05

Re: Как поменять environment reflection skybox через скрипт?

Сообщение NOVA 07 апр 2023, 18:32

DbIMok писал(а):а, я увидел где не меняется. посмотрю что с этим сделать

^:)^
Чтобы увидеть отражения скайбокса на стандартном шейдере надо выкрутить metallic и Smothness на максимум.
Аватара пользователя
NOVA
Адепт
 
Сообщения: 1741
Зарегистрирован: 17 май 2011, 11:45
Откуда: Дядя Саша from Mother Russia

Re: Как поменять environment reflection skybox через скрипт?

Сообщение DbIMok 08 апр 2023, 02:03

Синтаксис:
Используется csharp
using UnityEngine;

public class Test : MonoBehaviour
{

    [SerializeField]
    Material[] materials;

    [SerializeField]
    Cubemap[] cubemaps;

    void OnGUI() {
        GUILayout.BeginHorizontal();
        for (int i = 0; i < materials.Length; i++) {
            if (GUILayout.Button($"Material{i}")) {
                Change(materials[i], cubemaps[i]);
            }
        }
        GUILayout.EndHorizontal();
    }

    void Change(Material material, Cubemap cubemap) {
        RenderSettings.customReflection = cubemap;
        RenderSettings.skybox = material;
    }

}

Скрытый текст:
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.7k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05

Re: Как поменять environment reflection skybox через скрипт?

Сообщение NOVA 08 апр 2023, 10:07

Посмотрел. Спасибо.
Стало ясно что надо пользовать cubemap а не скайбокс. Позже попробую.
Аватара пользователя
NOVA
Адепт
 
Сообщения: 1741
Зарегистрирован: 17 май 2011, 11:45
Откуда: Дядя Саша from Mother Russia


Вернуться в Почемучка

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

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