Джефф Лестер работал над созданием визуальных эффектов для игры Far Cry 4. Публикуем перевод материала, в котором Джефф подробно рассказывает, как можно заставить исчезнуть тигра.
Рубрика «Работа с анимацией и 3D-графикой»
Рассыпающийся тигр, затаившийся каньон
2016-03-25 в 16:27, admin, рубрики: cg, effects, game development, unity3d, Блог компании Plarium, графика, игры, Работа с анимацией и 3D-графикой, разработка, рассеивание, спецэффекты, Тестирование игр, метки: CGКраткий курс компьютерной графики: задание карт нормалей в касательном пространстве
2016-03-13 в 18:52, admin, рубрики: c++, game development, normal mapping, tangent space, геометрия для пятого класса, компьютерная графика, Программирование, Работа с анимацией и 3D-графикойДошли руки написать очередное дополнение к моему краткому курсу компьютерной графики. Итак, тема для очередного разговора — использование карт нормалей. В чём основное отличие использования карт нормалей от затенения Фонга? Основная разница в плотности задания информации. Для затенения Фонга мы использовали нормальные вектора, заданные к каждой вершине нашей полигональной сетки, интерполируя нормали внутри треугольников. Использование же карт нормалей позволяет задавать нормали для каждой точки нашей поверхности, а не лишь изредка, что просто драматическим образом влияет на детализацию изображений.
В принципе, в лекции про шейдеры мы уже использовали карту нормалей, но только заданную в глобальной системе координат. Сейчас же разговор пойдёт про касательное пространство. Итак, вот две текстуры, левая задана в глобальном пространстве (RGB напрямую превращается в вектор XYZ), а правая — в касательном.
Читать полностью »
Выбираем библиотеку для работы с WebGL
2016-03-07 в 11:56, admin, рубрики: game development, javascript, WebGL, библиотеки, Веб-разработка, Работа с анимацией и 3D-графикой Как-то утром, пробегая мимо славного урока, я подумал: «Это круто, только всё же кой-чего тут не хватает». Если надо много кода написать легко и быстро, то нужна нам, без сомнений, для сего библиотека. Только как её нам выбрать, если каждый, кто умеет на гитхабе заводить репозиторий, запилил велосипед свой? И об этом для тебя, друг, напишу сегодня пост вдруг.
Читать полностью »
Краткий курс компьютерной графики, аддендум: лечим по фотографии
2016-03-01 в 16:09, admin, рубрики: game development, ненормальное программирование, отладка, Программирование, Работа с анимацией и 3D-графикойГод назад я опубликовал цикл статей, имевший целью популяризацию графического программирования. Много воды утекло с тех пор, появилась англоязычная версия цикла, прошедшая некоторую полировку по сравнению с оригинальным. За этот год мне написало несколько сотен человек, причём многие просили помочь отладить их код.
Я предлагаю вам поиграть в игру: я даю только картинку, на которой видна проблема, попробуйте понять, в каком месте кода нужно искать баг, что именно сломано. Я в эту игру играю ежедневно, досконально смотреть сотни версий рендера у меня нет никакой возможности, поэтому я, как заправский экстрасенс, лечу по фотографии. Зачастую успешно.
Абсолютно все картинки сгенерированы не мной, я лишь собрал самые типичные баги. Настоящая людская боль перед вашими глазами, ко мне, понятно, обращаются (особенно по почте) только после того, как не могут сами найти баг в разумное время.
Вот первый баг для затравки, слева битый рендер, справа то, что ожидалось:
Как робот 3D сканирует
2016-02-25 в 11:15, admin, рубрики: 3d, 3d fusion, 3D-модель, 3d-сканер, Artec, poisson reconstruction, Алгоритмы, Блог компании Artec 3D, обработка изображений, Работа с анимацией и 3D-графикой, Разработка робототехники, роборука, робот сканер, сканирование В мире существует множество технологий 3D сканирования. На базе каждой из них созданы десятки моделей сканеров. Какие-то сканеры умеют сканировать только мелкие объекты, какие-то предназначены для сканирования людей. Другие могут отсканировать дом или комнату. Одно только перечисление всевозможных вариаций сканеров заняло бы целую статью.
В этой статье я расскажу об одном из перспективных направлений сканирования — о том как делаются роботизированные 3D сканеры.
Читать полностью »
Преимущества использования уникальных шейдеров в компьютерных играх: личный опыт и наблюдения
2016-02-16 в 17:02, admin, рубрики: 3d анимация, game development, unity3d, игры, Работа с анимацией и 3D-графикой, шейдерыЭта статья подготовлена в содружестве с разработчиками и гейм-дизайнерами студии zGames.
Несмотря на обилие техник, позволяющих создавать привлекательные визуальные эффекты в компьютерных играх, шейдеры обладают некоторым рядом преимуществ по сравнению с такими распространенными средствами как партиклы или покадровая анимация.
Читать полностью »
Математика на пальцах: методы наименьших квадратов
2016-02-16 в 13:45, admin, рубрики: c++, Алгоритмы, геометрия для пятого класса, математика, математика для программистов, математика на пальцах, наименьшие квадраты, Программирование, Работа с анимацией и 3D-графикой, уравнение лапласа, уравнение Пуассона, метки: математика на пальцахВведение
Я учёный, математик-программист. Самый большой скачок в своей карьере я совершил, когда научился говорить:«Я ничего не понимаю!» Сейчас мне не стыдно сказать светилу науки, что мне читает лекцию, что я не понимаю, о чём оно, светило, мне говорит. И это очень сложно. Да, признаться в своём неведении сложно и стыдно. Кому понравится признаваться в том, что он не знает азов чего-то-там. В силу своей профессии я должен присутствовать на большом количестве презентаций и лекций, где, признаюсь, в подавляющем большинстве случаев мне хочется спать, потому что я ничего не понимаю. А не понимаю я потому, что огромная проблема текущей ситуации в науке кроется в математике. Она предполагает, что все слушатели знакомы с абсолютно всеми областями математики (что абсурдно). Признаться в том, что вы не знаете, что такое производная (о том, что это — чуть позже) — стыдно.
Но я научился говорить, что я не знаю, что такое умножение. Да, я не знаю, что такое подалгебра над алгеброй Ли. Да, я не знаю, зачем нужны в жизни квадратные уравнения. К слову, если вы уверены, что вы знаете, то нам есть над чем поговорить! Математика — это серия фокусов. Математики стараются запутать и запугать публику; там, где нет замешательства, нет репутации, нет авторитета. Да, это престижно говорить как можно более абстрактным языком, что есть по себе полная чушь.
Простейшая 3D игра на libGDX под Android в 200 строк кода
2016-02-11 в 3:12, admin, рубрики: android, game development, Gamedev, Работа с анимацией и 3D-графикой, Разработка под android, метки: 3d-графикаЯ преподаю в IT школе Samsung программирование под Android для школьников. Программа обучения охватывает множество разнообразных тем. В числе прочих предусмотрен один урок, знакомящий учеников с основами 3D-графики под Android. Стандартный учебный материал этого урока показался мне очень бесполезным по нескольким причинам:
- Используется голый OpenGL, а поскольку на практике в программировании игр чаще всего используются готовые движки, то это мало полезно для школьников в контексте их собственных проектов. Кто-то может возразить, что увидеть в деле чистый OpenGL полезно для понимания основ, но здесь вступает в дело 2-й недостаток.
- Урок очень непонятный. У типичного школьника, пусть и разбирающегося в программировании, нет достаточной базы, чтобы понимать многое из того, что описано в уроке (например матрицы многие пройдут только уже в ВУЗе).
- В конце урока мы приходим к результату — отрисовка 3-х треугольников средствами OpenGL. Это настолько далеко от реальной 3D-игры, что легко может отбить интерес у школьника.
Поэтому я решил подготовить свой урок, описывающий основы использования libGDX под Android, а раз я все равно готовлю этот материал, заодно разместить его здесь — на хабре. В этом уроке мы сделаем наипростейшую 3D игру под Android, скриншот которой вы можете видеть во вступлении к статье. Итак, интересующиеся, добро пожаловать под кат.
Читать полностью »
Закладка в OS X, продлевающая работу от батарейки для избранных приложений
2016-02-08 в 10:45, admin, рубрики: gfxCardStatus, Google Chrome, OpenGL, OS X, safari, закладка, информационная безопасность, Работа с анимацией и 3D-графикой, Разработка под OS XЗачем 2 GPU?
Ноутбуки с двумя GPU появились уже очень давно. Первый MacBook Pro с такой технологией вышел еще в 2008 году.
Преимущество двух GPU в гибкости. Когда вам не нужна вся мощь видео системы, вы используете встроенное в процессор видео, наслаждаясь долгой работой от батарейки. Однако если вы захотели развлечься, то к вашим услугам мощный дискретный GPU. Да, он ест батарейку и жужжит вентиляторами, но дает хороший FPS в играх. Как же одному приложению переключать GPU? Читать полностью »
Процедурно генерируемые карты мира на Unity C#, часть 4 (трафик)
2016-02-04 в 13:02, admin, рубрики: C#, game development, unity3d, Алгоритмы, процедурная генерация, процедурные текстуры, Работа с анимацией и 3D-графикой
Это последняя статья из цикла о процедурно генерируемых с помощью Unity и C# картах мира. Осторожно, под катом 7 МБ картинок.
Читать полностью »