This media is not supported in your browser
VIEW IN TELEGRAM
💦 Моделирование жидкости (англ. fluid simulation) — область компьютерной графики, использующая средства вычислительной гидродинамики для реалистичного моделирования, анимации и визуализации жидкостей, газов, взрывов и других связанных с этим явлений. Имея на входе некую жидкость и геометрию сцены, симулятор жидкости моделирует её поведение и движение во времени, принимая в расчёт множество физических сил, объектов и взаимодействий. Моделирование жидкости широко используется в компьютерной графике и ранжируется по вычислительной сложности от высокоточных вычислений для кинофильмов и спецэффектов до простых аппроксимаций, работающих в режиме реального времени и использующихся преимущественно в компьютерных играх.
Существует несколько конкурирующих методов моделирования жидкости, каждый из которых имеет свои преимущества и недостатки. Наиболее распространёнными являются сеточные методы Эйлера, гидродинамика сглаженных частиц (англ. smoothed particle hydrodynamics — SPH), методы, основанные на завихрениях, и метод решёточных уравнений Больцмана. Эти методы возникли в среде вычислительной гидродинамики и были позаимствованы для практических задач в индустрии компьютерной графики и спецэффектов. Основное требование к данным методам со стороны компьютерной графики — визуальная правдоподобность. Иными словами, если наблюдатель при просмотре не может заметить неестественность анимации, то моделирование считается удовлетворительным. В физике, технике и математике, с другой стороны, основные требования предъявляются к физической корректности и точности моделирования, а не к её визуальному результату.
В компьютерной графике самые ранние попытки решить уравнения Навье — Стокса в трёхмерном пространстве были предприняты в 1996 году Ником Фостером (англ. Nick Foster) и Димитрисом Метаксасом (англ. Dimitris Metaxas). Их работа в качестве основы использовала более раннюю работу по вычислительной гидродинамике, которая была опубликована в 1965 году Харлоу (англ. Harlow) и Уэлшем (англ. Welch). До работы Фостера и Метаксаса многие методы моделирования жидкости были построены на основе специальных систем частиц, методах снижения размерности (типа двухмерные модели мелких водяных объёмов типа луж) и полу-случайных шумовых турбулентных полях. В 1999 году на SIGGRAPH Джос Стэм (англ. Jos Stam) опубликовал метод так называемых «стабильных жидкостей» (англ. Stable Fluids), который использовал полу-лагранжевый метод адвекции и неявные интеграции вязкости для обеспечения безусловно устойчивого поведения жидкости. Это позволило моделировать жидкости со значительно большим временным шагом и в общем привело к более быстрым программам. Позже, в 2001—2002 годах, этот метод был расширен Роном Федкивым вместе со своими сотрудниками, благодаря чему стало возможным обрабатывать сложную модель воды в трёхмерной сцене с использованием метода установленного уровня (англ. Level set method). #математика #физика #наука #gif #образование #разработка_игр #gamedev #math #physics
💡 Physics.Math.Code // @physics_lib
Существует несколько конкурирующих методов моделирования жидкости, каждый из которых имеет свои преимущества и недостатки. Наиболее распространёнными являются сеточные методы Эйлера, гидродинамика сглаженных частиц (англ. smoothed particle hydrodynamics — SPH), методы, основанные на завихрениях, и метод решёточных уравнений Больцмана. Эти методы возникли в среде вычислительной гидродинамики и были позаимствованы для практических задач в индустрии компьютерной графики и спецэффектов. Основное требование к данным методам со стороны компьютерной графики — визуальная правдоподобность. Иными словами, если наблюдатель при просмотре не может заметить неестественность анимации, то моделирование считается удовлетворительным. В физике, технике и математике, с другой стороны, основные требования предъявляются к физической корректности и точности моделирования, а не к её визуальному результату.
В компьютерной графике самые ранние попытки решить уравнения Навье — Стокса в трёхмерном пространстве были предприняты в 1996 году Ником Фостером (англ. Nick Foster) и Димитрисом Метаксасом (англ. Dimitris Metaxas). Их работа в качестве основы использовала более раннюю работу по вычислительной гидродинамике, которая была опубликована в 1965 году Харлоу (англ. Harlow) и Уэлшем (англ. Welch). До работы Фостера и Метаксаса многие методы моделирования жидкости были построены на основе специальных систем частиц, методах снижения размерности (типа двухмерные модели мелких водяных объёмов типа луж) и полу-случайных шумовых турбулентных полях. В 1999 году на SIGGRAPH Джос Стэм (англ. Jos Stam) опубликовал метод так называемых «стабильных жидкостей» (англ. Stable Fluids), который использовал полу-лагранжевый метод адвекции и неявные интеграции вязкости для обеспечения безусловно устойчивого поведения жидкости. Это позволило моделировать жидкости со значительно большим временным шагом и в общем привело к более быстрым программам. Позже, в 2001—2002 годах, этот метод был расширен Роном Федкивым вместе со своими сотрудниками, благодаря чему стало возможным обрабатывать сложную модель воды в трёхмерной сцене с использованием метода установленного уровня (англ. Level set method). #математика #физика #наука #gif #образование #разработка_игр #gamedev #math #physics
💡 Physics.Math.Code // @physics_lib
👍97🔥21❤6❤🔥6🤯4✍3🙈1🫡1
👨🏻💻 Подборка полезных книг по разработке приложений на Unity 👾
Unity — межплатформенная среда разработки компьютерных игр, разработанная американской компанией Unity Technologies. Unity позволяет создавать приложения, работающие на более чем 25 различных платформах, включающих персональные компьютеры, игровые консоли, мобильные устройства, интернет-приложения и другие. Выпуск Unity состоялся в 2005 году и с того времени идёт постоянное развитие.
Основными преимуществами Unity являются наличие визуальной среды разработки, межплатформенной поддержки и модульной системы компонентов. К недостаткам относят появление сложностей при работе с многокомпонентными схемами и затруднения при подключении внешних библиотек.
📗 Unity in Action, Third Edition [2022] Joseph Hocking
📘 Изучаем C# через разработку игр на Unity. 5-е изд [2022] Ферроне Х.
📘 Разработка игры в Unity. С нуля и до реализации [2021] Денисов
📙 Искусство создания сценариев в Unity [2016] Торн А.
📕 Head First C #, 4-е издание [2020] Эндрю Стеллман, Дженнифер Грин
📒 Unity в действии. Мультиплатформенная разработка на C# [2019] Хокинг Джозеф
📙 Arm Guide for Unity Developers Version 4.0 Optimizing Mobile Gaming Graphics [2017]
📓 Unity in Action. Multiplatform game development in C#, 2nd Edition [2018]
📗 Unity для разработчика. Мобильные мультиплатформенные игры - Джон Мэннинг, Пэрис Батфилд-Эддисон [2018, PDF]
На Unity написаны тысячи игр, приложений, визуализации математических моделей, которые охватывают множество платформ и жанров. При этом Unity используется как крупными разработчиками, так и независимыми студиями.
💡А есть ли среди наших подписчиков разработчики игр, которые используют Unity? Если да, то покажите ваши проекты в комментариях
#разработка_игр #gamedev #game_development #unity #c_sharp #подборка_книг
💡 Physics.Math.Code // @physics_lib
Unity — межплатформенная среда разработки компьютерных игр, разработанная американской компанией Unity Technologies. Unity позволяет создавать приложения, работающие на более чем 25 различных платформах, включающих персональные компьютеры, игровые консоли, мобильные устройства, интернет-приложения и другие. Выпуск Unity состоялся в 2005 году и с того времени идёт постоянное развитие.
Основными преимуществами Unity являются наличие визуальной среды разработки, межплатформенной поддержки и модульной системы компонентов. К недостаткам относят появление сложностей при работе с многокомпонентными схемами и затруднения при подключении внешних библиотек.
📗 Unity in Action, Third Edition [2022] Joseph Hocking
📘 Изучаем C# через разработку игр на Unity. 5-е изд [2022] Ферроне Х.
📘 Разработка игры в Unity. С нуля и до реализации [2021] Денисов
📙 Искусство создания сценариев в Unity [2016] Торн А.
📕 Head First C #, 4-е издание [2020] Эндрю Стеллман, Дженнифер Грин
📒 Unity в действии. Мультиплатформенная разработка на C# [2019] Хокинг Джозеф
📙 Arm Guide for Unity Developers Version 4.0 Optimizing Mobile Gaming Graphics [2017]
📓 Unity in Action. Multiplatform game development in C#, 2nd Edition [2018]
📗 Unity для разработчика. Мобильные мультиплатформенные игры - Джон Мэннинг, Пэрис Батфилд-Эддисон [2018, PDF]
На Unity написаны тысячи игр, приложений, визуализации математических моделей, которые охватывают множество платформ и жанров. При этом Unity используется как крупными разработчиками, так и независимыми студиями.
💡А есть ли среди наших подписчиков разработчики игр, которые используют Unity? Если да, то покажите ваши проекты в комментариях
#разработка_игр #gamedev #game_development #unity #c_sharp #подборка_книг
💡 Physics.Math.Code // @physics_lib
❤30👍15🔥6😍2🙈2🆒1
This media is not supported in your browser
VIEW IN TELEGRAM
▪️Физика (Фундаментальные знания):
1. Классическая механика:
▫️Динамика твердого тела.
▫️Законы сохранения: Импульса, энергии (хотя часть энергии при разрушении переходит в деформацию и тепло), момента импульса.
▫️Теория удара: Коэффициент восстановления (COR), расчет импульсов сил при соударении. Учет углов столкновения.
2. Механика разрушения:
▫️Напряжения и деформации: Понятия растяжения, сжатия, сдвига, кручения. Тензоры напряжений.
▫️Критерии разрушения: Теории максимальных главных напряжений, максимальных касательных напряжений (Треска), энергии формоизменения (фон Мизеса). Что заставляет материал "ломаться"?
▫️Хрупкое vs. Пластичное разрушение: Как ведет себя материал (стекло vs. металл)? Трещинообразование, распространение трещин.
▫️Фрагментация: Как тело распадается на части? Зависит от материала, скорости удара, точек концентрации напряжений.
▪️Математика и Вычислительные методы:
1. Линейная алгебра: Векторы (позиция, скорость, сила), матрицы (вращение, трансформации), операции над ними. Абсолютно необходима.
2. Численные методы:
▫️Интегрирование уравнений движения: Методы Эйлера, Верле, Рунге-Кутты (для расчета позиций/скоростей тел и осколков на каждом шаге времени).
▫️Методы дискретизации:
— Метод конечных элементов (FEM): Разбиение объекта на мелкие элементы (тетраэдры, гексаэдры), расчет напряжений/деформаций в них. Точный, но очень ресурсоемкий для разрушения.
— Метод дискретных элементов (DEM): Представление объекта как совокупности множества мелких жестких частиц/гранул, связанных "связями". При превышении напряжения связи рвутся. Более подходит для хрупкого разрушения. Наиболее перспективен для "программирования с нуля" внутри DCC.
— Mesh-Free методы (напр., SPH): Моделирование материала без явной сетки. Сложны в реализации.
▫️Обнаружение столкновений (Collision Detection): Алгоритмы AABB, OBB, сфер, GJK, EPA. Определение что столкнулось и где.
▫️Реакция на столкновение (Collision Response): Расчет импульсов сил, изменяющих скорости тел/осколков после обнаружения контакта. Учет трения.
▪️ 3D Графика и Анимация:
▪️ Программирование и Скриптинг
▪️ Процесс разработки в Cinema 4D / 3ds Max "с нуля" (графическими примитивами)
▫️Вычислительная сложность: Симуляция тысяч взаимодействующих осколков в реальном времени невозможна на обычных ПК. Расчеты будут долгими.
▫️Реализм физики: Движки DCC (Bullet/PhysX) хороши для базовой динамики, но моделирование реалистичного разрушения материала (образование трещин, пластическая деформация) на уровне FEM им недоступно "из коробки". Скрипт на связях дает упрощенный, но визуально приемлемый результат.
▫️Houdini: Это отраслевой стандарт для сложных разрушений. Его процедурная природа и мощные солверы (Bullet, FEM, Vellum) идеально подходят для задач разрушения "с нуля". Гораздо эффективнее, чем скриптинг в C4D/Max, но требует изучения самого Houdini.
▫️Готовые плагины: Плагины вроде RayFire (3ds Max), NitroBlast/Thrausi (Cinema 4D), PulldownIt (C4D/Max) реализуют сложные алгоритмы разрушения (включая Voronoi) и управления связями через удобный интерфейс. Сильно экономят время по сравнению с чистым скриптингом, но менее "с нуля".
Создать реалистичную анимацию столкновения с разрушением "с нуля" на графических примитивах в C4D или 3ds Max – очень амбициозная и сложная задача, требующая глубоких знаний в физике, математике, программировании и 3D. Ключевые этапы: скриптинг генерации осколков (Voronoi), создание и управление "слабыми связями" между ними, реалистичная настройка материалов (особенно отражений) и освещения, пост-обработка. Будьте готовы к долгому процессу обучения, отладки и рендеринга. Для профессиональных результатов часто используют Houdini или специализированные плагины. Начните с малого (разрушение простого куба) и постепенно усложняйте. #программирование #моделирование #физика #графика #3D #разработка #разработка_игр #gamedev #gamedevelopment
💡 Physics.Math.Code // @physics_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
1❤67👍39🔥22🌚5❤🔥2🤩2