Pull to refresh
0
Стоянов Денис @xGromMxread⁠-⁠only

User

Send message

Дайджест свежих материалов из мира фронтенда за последнюю неделю №362 (22 — 28 апреля 2019)

Reading time3 min
Views10K
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.


Читать дальше →
Total votes 28: ↑28 and ↓0+28
Comments0

Thinking with Portals: создаём порталы в Unreal Engine 4

Reading time32 min
Views19K
image

В этой статье я расскажу, как создавать порталы в Unreal Engine 4. Я не нашёл никаких источников, подробно описывающих такую систему (наблюдение сквозь порталы и проход через них), поэтому решил написать собственную.

Что такое портал?


Давайте начнём с примеров и объяснения того, что такое портал. Проще всего описать порталы как способ прохода из одного пространство в другое. В некоторых популярных играх эта концепция используется для визуальных эффектов и даже для геймплейных механик:

Примеры порталов в играх (GIF)


Antichamber (2013 год) и Portal (2007 год)


Prey, 2006 год

Из трёх игр самой известной, вероятно, является Portal, однако лично меня всегда восхищала Prey и именно её я мечтал скопировать. Однажды я попробовал реализовать собственную версию в Unreal Engine 4, но не особо преуспел, потому что в движке не хватало функционала. Тем не менее, мне удалось провести вот такие эксперименты:


Однако только в новых версиях Unreal Engine мне наконец-то удалось добиться нужного эффекта:

Total votes 33: ↑31 and ↓2+29
Comments13

Дайджест свежих материалов из мира фронтенда за последнюю неделю №361 (15 — 21 апреля 2019)

Reading time3 min
Views12K
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.


Читать дальше →
Total votes 25: ↑25 and ↓0+25
Comments3

Дайджест свежих материалов из мира фронтенда за последнюю неделю №360 (7 — 14 апреля 2019)

Reading time4 min
Views13K
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.

Кстати, на днях этому дайджесту исполнилось 7 лет. Спасибо всем причастным :)


Читать дальше →
Total votes 25: ↑25 and ↓0+25
Comments2

Дайджест свежих материалов из мира фронтенда за последнюю неделю №359 (1 — 7 апреля 2019)

Reading time3 min
Views12K
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.


Читать дальше →
Total votes 30: ↑30 and ↓0+30
Comments1

Создаём собственный игровой контроллер

Reading time13 min
Views39K

Источник вдохновения


На игровых выставках разработчики Objects in Space показывали демо своей игры с контроллером на кокпите огромного космического корабля. Он был дополнен загорающимися кнопками, аналоговыми приборами, световыми индикаторами состояния, переключателями и т.д… Это сильно влияет на погружение в игру:


На сайте игры выложен туториал по Arduino с описанием коммуникационного протокола для подобных контроллеров.

Я хочу создать то же самое для своей игры

В этом примере я потрачу примерно 40 долларов, чтобы добавить красивые, большие и тяжёлые переключатели на кокпит симулятора гонок. Основные затраты связаны с этими самыми переключателями — если бы я использовал простые переключатели/кнопки, то цена была в два раза ниже! Это настоящее оборудование, способное выдерживать 240 Вт мощности, а я буду пускать по ним только примерно 0,03 Вт.

Предупреждение: я решил сэкономить, поэтому оставляю ссылку на дешёвый китайский веб-сайт, где закупаю кучу разных компонентов/инструментов. Один из недостатков покупки компонентов по дешёвке заключается в том, что часто у них нет никакой документации, поэтому в статье я решу и эту проблему.
Читать дальше →
Total votes 44: ↑40 and ↓4+36
Comments19

Физика игрового торнадо: как реализована аэродинамика в Just Cause 4 (трафик)

Reading time23 min
Views9.8K
Жак Кернер — старший инженер-разработчик ПО в Avalanche Studios.


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

Введение


Серия игр Just Cause и Avalanche Studios известны своей технологией открытого мира, обеспечивающего разнообразный и увлекательный игровой процесс. В последней версии игры — Just Cause 4 — добавлены ветер и погодные катаклизмы, ставшие новинкой в стеке технологий, углубляющих игровой процесс. Но экстремальные природные условия изначально задумывались не просто как способ симуляции более правдоподобного мира. Ярость природы управляется силами зла, противостоящими Рико Родригесу. Мы намеревались сделать так, чтобы ветер проявлялся более явно и экстремальные погодные условия не выглядели как внезапные события, чуждые этому миру. В этой статье представлены техники, разработанные нами для реализации ветра во всех его проявлениях с физической точки зрения, а также реакции на него всех объектов.

[Под катом около 120 МБ файлов GIF]
Читать дальше →
Total votes 35: ↑34 and ↓1+33
Comments5

Углубимся в историю: откуда растут ноги у квадрокоптеров

Reading time12 min
Views21K


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

Однако, до недавнего времени машины с вертикальным взлетом и на электрической тяге были всего лишь недостижимой мечтой. Как же это стало возможным и почему никто их не делал раньше? Кто первым смог поднять электровертолет в воздух? Давайте посмотрим историю появления в нашем небе многопропеллерных жужжалок.
Total votes 27: ↑26 and ↓1+25
Comments100

Равномерное распределение точек в треугольнике

Reading time6 min
Views10K
Большинство двухмерных квазислучайных методов рассчитано на сэмплирование в единичном квадрате. Однако в компьютерной графике также очень важны треугольники. Поэтому я описал простой метод прямого построения для равномерного покрытия последовательностью точек треугольника произвольной формы.


Рисунок 1. Новый прямой метод построения открытой (бесконечной) квазислучайной последовательности с низким расхождением в треугольнике произвольной формы и размера. На рисунке показаны распределения точек в пятнадцати случайных треугольниках для первых 150 точек.

Краткий обзор


Последовательности с низким расхождением (low discrepancy), равномерно сэмплирующие/заполняющие квадрат, активно изучались почти сотню лет. БОльшую часть этих квазислучайных последовательностей можно расширить до прямоугольников простым растягиванием, не сильно повредив при этом расхождению.

Однако в этом посте мы рассмотрим интересное и важное расширение последовательностей с низким расхождением на произвольный треугольник.
Читать дальше →
Total votes 37: ↑37 and ↓0+37
Comments0

Невозможная сковорода и другие победы плиток Пенроуза

Reading time8 min
Views46K
image

В 1974 году британский математик Роджер Пенроуз создал революционный набор плиток, который можно использовать для заполнения бесконечной плоскости никогда не повторяющимся узором. В 1982 году израильский кристаллограф Даниэль Шехтман открыл металлический сплав, атомы которого были выстроены в порядке, никогда ранее не встречавшемся в материаловедении. Пенроуз достиг масштабного общественного признания, редко достающегося математикам. Шехтман получил Нобелевскую премию. Оба учёных бросили вызов человеческой интуиции и изменили основы понимания структуры природы, обнаружив, что бесконечная вариативность может возникать даже в высокоупорядоченной среде.
Читать дальше →
Total votes 119: ↑119 and ↓0+119
Comments25

Дайджест свежих материалов из мира фронтенда за последнюю неделю №352 (11 — 17 февраля 2019)

Reading time3 min
Views16K
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.


Читать дальше →
Total votes 33: ↑32 and ↓1+31
Comments10

Шум Перлина, процедурная генерация контента и интересное пространство

Reading time9 min
Views16K
Наверно худшее, что случилось в области процедурной генерации контента (если считать, что это действительно область процедурной генерации контента, в чём я уверен не полностью) — это шум Перлина. Шум Перлина невероятно хорошо подходит (по крайней мере, если не приглядываться слишком внимательно) для генерации интересных ландшафтов. В сабреддите /r/proceduralgeneration недели не проходит без того, чтобы кто-нибудь не опубликовал «систему процедурной генерации», которая оказывается визуализированным разными цветами шумом Перлина. (За время написания этой статьи появилось два таких поста!)


Я не хочу унизить шум Перлина. Это невероятно полезный для процедурной генерации инструмент, ставший точкой входа в эту область для множества людей, в том числе и меня. Но в то же время он очень сбивает с толку, потому что подразумевает, что процедурная генерация намного проще, чем это есть на самом деле. Большинство еженедельных постов о «системах процедурной генерации» в /r/proceduralgeneration исчезают без следа, когда их авторы обнаруживают, что следующий шаг в процедурной генерации гораздо сложнее. Истина в том, что шум Перлина стал своего рода счастливой случайностью. Он отлично подходит для генерации интересных ландшафтов, но на то нет систематических или повторяемых причин.
Читать дальше →
Total votes 30: ↑30 and ↓0+30
Comments6

Как работает Level Flow в Uncharted 4 и The Last Of Us

Reading time8 min
Views9.6K
image

В течение последних месяцев я исследовал несколько разных игр, в том числе «Uncharted 4» и «The Last of Us» (разработанные Naughty Dog).

Цель этой статьи — познакомить вас с дизайном уровней и дать мотивацию к его дальнейшему изучению. Я вкратце расскажу о различных элементах level flow, которые дизайнеры уровней могут использовать, чтобы при создании мира принимать осознанные решения.

1 — Введение: что такое level flow


Моё определение термина:

«Когда игрок знает, что делать и куда идти, но не всегда знает, как достичь этого и двигаться по направлению к цели».

(Ключевое слово: восприятие пространства)

Это состояние, в котором игрок испытывает удовольствие, перемещаясь по уровню. Оно рука об руку идёт с game flow.

Это определение довольно размытое, потому что level flow — это широкая тема. Для простоты я разделю «level flow» на четыре (4) более мелких элемента. С высокоуровневой точки зрения, это элементы, которые дизайнеры уровней используют, чтобы направлять игроков.
Total votes 31: ↑29 and ↓2+27
Comments9

2D-тени на Signed Distance Fields

Reading time9 min
Views5.4K
Теперь, когда мы знаем основы комбинирования функций расстояний со знаком, можно использовать их для создания крутых вещей. В этом туториале мы применим их для рендеринга мягких двухмерных теней. Если вы пока не читали моих предыдущих туториалов о полях расстояний со знаком (signed distance fields, SDF), то крайне рекомендую их изучить, начав с туториала о создании простых фигур.


[В GIF возникли дополнительные артефакты при пересжатии.]
Читать дальше →
Total votes 34: ↑34 and ↓0+34
Comments5

Дайджест свежих материалов из мира фронтенда за последнюю неделю №351 (4 — 10 февраля 2019)

Reading time4 min
Views13K
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.


Читать дальше →
Total votes 30: ↑29 and ↓1+28
Comments1

Пространственные манипуляции в 2D с помощью Signed Distance Fields

Reading time16 min
Views2.8K
При работе с полигональными ассетами можно отрисовывать только по одному объекту за раз (если не учитывать такие приёмы, как batching и instancing), но если использовать поля расстояний со знаком (signed distance fields, SDF), то мы не этим не ограничены. Если две позиции имеют одинаковую координату, то функции расстояний со знаком возвратят одинаковое значение, и за одно вычисление мы можем получить несколько фигур. Чтобы понять, как преобразовывать пространство, используемое для генерации полей расстояний со знаком, я рекомендую разобраться, как создавать фигуры с помощью функций расстояний со знаком и комбинировать sdf-фигуры.

Читать дальше →
Total votes 23: ↑21 and ↓2+19
Comments0

Основы Signed Distance Field в 2D

Reading time17 min
Views15K
Хотя меши являются простейшим и наиболее универсальным способом рендеринга, существуют и другие варианты представления фигур в 2d и 3d. Одним из часто используемых способов являются поля расстояний со знаком (signed distance fields, SDF). Поля расстояний со знаком обеспечивают менее затратную трассировку лучей, позволяют разным фигурам плавно перетекать друг в друга и экономить на текстурах низкого разрешения для высококачественных изображений.

Мы начнём с генерации полей расстояний со знаком с помощью функций в двух измерениях, но позже продолжим генерировать их в 3D. Я буду использовать координаты мирового пространства, чтобы у нас была как можно меньшая зависимости от масштабирования и UV-координат, поэтому если вы не понимаете, как это работает, то изучите этот туториал по плоскому наложению, в котором объяснено, что происходит.

Читать дальше →
Total votes 15: ↑15 and ↓0+15
Comments5

Комбинирование Signed Distance Fields в 2D

Reading time15 min
Views3.5K
В предыдущем туториале мы научились создавать и перемещать простые фигуры с помощью функций расстояний со знаком. В этой статье мы научимся комбинировать несколько фигур для создания более сложных полей расстояний. Большинству описанных здесь техник я научился из библиотеки функций расстояний со знаком на glsl, которую можно найти здесь. Также существует несколько способов комбинирования фигур, которые я здесь не рассматриваю.


Подготовка


Для визуализации полей расстояний со знаком (signed distance fields, SDF) мы будем использовать одну простую конфигурацию, а затем применим к ней операторы. Для отображения полей расстояний в ней будет использоваться визуализация линий расстояний из первого туториала. Ради упрощения мы будем задавать все параметры за исключением параметров визуализации в коде, но вы можете заменить любое значение свойством, чтобы сделать его настраиваемым.
Читать дальше →
Total votes 16: ↑16 and ↓0+16
Comments0

Управление персонажем с помощью SharedEvents

Reading time10 min
Views6K

Ссылка на проект

В данной статье я хочу показать, как можно использовать SharedEvents для управления персонажем от третьего лица, который предлагает стандартный набор ассетов. О SharedEvents я писал в предыдущих статьях (этой и в этой).

Добро пожаловать под кат!
Total votes 21: ↑16 and ↓5+11
Comments12

Генерация барьерных островов

Reading time5 min
Views12K
В декабрьских новостях об урагане Флоренс часто упоминались Внешние отмели — ряд барьерных островов на побережье Северной Каролины:


Барьерные острова — это плоские или глыбистые участки песка, формируемые волнами и прибоем параллельно побережью материка. Они часто имеют вид длинных цепочек, которые могут тянуться на многие десятки миль. Барьерные острова обычно разделены небольшими приливными протоками, и могут формировать лагуны между островами и материком.

По данным Википедии, барьерные острова могут закрывать до 15% побережья, поэтому можно ожидать увидеть их на большинстве фэнтезийных карт, но на самом деле они довольно редки. А из-за природы шума их почти никогда не бывает на процедурно генерируемых картах, в которых для создания рельефа используется шум.

Чтобы понять, почему это так, давайте взглянем на «ванильную» карту острова:
Читать дальше →
Total votes 48: ↑48 and ↓0+48
Comments12

Information

Rating
Does not participate
Location
Украина
Date of birth
Registered
Activity