12

Godot 3: Бесшовное наложение шейдерной текстуры на игровое поле

Показан способ как в Godot Engine получить пиксели экрана позади текстуры внутри фрагментного шейдера. Ссылки на доки по миграции шейдеров в Godot и на способы получения доступа к пикселям экрана из шейдера в описании к видео на ютуб.


Оригинал шейдера огненного шара здесь - https://www.shadertoy.com/view/lsf3RH

Дубликаты не найдены

Лига Разработчиков Видеоигр

3.9K постов18.2K подписчиков

Добавить пост

Правила сообщества

ОБЩИЕ ПРАВИЛА:

-Уважайте чужой труд и используйте конструктивную критику

-Не употребляйте мат без необходимости

-Не занимайтесь саморекламой, пишите качественные и интересные посты


СТОИТ ПУБЛИКОВАТЬ:

-Пост о Вашей игре, желательно - с историей разработки и описанием полученного опыта

-Обучающие посты, туториалы

-Интервью с именитыми разработчиками

-Анонсы бесплатных мероприятий для разработчиков и истории их посещения;
-Ваши работы, если Вы художник/композитор и хотите поделиться ими на безвозмездной основе

НЕ НУЖНО ПУБЛИКОВАТЬ:

-Только гифки/арты/скриншоты из игры. Такие материалы могут сопровождать рассказ об игре или обучающий туториал, но не должны являться основой поста

-Посты, единственная цель которых - набор команды для разработки игры по вашей  гениальной идее

-Посты, не относящиеся к тематике сообщества

Подобные посты по решению администрации могут быть перемещены из сообщества в общую ленту.

ЗАПРЕЩЕНО:

-Публиковать бессодержательный пост с рекламой Вашего проекта (см. следующий пункт), а также все прочие посты, содержащие рекламу/рекламные интеграции

-Выдавать чужой труд за свой

Подобные посты будут удалены, а авторы таких постов будут внесены в игнор-лист сообщества.


О РАЗМЕЩЕНИИ ССЫЛОК:

Ссылка на сторонний ресурс, связанный с игрой, допускается только при следующих условиях:

-Пост должен быть содержательным и интересным для пользователей

-Ссылка должна размещаться непосредственно в начале или конце поста и только один раз.

-Cсылка размещается в формате: "Страница игры в Steam: URL"

Подробнее
+3

Ладно, уговорил, подписался)

PS. Бро, купи микрофон. Самый неприхотливый вариант – USB микрофон приличного качества. У меня AT2020 USB+, стоит каждой копейки, звук без шумов и вот этой ерунды.


PPS. Любой урок нужно писать ПО СЦЕНАРИЮ, сейчас это заметки какие-то на полях, очень обрывистые штуки. Многие будут ставить минуса за этот формат. Даже короткие видео можно делать по плану и нормально подавать. Ну и дикцию прокачивай, куда без неё.


На всякий пример моего видео:

YouTube13:47
раскрыть ветку 9
+2
О, это твое видео? С него собственно мой путь в геймдев начался, спасибо тебе большое)
раскрыть ветку 3
+1

Дружище, спасибо огромное за это видео! Оно очень вовремя попалось мне прошлым летом, когда со связки Python + Pygame чуть было не пересел на Unity или что похуже. В результате просмотра впервые узнал про Godot, тут же пощупал его, влюбился и с тех пор ни разу не пожалел.

P. S. Твоя озвучка действительно приятная, редкий случай, когда жена не попросила меня сразу же переключиться на наушники :)

раскрыть ветку 2
0

Спасибо за советы, подумаю как лучше сделать. Да, твое видео классное! Скорее всего, на него ушло много времени. Я же свои делаю по ходу работы над игрой минимально отвлекаясь. Только с целью показать наглядно вопросы, на решение которых потратил больше времени, чем хотелось бы. Чтобы потом через поиск это могли найти те, кто будет думать над похожей проблемой.

раскрыть ветку 1
Похожие посты
33

Дневник разработки игры на Godot Engine || devlog#01

Дневник разработки игры на Godot Engine || devlog#01 Инди, Gamedev, Pixel Art, Godot Engine, Видео, Длиннопост
Дневник разработки игры на Godot Engine || devlog#01 Инди, Gamedev, Pixel Art, Godot Engine, Видео, Длиннопост
Дневник разработки игры на Godot Engine || devlog#01 Инди, Gamedev, Pixel Art, Godot Engine, Видео, Длиннопост
Дневник разработки игры на Godot Engine || devlog#01 Инди, Gamedev, Pixel Art, Godot Engine, Видео, Длиннопост
Дневник разработки игры на Godot Engine || devlog#01 Инди, Gamedev, Pixel Art, Godot Engine, Видео, Длиннопост
Дневник разработки игры на Godot Engine || devlog#01 Инди, Gamedev, Pixel Art, Godot Engine, Видео, Длиннопост
Дневник разработки игры на Godot Engine || devlog#01 Инди, Gamedev, Pixel Art, Godot Engine, Видео, Длиннопост
Показать полностью 6
37

Эффект силового поля (шейдер)

Эффект силового поля (шейдер) Шейдеры, Unity3d, VFX, Gamedev, Гифка, Длиннопост, Силовое поле
Эффект силового поля (шейдер) Шейдеры, Unity3d, VFX, Gamedev, Гифка, Длиннопост, Силовое поле
Эффект силового поля (шейдер) Шейдеры, Unity3d, VFX, Gamedev, Гифка, Длиннопост, Силовое поле
Эффект силового поля (шейдер) Шейдеры, Unity3d, VFX, Gamedev, Гифка, Длиннопост, Силовое поле
Эффект силового поля (шейдер) Шейдеры, Unity3d, VFX, Gamedev, Гифка, Длиннопост, Силовое поле
Эффект силового поля (шейдер) Шейдеры, Unity3d, VFX, Gamedev, Гифка, Длиннопост, Силовое поле
Показать полностью 3
26

Puzzle of life - Проработка эффектов и анимаций взаимодействия

65

Создание интерактивного снега с помощью Godot

Создание интерактивного снега с помощью Godot Gamedev, Godot, Godot Engine, Гифка, Видео
102

Генератор землеподобных  планет на Godot

Генератор землеподобных  планет на Godot Gamedev, Godot Engine, Гифка, Длиннопост
Генератор землеподобных  планет на Godot Gamedev, Godot Engine, Гифка, Длиннопост
Генератор землеподобных  планет на Godot Gamedev, Godot Engine, Гифка, Длиннопост
Генератор землеподобных  планет на Godot Gamedev, Godot Engine, Гифка, Длиннопост
Генератор землеподобных  планет на Godot Gamedev, Godot Engine, Гифка, Длиннопост
Генератор землеподобных  планет на Godot Gamedev, Godot Engine, Гифка, Длиннопост
Генератор землеподобных  планет на Godot Gamedev, Godot Engine, Гифка, Длиннопост
Генератор землеподобных  планет на Godot Gamedev, Godot Engine, Гифка, Длиннопост
Генератор землеподобных  планет на Godot Gamedev, Godot Engine, Гифка, Длиннопост
Показать полностью 8
114

Space Simulation Toolkit


Показать полностью
25

Godot 3: Локализация игры на разных языках. Управление переводами.

273

Красивый туман в Unity3d с высокой оптимизацией

Красивый туман в Unity3d с высокой оптимизацией Unity3d, Gamedev, Туман, Мобильные игры, Разработка игр, Шейдеры, Indiedev, Fog, Длиннопост
Красивый туман в Unity3d с высокой оптимизацией Unity3d, Gamedev, Туман, Мобильные игры, Разработка игр, Шейдеры, Indiedev, Fog, Длиннопост
Красивый туман в Unity3d с высокой оптимизацией Unity3d, Gamedev, Туман, Мобильные игры, Разработка игр, Шейдеры, Indiedev, Fog, Длиннопост
Shader "Mobile/CustomFogCube"
{
Properties
{
_FogStart("Fog Start", float) = 0 //объявляем наши новые переменные для тумана
_FogEnd ("Fog End", float) = 50

}
SubShader
{
Tags{ "RenderType" = "Opaque" }
Fog{ Mode off }
Pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#pragma multi_compile _ LIGHTMAP_ON
#include "UnityCG.cginc"
half _FogStart;  //определяем новые переменные в рамках CGPROGRAM
half _FogEnd;

struct appdata
{
float4 vertex : POSITION;
float4 color : COLOR;
float4 uv : TEXCOORD1;
};
struct v2f
{
float4 pos : SV_POSITION;
float4 uv : TEXCOORD1;
half fog : TEXCOORD2;  //добавляем новую переменную для расчета расстояния отображения тумана и последующей передачи в fragment функцию
float4 color : COLOR;
half3 viewDir : TEXCOORD3;
};
v2f vert(appdata v)
{
v2f o;
o.color = v.color;
o.pos = UnityObjectToClipPos(v.vertex);
//lightmaps
o.uv.xy = v.uv.xy * unity_LightmapST.xy + unity_LightmapST.zw;
//fog высчитываем положение тумана в зависимости от заданных значений
half fogz = UnityObjectToViewPos(v.vertex).z;
o.fog = saturate((fogz + _FogStart) / (_FogStart - _FogEnd));

float3 worldPos = mul(unity_ObjectToWorld, v.vertex).xyz;
o.viewDir = -(normalize(UnityWorldSpaceViewDir(worldPos)));
return o;
}
half4 frag(v2f i) : COLOR
{
UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(i);
fixed4 c = i.color * 0.5;
//lightmaps
#ifdef LIGHTMAP_ON
  fixed4 lm = UNITY_SAMPLE_TEX2D(unity_Lightmap, i.uv.xy);
c.rgb *= lm.rgb * 4;
#endif
//fog заменяем плавно цвет поверхности на цвет кубомапы (он же наш туман). Кубомапу нужно задать в настройках освещение (Lighting > Scene > Environment Reflection > Source = Custom > Cubemap = Ваша кубомапа)
half4 fogCube = UNITY_SAMPLE_TEXCUBE(unity_SpecCube0, i.viewDir);
return lerp(c, fogCube, i.fog);

}
ENDCG
}
}
Fallback "Mobile/VertexLit"
}
Красивый туман в Unity3d с высокой оптимизацией Unity3d, Gamedev, Туман, Мобильные игры, Разработка игр, Шейдеры, Indiedev, Fog, Длиннопост
Показать полностью 2
186

Магия шейдеров 6: Glitch-эффект с аберрацией

Магия шейдеров 6: Glitch-эффект с аберрацией Shadermagic, Coremission, Gamedev, Магияшейдеров, Шейдеры, Гифка
Магия шейдеров 6: Glitch-эффект с аберрацией Shadermagic, Coremission, Gamedev, Магияшейдеров, Шейдеры, Гифка
Магия шейдеров 6: Glitch-эффект с аберрацией Shadermagic, Coremission, Gamedev, Магияшейдеров, Шейдеры, Гифка
Показать полностью 1
121

2D Water в Unity 3D

2D Water в Unity 3D Unity3d, Pixel Art, Шейдеры, Gamedev, Длиннопост, Гифка
2D Water в Unity 3D Unity3d, Pixel Art, Шейдеры, Gamedev, Длиннопост, Гифка
2D Water в Unity 3D Unity3d, Pixel Art, Шейдеры, Gamedev, Длиннопост, Гифка
2D Water в Unity 3D Unity3d, Pixel Art, Шейдеры, Gamedev, Длиннопост, Гифка
2D Water в Unity 3D Unity3d, Pixel Art, Шейдеры, Gamedev, Длиннопост, Гифка
2D Water в Unity 3D Unity3d, Pixel Art, Шейдеры, Gamedev, Длиннопост, Гифка
2D Water в Unity 3D Unity3d, Pixel Art, Шейдеры, Gamedev, Длиннопост, Гифка
2D Water в Unity 3D Unity3d, Pixel Art, Шейдеры, Gamedev, Длиннопост, Гифка
2D Water в Unity 3D Unity3d, Pixel Art, Шейдеры, Gamedev, Длиннопост, Гифка
2D Water в Unity 3D Unity3d, Pixel Art, Шейдеры, Gamedev, Длиннопост, Гифка
2D Water в Unity 3D Unity3d, Pixel Art, Шейдеры, Gamedev, Длиннопост, Гифка
2D Water в Unity 3D Unity3d, Pixel Art, Шейдеры, Gamedev, Длиннопост, Гифка
2D Water в Unity 3D Unity3d, Pixel Art, Шейдеры, Gamedev, Длиннопост, Гифка
2D Water в Unity 3D Unity3d, Pixel Art, Шейдеры, Gamedev, Длиннопост, Гифка
Показать полностью 12
133

Магия шейдеров 4: Рецепт развевающейся на ветру ткани

Магия шейдеров 4: Рецепт развевающейся на ветру ткани Магияшейдеров, Shadermagic, Coremission, Gamedev, Шейдеры, Гифка
80

Визуальный редактор скриптов в Godot Engine

Визуальный редактор скриптов в Godot Engine Godot Engine, Unreal Engine, Gamedev
Похожие посты закончились. Возможно, вас заинтересуют другие посты по тегам: