Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
 Аватар для RaevskiAnatoly
34 / 35 / 12
Регистрация: 04.03.2017
Сообщений: 444

Какие свойства у шейдера должны быть, чтобы он мог использоваться как скайбокс шейдер

31.08.2018, 13:51. Показов 2060. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Мне нужен шейдер скайбокса, который позволит интерполировать переход от одной текстуры к другой. Решил эти 2 текстуры скайбокса делать через cubemap. У шейдера должно быть 3 свойства aCubeMap, bCubeMap, t. Кстати, в самом последнем патче юнити изменение face size cubeмапы приводит к крашу юнити, впрочем как и других свойств кубмапы. Шейдеры у меня получаются откровенно говоря, не получаются. Информации мало... Данные как-то сами влетают в переменные для шейдера, а как? В общем решил через Amplify Shader Editor делать шейдеры (визуальный редактор). Проблема в чем? Как вообще написать шейдер для скайбокса. Допустим, я вручную писал шейдер, который окрашивает все что может в определенный цвет, однако этот шейдер в качестве скайбокса не работал. В ампилфи я пробовал задавать теги:
RenderType=Background, PreviewType = Skybox и еще какой-то со значением background. В общем мне нужен простой пример рабочего шейдера для скайбокса, на ЧЕЛОВЕЧЕСКОМ CG или HLSL, но не дизассмебированный код стандартных шейдеров. Подводя итоги, чем можно помочь: код простого скайбокс шейдера на человеческом языке или готовый шейдер, обладающий вышеизложенными свойствами или что нужно сделать, чтобы шейдер в качестве скайбокса РАБОТАЛ.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
31.08.2018, 13:51
Ответы с готовыми решениями:

Следует дать конкретную постановку, т.е. указать, какие классы должны быть реализованы, какие должны быть в ни
Задание: Перечень классов: квитанция, накладная, документ, чек; Порядок выполнения работы 1. Определить иерархию классов (в...

Подумайте, какие свойства и методы должны быть у объектов класса Светофор
Добавьте в рассмотренную в параграфе модель светофоры (на дороге их может быть много). Подумайте, какие свойства и методы должны быть у...

Магазин видеоигр. Что нужно для функционирования магазина. Какие таблицы должны быть, какие запросы и какие отчеты
Я очень сильно запутался и я не могу себе представить, что нужно для функционирования магазина. Какие таблицы должны быть, какие запросы и...

1
Эксперт .NETАвтор FAQ
 Аватар для Storm23
10427 / 5157 / 1825
Регистрация: 11.01.2015
Сообщений: 6,226
Записей в блоге: 34
31.08.2018, 19:43
Лучший ответ Сообщение было отмечено RaevskiAnatoly как решение

Решение

Цитата Сообщение от RaevskiAnatoly Посмотреть сообщение
простой пример рабочего шейдера для скайбокса
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
Shader "Custom/SkyboxCubemap" {
    Properties{
        _Tint("Tint Color", Color) = (.5, .5, .5, .5)
        [Gamma] _Exposure("Exposure", Range(0, 8)) = 1.0
        _Rotation("Rotation", Range(0, 360)) = 0
        [NoScaleOffset] _Tex("Cubemap   (HDR)", Cube) = "grey" {}
    }
 
        SubShader{
        Tags{ "Queue" = "Background" "RenderType" = "Background" "PreviewType" = "Skybox" }
        Cull Off ZWrite Off
 
        Pass{
 
        CGPROGRAM
        #pragma vertex vert
        #pragma fragment frag
        #pragma target 2.0
 
        #include "UnityCG.cginc"
 
        samplerCUBE _Tex;
        half4 _Tex_HDR;
        half4 _Tint;
        half _Exposure;
        float _Rotation;
 
        float3 RotateAroundYInDegrees(float3 vertex, float degrees)
        {
            float alpha = degrees * UNITY_PI / 180.0;
            float sina, cosa;
            sincos(alpha, sina, cosa);
            float2x2 m = float2x2(cosa, -sina, sina, cosa);
            return float3(mul(m, vertex.xz), vertex.y).xzy;
        }
 
        struct appdata_t {
            float4 vertex : POSITION;
            UNITY_VERTEX_INPUT_INSTANCE_ID
        };
 
        struct v2f {
            float4 vertex : SV_POSITION;
            float3 texcoord : TEXCOORD0;
            UNITY_VERTEX_OUTPUT_STEREO
        };
 
        v2f vert(appdata_t v)
        {
            v2f o;
            UNITY_SETUP_INSTANCE_ID(v);
            UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
            float3 rotated = RotateAroundYInDegrees(v.vertex, _Rotation);
            o.vertex = UnityObjectToClipPos(rotated);
            o.texcoord = v.vertex.xyz;
            return o;
        }
 
        fixed4 frag(v2f i) : SV_Target
        {
            half4 tex = texCUBE(_Tex, i.texcoord);
            half3 c = DecodeHDR(tex, _Tex_HDR);
            c = c * _Tint.rgb * unity_ColorSpaceDouble.rgb;
            c *= _Exposure;
            return half4(c, 1);
        }
        ENDCG
    }
    }
 
    Fallback Off
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
31.08.2018, 19:43
Помогаю со студенческими работами здесь

Как установить связи? И какие типы отношений должны быть?
База данных для секретаря хоккейной команды

Для абстрактного класса определить какие методы должны быть абстрактными, а какие обычными.
1. Полную структуру классов и их взаимосвязь продумать самостоятельно. 2. Для абстрактного класса определить какие методы должны быть...

Как в программе сделать чтобы результат мог быть не целым ?
#include <iostream.h> int pop(int* first,int* last) { int sum=0; for(; first!=last; ++first) sum+= *first; return...

я учусь на высшке на программиста.. какие могут быть задачи на экзамене 1й курс .2й семестр!!.. должны быть классы!!
я учусь на высшке на программиста.. какие могут быть задачи на экзамене 1й курс .2й семестр!!.. должны быть классы!!.. например какие...

Какие температуры должны быть и как настроить оптимальную для моей системы частоту вращения куллера на видеокарте?
Недавно, точнее сегодня у меня появился новый комп. Я играю около 10-15 минут в батлу 3 или в блек опс и у меня вылетает синий...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru