Pull to refresh
65
0
Александр Симилетов @elmm

User

Send message

Введение в октодеревья

Reading time31 min
Views40K


Что такое октодеревья? Если вам совершенно неизвестно это понятие, то рекомендую прочитать статью в Википедии (это займёт около пяти минут). Она даёт достаточное представление, но едва ли её будет достаточно, чтобы понять, для чего они используются и как их реализовать.

В этой статье я постараюсь рассказать обо всех этапах, необходимых для создания структуры данных октодеревьев, на примере объяснения концепций, иллюстраций и кода. Также я опишу свои решения, которые принимал на каждом из этапов. Не думайте, что эта статья будет единственно верным руководством к реализации октодеревьев, но она должна дать вам хороший фундамент и её можно использовать для справки.
Читать дальше →

Процедурное создание зданий

Reading time5 min
Views26K
image

Эйвинд Фиксдаль (Øyvind Fiksdal) поделился подробностями процедурного процесса создания дома и ландшафта в Houdini и рассказал о преимуществах такого подхода.


Введение


Меня зовут Эйвинд Фиксдаль, я норвежский художник, раньше работавший в основном с традиционным исскуством. Ближе к тридцати годам я решил полностью сосредоточиться на 3D и поступил на двухлетние курсы 3D и анимации. Спустя какое-то время я устроился на работу в одно из крупнейших рекламных агентств в Норвегии.

Работа в рекламной отрасли открывала все двери, но работа на одну компанию не дала мне возможностей реализации, поэтому я стал фрилансером. Через два года фриланса мы с бывшим коллегой решили объединиться и создать компанию под названием Trollskog.

Как создать игровой ИИ: гайд для начинающих

Reading time31 min
Views102K


Наткнулся на интересный материал об искусственном интеллекте в играх. С объяснением базовых вещей про ИИ на простых примерах, а еще внутри много полезных инструментов и методов для его удобной разработки и проектирования. Как, где и когда их использовать — тоже есть.

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

UPD. Извиняюсь, но собственный перевод этой статьи на Хабре уже делал PatientZero. Прочитать его вариант можно здесь, но почему-то статья прошла мимо меня (поиском пользовался, но что-то пошло не так). А так как пишу в блог, посвященный геймдеву, решил оставить свой вариант перевода для подписчиков (некоторые моменты у меня оформлены по-другому, некоторые — намеренно пропущены по совету разработчиков).
Читать дальше →

Написание шейдеров в Unity. GrabPass, PerRendererData

Reading time9 min
Views29K
Привет! Я хотел бы поделиться опытом написания шейдеров в Unity. Начнем с шейдера искажения пространства (Displacement/Refraction) в 2D, рассмотрим функционал, используемый для его написания (GrabPass, PerRendererData), а также уделим внимание проблемам, которые обязательно возникнут.

Информация пригодится тем, кто имеет общее представление о шейдерах и пробовал их создавать, но мало знаком с возможностями, которые предоставляет Unity, и не знает с какой стороны подступиться. Загляните, возможно, мой опыт поможет вам разобраться.


Читать дальше →

Шейдеры растворения и исследования мира

Reading time9 min
Views26K

Часть 1: шейдер растворения


Шейдер растворения возвращает красивый эффект, к тому же его легко создать и понять; сегодня мы сделаем его в Unity Shader Graph, а также напишем на HLSL.

Вот пример того, что мы будем создавать:



Как это работает


Чтобы создать шейдер растворения (dissolve shader), нам придётся работать со значением AlphaClipThreshold в шейдере «Shader Graph» или воспользоваться функцией HLSL под названием clip.

По сути, мы прикажем шейдеру не рендерить пиксель на основании текстуры и переданного значения. Нам нужно знать следующее: белые части растворяются быстрее.
Читать дальше →

Unity & Vive: Tutorial

Reading time12 min
Views28K

Решил в отпуске изучить разработку под Vive в Unity3D. Погуглил парочку примеров и начал пробовать, но почему то не работало. Начав подробней разбираться и обнаружил, что Valve выкатили недавно обновление плагина для Unity3D — новая, сильно переделанная версия. В ней появилось парочка принципиальных новшеств, которые сделали старые tutorial'ы не актуальными. Решил написать новый


Еще одна система частиц. Постмортем

Reading time10 min
Views9.8K
image

В сентябре этого года должна была выйти мобильная игра Titan World от Unstoppable – минского офиса Glu mobile. Проект отменили прямо перед мировым релизом. Но наработки остались, и наиболее интересными из них, с любезного разрешения хэдов студии Dennis Zdonov и Alex Paley, хотелось бы поделиться с общественностью.
Подробности

Иллюзия пространства: как новый Spiderman рендерит помещения без геометрии

Reading time5 min
Views47K

В недавно выпущенной игре Marvel's Spider-Man во многих зданиях за окнами есть интерьеры. Они выглядят замечательно, но похоже, что их реализовали с помощью хитрого рендеринга — геометрии интерьеров на самом деле не существует и она сгенерирована шейдером. Я не видел никаких официальных заявлений Insomniac о том, как они это сделали, но исходя из того, как выглядит эффект, здесь с большой вероятностью реализована техника interior mapping, которую я придумал в 2007 году в процессе работы над диссертацией. Раньше я не писал о ней в блоге, поэтому сейчас подходящий момент для объяснения любопытного небольшого шейдера, который я придумал.

Давайте начнём с просмотра геймплея Marvel's Spider-Man. Игра выглядит просто потрясающе. Сайт Kotaku записал отдельный ролик, посвящённый окнам:


Как можно заметить примерно на 40 секунде видео, в самом деле комнаты не являются частью геометрии: там где очевидно должно быть окно, находится дверь. Кроме того, глядя в одну комнату с разных углов здания, мы видим разный интерьер. В некоторых случаях за углом здания даже находится стена. Всё это даёт нам понять, что комнаты имитируются. Тем не менее, с точки зрения перспективы они отображаются правильно и обладают реальной глубиной.

Комбинированный датчик, с преферансом и поэтессами

Reading time7 min
Views37K
Сначала мы делали датчик температуры и влажности для офисов в красивом настенном корпусе с интерфейсом RS-485 Modbus, но пока делали, аппетиты немного выросли.

В итоге, в компактный корпус вместили датчики:
— концентрации СО2,
— температуры/влажности
— освещенности
— шума
— концентрации VOC — «летучих органических веществ (ЛОВ)»
— движения

А также:
— ИК-передатчик (с приемником для обучения)
— а еще умеет пищать и моргать «глазом» красным/зеленым
Читать дальше →

Рисование с помощью Render Targets в Unreal Engine

Reading time8 min
Views17K

Render target — это, по сути, текстура, в которую можно выполнять запись во время выполнения приложения. С точки зрения движка они хранят такую информацию, как базовый цвет, нормали и ambient occlusion.

С точки зрения пользователя render target в основном используются в качестве своего рода дополнительной камеры. Можно задать захват сцены (scene capture) в какой-то точке и сохранять изображение в render target. Затем можно отобразить render target на меше, например, для симуляции камеры наблюдения.

После выпуска версии движка 4.13 компания Epic добавила возможность отрисовки материалов непосредственно на render target с помощью блюпринтов. Эта функция позволяет создавать сложные эффекты, например, симуляцию жидкости и деформацию снега. Звучит потрясающе, правда? Но прежде чем переходить к таким сложным эффектам, лучше всего освоиться с чем-то простым. Что может быть проще, чем рисование на render target?

В этом туториале вы научитесь следующему:

  • Динамически создавать render target с помощью блюпринтов
  • Отображать render target на меше
  • Рисовать текстуру на render target
  • Менять размер кисти и текстуру во время игрового процесса
Читать дальше →

Туториал по Unreal Engine. Часть 1: знакомство с движком

Reading time12 min
Views713K
image

Unreal Engine 4 — это набор инструментов для разработки игр, имеющий широкие возможности: от создания двухмерных игр на мобильные до AAA-проектов для консолей. Этот движок использовался при разработке таких игр, как ARK: Survival Evolved, Tekken 7 и Kingdom Hearts III.

Разработка в Unreal Engine 4 очень проста для начинающих. С помощью системы визуального создания скриптов Blueprints Visual Scripting можно создавать готовые игры, не написав ни строчки кода! В сочетании с удобным интерфейсом это позволяет быстро изготавливать рабочие прототипы.

В этой части туториала по Unreal Engine 4 мы ознакомимся с основными возможностями программы. Вот основные темы, которые будут в нём рассмотрены:

  • Установка движка
  • Импорт ассетов
  • Создание материалов
  • Использование Blueprints для создания объектов с простейшими функциями
Читать дальше →

Эффект акрасии: почему мы не выполняем своих планов, и что с этим делать

Reading time5 min
Views32K

Виктор Гюго; фотографию сделал Этьен Карьят в 1876

К лету 1830 года Виктор Гюго столкнулся с невозможным дедлайном. За двенадцать месяцев до этого знаменитый французский автор договорился со своим издателем, что напишет для него новую книгу, "Собор Парижской Богоматери".

Но вместо работы над книгой, весь год Гюго занимался другими проектами, развлекал гостей, и откладывал работу с текстом. Его издатель всё больше раздражался из-за продолжавшейся прокрастинации автора, и среагировал, установив пугающий крайний срок для сдачи книги. Он потребовал, чтобы Гюго закончил книгу к февралю 1831 – то есть, менее, чем за шесть месяцев.

Гюго разработал план борьбы с прокрастинацией. Он собрал всю одежду, вынес её из комнат и закрыл её на замок. Ему больше нечего было надеть, кроме большой шали. В отсутствии подходящей одежды для выхода наружу, Гюго больше не испытывал искушения покидать дом и отвлекаться. Ему оставалось лишь оставаться дома и писать.
Читать дальше →

Windows Mixed Reality: руководство для разработчиков (Часть 1)

Reading time9 min
Views8.6K
Привет, Хабр! Сегодня мы начинаем цикл статей по Windows Mixed Reality. В его рамках мы с нуля разработаем приложение со смешанной реальностью на Unity. Кстати, все это будет проходить в формате lab work (лабораторной работы), то есть вы сможете сами, параллельно с публикацией статей, создать такое приложение. Присоединяйтесь!

Читать дальше →

Как я создала прибыльное Android приложение по распознаванию текста

Reading time3 min
Views15K
Всем привет. В прошлой статье я рассказывала, как заработать свои первые 100$ в Google Play Market. В этой статье я больше расскажу о разработке и управлении проектом.

Предмет статьи — Android приложение по распознаванию текста, которое в маркете 4 месяца и имеет почти 10 000 инсталлов, монетизируется посредством платных подписок, покупок в приложении и рекламы.

Приложение умеет распознавать текст (Google Vision OCR API), переводить распознанное (Bing Translate API), формировать Searchable PDF, хранить историю в Cloud.
Читать дальше →

Как создается звук для другой реальности

Reading time5 min
Views3.3K
Мы продолжаем цикл статей по Windows Mixed Reality и разрабатываем с нуля приложение со смешанной реальностью на Unity в формате lab work (лабораторной работы). Вы можете сами, параллельно с публикацией статей, создавать такое приложение. Сегодня поговорим о пространственном звуке и о том, как же создать ощущение пребывания в другой реальности.

Читать дальше →

Рендеринг воды в экранном пространстве

Reading time14 min
Views9K
image

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

Мне не очень нравится подход с voxelized / marching cubes при рендеринге воды (см. например, рендеринг симуляции жидкости в Blender). Когда объём воды находится в том же масштабе, что и используемая для рендеринга сетка, движение получается заметно дискретным. Эту проблему можно решить, увеличив разрешение сетки, но для тонких струй на относительно длинные расстояния в реальном времени это просто непрактично, потому что сильно влияет на время выполнения и занимаемую память. (Есть прецедент использования разреженных воксельных структур, улучшающий ситуацию. Но я не уверен, насколько хорошо это работает для динамических систем. Кроме того, это это не тот уровень сложности, с которым я бы хотел работать.)

Первой альтернативой, которую я исследовал, были меши экранного пространства Мюллера (Müller’s Screen Space Meshes). В них используется рендеринг частиц воды в буфер глубин, его сглаживание, распознавание соединённых фрагментов похожей глубины и построение из результата меша с помощью marching squares. Сегодня этот способ, вероятно, уже стал более применимым, чем в 2007 году (поскольку теперь мы можем создавать меш в compute-шейдере), но он всё равно связан с бОльшим уровнем сложности и затрат, чем бы мне хотелось.

В конце концов я нашёл презентацию Саймона Грина с GDC 2010 «Screen Space Fluid Rendering For Games». Она начинается точно так же, как и Screen Space Meshes: с рендеринга частиц в буфер глубин и его сглаживания. Но вместо построения меша получившийся буфер используется для затенения и композитинга жидкости в основной сцене (с помощью записи глубины явным образом.) Именно такую систему я и решил реализовать.
Читать дальше →

Как я автоматизировал дачу на 90%

Reading time9 min
Views138K


Дачная электрика – известная проблема, отношение к ней в большинстве случаев наплевательское, если не сказать хуже. Если есть возможность подключить что-то не так и не туда — это, конечно, будет сделано.

Когда мы с женой начинали строить новую дачу вместо старой (где электрика прокладывалась многими поколениями и представляла собой жуткую мешанину из проводов и распаячных коробок), то прежде всего решили, что электрика будет грамотной, а дача – умной.
Читать дальше →

Unity3D ECS и Job System

Reading time7 min
Views33K
В Unity3D с выходом версии 2018 появилась возможность использовать нативную (для Unity) ECS систему, сдобренную многопоточностью в виде Job System. Материалов в интернете не особо много (пара проектов от самих Unity Technologies да пара обучающих видео на ютубе). Я попробовал осознать масштаб и удобность ECS, сделав небольшой проект не из кубов и кнопок. До этого у меня не было опыта проектирования ECS, так что два дня ушло на изучение материалов и перестроение мышления с ООП, день ушел на восхищение подходом, и еще один-два дня — на разработку проекта, борьбу с Unity, выдергивание волос и курение семплов. В статье содержится немного теории и небольшой пример проекта.

Читать дальше →

Альтернативы продуктам Google

Reading time3 min
Views99K


Корпорация Google с каждым годом усиливает своё влияние. Минули времена, когда люди делились ссылкой на новый поисковик с экзотическим названием google.com вообще без рекламы, а потом инвайты на Gmail ценились на вес золота. Сейчас ситуация совершенно иная. Как-то незаметно Google вырос и изменил бизнес-модель.

Активисты движения Restore Privacy считают, что «вся бизнес-модель Google основана на том, что вы становитесь под их корпоративную слежку. Вот и всё. Все, что они делают — это переупаковывают массовую корпоративную слежку в удобные, бесплатные, модные приложения, которые засасывают все ваши данные. Ваши личные данные помогают Google доминировать на рынке интернет-рекламы».

В такой модели вы являетесь продуктом.
Читать дальше →

КОМПАС-3D Home — профессиональная САПР для дома и хобби

Reading time50 min
Views99K
Если бы я пару лет назад сказал руководству, что на хабре сидят пользователи домашней версии КОМПАС-3D — любители инженерного 3D-моделирования, надо мной бы посмеялись. Но с каждым годом сферы конструирования и IT всё больше срастаются, да и интерес к 3D-печати заставляет IT-шников плотнее изучать САПРы. Наверное поэтому одними из первых комментариев к нашим статьям были вопросы про КОМПАС-3D Home. Это и сподвигло меня на написание этой статьи, постараюсь ответить в ней на основные вопросы пользователей. Тем более КОМПАС-3D v17 Home наконец-то полностью выпущен. Хотя в этом году из-за переговоров с торговыми сетями издание коробочной версии несколько затянулось. В статье постараюсь ответить на основные вопросы пользователей.

Статья получилась масштабная, рекомендую смотреть с компьютера либо с мобильного устройства со стабильным вайфаем. Для удобства чтения все подробности убрал в спойлеры. Тем, кто знает КОМПАС, будет удобно прочитать небольшую статью про новинки, а тем кто хочет изучить продукт получше — добро пожаловать под спойлеры, там целое пособие по продукту и три урока по трем основным типам моделирования.


Транспорт для передвижения в космосе — автор Кекова Анастасия

ОСТОРОЖНО, ТРАФИК!
Читать дальше →

Information

Rating
Does not participate
Location
Донецк, Донецкая обл., Украина
Date of birth
Registered
Activity