Myvideo

Guest

Login

Где Визуальное Программирование победило (На примере Blender и Blueprint в Unreal Engine)

Uploaded By: Myvideo
17 views
0
0 votes
0

#Blender #Blueprint #UnrealEngine #dataflow Речь пойдет о Dataflow programming. Сейчас совсем немного истории и станет понятно что это за зверь такой. Этот подход является своеобразной надстройкой для программирования процессов определенной тематики. Программирование потоков данных очень похоже на диаграмму потока данных. Этот подход развивается в программной инженерии с 1970-х годов. Его суть состоит в манипуляции данными, передаваемыми между блоками (узлами). Программирование потока данных подчеркивает движение данных и моделирует программы именно как серию соединений. Основой работы программ потоков данных (dataflow) является активация вычислений на узлах (node), которые можно считать чёрными ящиками, вызываемая изменениями, обновлениями входных данных. Узел (в модели — вершина графа) представляет из себя элемент, который производит обработку данных на входе, преобразуя их в данные на выходе. Например, по такому принципу работает TensorFlow: библиотека машинного обучения, основанная на программировании потоков данных. Преимущество такого подхода в следующем: не нужно думать о том, что происходит с данными в узлах, а лишь знать, что они делают, получают на вход и отдают на выходе. Остается лишь выбрать нужные узлы и соединить их между собой линиями, по которым без особого затруднения можно понять, что и с чем связано. Ранее в Blender был даже свой игровой движок. Blender Game Engine — подпроект Blender, предоставляющий интерактивные функции, такие как определение коллизий, движок динамики и программируемая логика. Также он позволял создавать отдельные real-time-приложения начиная от архитектурной визуализации до видео игр. Был удалён в версии 2.8. Так вот речь пойдет не о нем. И я не буду рассказывать вам о программировании на Python в Blender. Иначе зачем это предисловие о визуальном программировании и ужасах Dataflow programming. Но, вообще-то, язык программирования Python используется в Blender как средство определения интерфейса, создания инструментов и прототипов, автоматизации задач. Так, все, обратно к теме. Я буду говорить о редакторе узлов в Blender — это то самое программирование потоков данных для создания геометрии и управления рендерингом. Нигде не говорится что это именно то самое программирование потока данных. Но это оно и есть. Уважаемые 3D-шники, наверное сейчас будут в ужасе, но именно программированием по сути они и занимаются когда настраивают шейдеры и рендеринг в Blender. Геймдев в след за 3D спецами активно использует этот подход. И там он кристально чистый. Это то самое Dataflow programming - я имею в виду Blueprint от Unreal Engine. При запуске игры все Blueprint коды транслируются на язык C . У профессионального программиста разница между скриптом на Blueprint и на С может быть почти незаметна. Например, в нем есть узлы для отправки событий. Подключенные к ним узлы выполняются только в тот момент, когда срабатывает событие. Получается очень удобно, не нужно оперировать какими-то объектами и методами. Но в тоже время Blueprint — язык объектно-ориентированный, поэтому поддерживает все принципы ООП: абстракция, инкапсуляция, наследование и полиморфизм. Короче, сочетание классики и еще большей классики - смотрите на возраст самого подхода Dataflow programming.

Share with your friends

Link:

Embed:

Video Size:

Custom size:

x

Add to Playlist:

Favorites
My Playlist
Watch Later