Unity и интерактивная графика


• Для классификации инструментов можно выделить три основных признака. Является ли инструментальное средство стандартной частью редактора Unity, инструмент не является частью стандартного инструментария, но является расширением, встраиваемым в Unity. Инструмент вообще не является частью среды разработки Unity, но прекрасно интегрируется в пайплайн Unity. Немаловажной особенностью можно считать взаимозаменяемость отдельных инструментальных средств. Всё это обеспечивает достаточность выбора.

• Другой важный фактор – это трансферные форматы файлов, которые можно использовать совместно с Unity и для обмена данными между редакторами. Для Unity предусмотрены интерпретаторы для исходных форматов файлов разных редакторов- lxo, mb, ma, max, dxf, 3ds, dae, Blend, obj, и др., но стандартом является FBX, при помощи которого переносятся как модели, так и анимация, включая скелетную и вертексную (морфинг), так же группы сглаживания UV сеты, вертексный цвет и многое другое. Есть специфические форматы для параметрической генерации контента – это SBSAR и OTL. Имеется возможность создавать свои интерпретаторы для импорта и экспорта других файловых форматов, либо использовать сторонние. Как пример, можно использовать интерпретатор формата MDD для использования кэша вершинной анимации в Unity, создавая такой кеш в каком-либо анимационном редакторе.

• Unity не обладает встроенной системой моделирования и текстурирования. Эта часть работы выполняется в традиционных средствах моделирования и текстурирования. Спектр этих средств велик. Maya, Modo, и.т.д.

• Всё же для Unity предусмотрены простейшие инструменты моделирования и редактирования UV развёрток. Эти средства поставляются сторонними разработчиками. Некоторые из них распространяются свободно. К примеру, Game Draw и UV Editor Pro.

• Инструменты растрового текстурирования не предусмотрены в Unity, но принимаются почти все известные форматы растровых файлов в качестве текстур. Помимо растровых редакторов для изготовления текстур, используются средства для запекания различных видов текстур в 3D редакторах. От возможности запекать текстуры и переносить детализацию с высокополигональных моделей на низкополигональные зависит качество текстурирования и выразительность результата. Особое требование к 3D пакетам - это возможность free hand painting across model (свободного рисования от руки) по поверхности модели. Некоторые средства моделирования обладают продвинутыми возможностями такого плана, а некоторые не имеют такой возможности вовсе. При этом возможности такого текстурирования в различных пакетах существенно различаются. Это специфическое требование играет особую роль при выборе пакета для текстурирования. Можно отметить специальные редакторы и утилиты для запекания текстур и отрисовки текстурных карт по модели. Knald, Faundry Mari и Modo, Photoshop plugins DDO, NDO, crazy bump. ZBrush, Mudbox, Bodypaint и др.

• Инструменты для анимации в Unity имеются в базовом виде. Можно анимировать почти все параметры, которые имеют числовое значение или изменяемое состояние. Понимание анимации в Unity отличается от того, что подразумевается под анимацией в традиционных 3D редакторах. В Unity любые изменения, происходящие во времеыни, могут быть воспроизведены разными способами. Разумеется, стандартный метод покадровой анимации ключами тоже имеется, как и соответствующий редактор. Деформации геометрии во времени - это отдельная тема. В Unity можно использовать анимацию деформаций посредством скелетной иерархии или морфингом (blendshapes). Формат FBX может содержать подобные типы анимации, а большинство 3D пакетов позволяют создавать такую анимацию. Способов персонажной анимации великое множество. Мне пришлась по вкусу система HumanIK в Maya. Эта система рассчитана на анимацию антропоморфных персонажей, из-за наследования предшествующих вариантов реализации (FullBodyIK), это средство прекрасно интегрируется с MotionBuilder и Endorphin, ещё два популярных пакета, оба рассчитаны на персонажную анимацию, причём второй помогает создавать естественные интеракции с окружающей средой, используя уникальный физический симулятор. Что ещё более важно, благодаря структуре скелета, анимация, получаемая посредством HumanIK в Maya, наилучшим образом подходит для использования Unity Mecanim- системой управления и смешивания анимаций в Unity. Система Mecanim в свою очередь очень схожа с системой Naturalmotion Morpheme, которая так же применяется в разработке игр, как и Mecanim. Такой пайплайн анимации персонажей уже можно назвать стандартным. Другая система анимации, которую я периодически использую, подходит больше для не гуманоидных персонажей, у которых имеются многочисленные конечности, асимметрия в строении тела. Эта система основана на сольвере IKinema, а в Modo она имеет название Full Body IK Pose tool. Система весьма схожа с IK Booster в Lightwave. Этот анимационный инструмент хорош тем, что нет необходимости создавать сложные и громоздкие средства контроля и управления персонажем. Скелет персонажа сам по себе уже содержит все средства управления, которые на ходу, в процессе анимации, можно настраивать под управление IK и FK быстро и легко. Процесс анимации с этой системой очень прост, что экономит время, позволяя акцентироваться на самой анимации, а не настройках рига. Для совсем ленивых существует сервис Mixamo, который помогает быстро создать скелет для персонажа и добавить заранее созданные заготовки анимаций. Для игровой индустрии особенно важно получить многочисленные анимации в короткое время. Для этого используют различные системы захвата движений MotionCapture (mocap). Сами системы для захвата весьма дороги. На помощь приходят подручные средства, к примеру- Microsoft Kinect. Это игровой девайс, но при помощи модуля Nevronmotion для Lightwave им можно пользоваться как системой захвата движения. Существует расширение для Unity, которое помогает не только использовать Kinect для игр, разрабатываемых на Unity, но и позволяющее записывать анимацию с Kinect в редакторе. Lightwave, кстати, имеет плагин при помощи которого Unity в состоянии принимать формат сцены lws, в связи с чем интеграция между редактированием комплексных сцен в Lightwave и Unity существенно возрастает. Персонажная анимация – это краеугольный камень многих проектов, поэтому интерация Unity с различными редакторами и выбор этих редакторов, имеют очень большое значение.

Процедурная и параметрическая генерация 2D и 3D контента. На текущий момент существует не так много средств изготовления процедурной и параметрической графики. Так сложилось, что в Unity мы можем использовать два самых мощных редактора процедурной графики как 2D- Substance Designer, так и 3D – Houdini. Субстансы- это самодостаточные генераторы параметричеких текстур, с форматом SBSAR. Этот формат нативно принимается Unity, позволяя использовать все возможности параметризма и процедурализма в текстурированиии. Houdini- это широко известный продукт компании SideFX, с возможностью создания цифровых ассетов в формате OTL. Houdini Engine – это движок, делающий возможным использование цифровых ассетов OTL в Unity. Субстансы и ассеты можно изготавливать самостоятельно или приобретать подходящие на Orbolt и Unity AssetStore. Параметрическая графика, помогает быстро создавать большое количество отличающихся друг от друга, но однотипных объектов, а так же массивных сцен, с возможностью гибкого редактирования на любом этапе. Ещё одна польза от процедурализма - это интерактивность. Генерация и регенерация процедурного контента в движке происходит в реальном времени и позволяет увеличить степень интерактивности для конечного пользователя. Процедурность сложно переоценить. Особенно, если речь заходит об архитектурных проектах или промышленном дизайне. Разумеется, в Unity можно создавать свои редакторы процедурной генерации контента. На одном из проектов мне довелось поучаствовать в создании такого генератора, который должен создавать целые комплексные сцены из коллекции элементов проекта.

Редактор сцены проекта Unity. Сцена в Unity- это то 3D пространство, которое можно смело назвать виртуальным. В конечном итоге, именно с этим пространством будет взаимодействовать пользователь. От того, как тщательно и качественно будет построено это пространство, будет зависеть эффект воздействия на зрителя - пользователя. Unity удобен как редактор сцены. В сцене собираются воедино все кусочки проекта и очень важно, что дизайнер виртуального пространства, видит то что увидит зритель и ещё чуточку больше. В редакторе Unity можно комфортно и легко работать с очень массивными сценами.

Физика и физические симуляции. Часть разработчиков избегают физических симуляций в реальном времени, а другие, напротив, выстраивают вокруг этого весь проект. Unity использует PhysX, а сами физические атрибуты очень важны для интерактивной графики. К примеру, габариты столкновений (colliders) используются не только для физики, но и для обеспечения интерактивности этих объектов. Объект перестаёт быть просто 3D объектом, когда ему присваивается collider. Объект становится участником событий в сцене. Сквозь него нельзя пройти, его можно кликнуть и получить информацию или какое- то действие. Это отличает интерактивную графику от традиционной, где важно только внешняя видимость симуляции физических свойств с конечным, ожидаемым визуальным эффектом.

Шейдинг. Магию шейдеров трудно переоценить. До сих пор многие CG художники полагают, что качество картинки ограничено рамками редактора материалов и механизмом отрисовки финального изображения на мониторе. Это не совсем так. Качество графики, в первую очередь, зависит от реализации шейдеров, которые отдают инструкции видеокарте или рендеру, как следует отрисовывать освещение и затенение на объекте, как отрисовать текстурные каналы, как должно работать отражение или преломление. Непонимание роли шейдеров в качестве изображения, порождает миф о том, что графические возможности Unity ограничены тем качеством, что достижимо при использовании стандартного набора шейдеров, распространяемого вместе с пакетом. Эти стандартные шейдера, следует рассматривать как примеры того, от чего можно отталкиваться при написании своих, уникальных шейдеров. Для этого используется классический CG language, именуемый так же, как Си для графики. Однако не для каждого художника видится возможным нырнуть в особенности написания кода на CG. По этой причине, появились (и продолжают появляться) разные редакторы шейдерной логики, где применяется традиционное нодовое редактирование. Это гораздо ближе для 3D художников. Наиболее интересные редакторы шейдерных «деревьев» (редакторы шейдеров)- Stumpy, Fusion и Forge. Хотя, следует отметить, что наиболее продвинутые результаты в шейдинге достигаются через работу с кодом. Интерактивная графика предполагает, так же, возможность производить изменения на уровне материалов поверхностей в реальном времени. Это достижимо при обращении к шейдеру через материал. Так, что интерактивность материалов для поверхностей объектов- это особая сфера внимания для интерактивной графики. Шейдеры нужны не только для материалов, но и для фильтров обработки итогового изображения. Эти фильтры обрабатывают картинку на высокой частоте fps и на них приходится большая доля увеличения качества итогового изображения

Синематик. Любой игровой движок должен иметь все средства для создания синематика, это как если бы на игровом движке воспроизводился некий анимационный сюжет, ни чем не отличающийся по сути от анимационного фильма. Во многих играх, используются брейк сцены- анимационные перебивки, построенные по всем законам кинематографической драматургии. Чтобы сделать такой синематик на движке, потребуется масса разнообразных средств. Понадобится работа с камерами, анимация камер и их параметров, а так же переключение между камерами. Всё это необходимо для выстраивания динамичной смены кадропланов. В Unity для этого есть все традиционные средства работы с камерами, а так же сторонние разработки для выстраивания синематиков. Скриптование и написание своих расширений позволяет добиться гораздо большего, что и делают разработчики игр. Освещение - ещё одна важная составляющая для получения качественной и привлекательной графики. В Unity для этого есть всё. Динамическое освещение, шейдерные модели освещения, мощный генератор лайтмапинга и возможность использовать лайтмапы полученные в других редакторах, динамический лайтмапинг, а также всё те же сторонние средства для работы с освещением. Как пример - это экспериментальное расширение для получения глобального, рассеянного освещения, подобно тому, что используется в системах рендеринга. Все эти средства помогают создать картинку, мало чем уступающую традиционному рендерингу. Использование визуальных эффектов тоже традиционно не только для 3D редакторов, но и для движков. Так что в Unity имеется масса всевозможных способов создания эффектов. Самый распространённый - это частицы. При помощи частиц создаётся огонь, дым, взрывы и прочее. Продвинутые разработчики используют все возможности DirectX 11 для создания флюидных систем или пирокластических эффектов, волос и шерсти и прочего.

• Ещё одна особенность присущая игровым движка - AI (искусственный интелект) для персонажей и не только. Это понятие, в большинстве случаев, предполагает систему управления не игровыми персонажами, теми, что игроки именуют «боты». AI для не игровых персонажей может быть создан, как посредством написания скриптов, так и при помощи редакторов, к примеру, Behave. Сюда же можно отнести системы поиска пути (Path finding). По большому счёту, такие специфические расширения и возможности доступны именно благодаря использованию традиционных языков программирования, а не специфическим скриптовым языкам, как в традиционных редакторах или других движках. В особенности это использование популярного языка C#.

Скриптинг и программирование. Unity использует три языка программирования- C#, Java, Boo. Все три языка работают на платформе NET, а для написания скриптов и работы с кодом, вместе с Unity поставляется Mono Develop- простое и удобное средство для работы с кодом. Надо отметить, что программирование в Unity отличается от программирования для 3D редакторов. Наиболее продвинутые разработчики - программисты могут создавать такие приложения на Unity, которые уже сами по себе становятся редакторами для каких- либо манипуляций с растровыми изображениями или 3D объектами. К примеру, это могут быть рисовалки или конструктор мебели, аудио секвенсор, клиентская оболочка для удалённого доступа к базе данных, или программка для мобильника с доступом к биржевым сводкам, или 3D вебсайт. Это может быть всё, что угодно, а не только игра. Я рассматриваю Unity, как удобную платформу для разработки интерактивных приложений, обладающую достаточным количеством готовых графических решений и имеющую удобные средства редактирования проекта в целом. В Unity предусмотрены такие способы интеграции графики и исполняемого кода, как Event System, когда какой-либо метод в скрипте выполняется, когда это предусмотрено в анимации. Одно из мощных средств скриптинга в Unity- это корутины или сопрограммы. Они позволяют контролировать различные исполняемые процессы во времени или эмулировать отдельные процессы, выполняемые параллельно. В большинстве своём, художники сторонятся работы с кодом. Я заметил, что 3D художники, которые могут скриптовать, не имеют художественного образования. Бывают и исключения, но редко. Оно и понятно, художественное правополушарное мышление трудно совместить с логикой левополушарного. Художники и так перегружены специфической информацией о 3D, а тут ещё и алгебру с тригонометрией вспоминать нужно и синтаксис языка осваивать, изучать архитектуру алгоритмов. Для многих это слишком и потому находится масса оправданий для того, чтобы не лезть в скриптование. Однако есть и компромиссы. Это визуальное программирование.

Визуальное программирование применяется в таких программах как Houdini и Grasshopper для Rino. В редакторе движка UDK, тоже имеется такое средство- Kismet. Визуальное программирование предполагает конструирование алгоритмов исполняемых сценариев при помощи редактора графов. Каждый отдельный оператор имеет визуальный вид ярлыка со слотами для входящих и исходящих данных, и называется узлом (node). Последовательность таких узлов- операторов, соединённых связями входящих и исходящих данных (графами), образует древовидное ветвление сценария и называется дерево графа (Graph Tree). Почти во всех 3D пакетах есть такие редакторы графов, при помощи которых можно настроить шейдинг материалов. Unity позволяет использовать нодовые редакторы для создания скриптов, как альтернативу традиционному написанию кода. Во первых это uScript Visual Scripting, который полностью имитирует Kismet. Имеются и другие аналоги- Antares Universe (VIZO), Playmaker, и др. Польза от таких редакторов в том, что помогает людям с образным, а не абстрактным складом мышления, комфортно работать со скриптингом. Можно сразу видеть всю структуру алгоритма, а это важно для «правополушарных» художников. Автор Antares VIZO, как-то сказал, что сподвигло его создать такой фундаментальный инструмент визуального программирования: «Мне гораздо удобней видеть алгоритм в визуальном виде», т.е., по сути, он создавал инструмент для себя. Также и команда разработчиков uScript, привыкшая иметь дело с Kismet, решила создать для себя подобную среду для Unity. Всё же многие профессиональные программисты критично относятся к подобному способу программирования и проповедуют традиционное написание кода. У такой позиции есть весомые аргументы, но одно другому не мешает. Можно использовать весь набор средств.

Инфографика. Здесь мы подходим вплотную к неигровым задачам. В привычном виде, инфографика - это информация, подкреплённая визуально. Инфографика обычно сопровождает учебники, презентационные проекты. Диаграмма - это инфографика. Механизм в разрезе с подписями и комментариями к его сторению - это инфографика. Инфографика прошла путь от энциклопедических кодексов и простых картинок, до телевизионной моушен графики, такой, какую мы видим в прогнозе погоды. Сам собой напрашивается следующий шаг- соединить 3D, текстовую информацию и интерактивность взаимодействия пользователя с этой информацией. Это доступно с применением Unity. Это новый гибрид интерактивности WEB и 3D. Если с 3D всё понятно и самая простая интерактивность в случае с 3D объектом - сделать его кликабельным, т.е. кликом мыши по объекту мы можем вызвать какое- то событие. Это может быть окно с информацией об этом объекте или панель управления функциями этого объекта, возможностью контролировать его визуализацию. Таким образом, нам нужны средства разработки интерфейса. Сегодня существует два способа разработки интерфейса. Первый - стандартный Gui class в Unity. Интерфейсы разрабатывать удобно и можно делать очень продвинутые интерфейсы, но чем более громоздкий интерфейс создаётся, тем более он ресурсоёмкий. Другой способ - построение интерфейса непосредственно в 3D среде, что добавляет контроля и оптимизации, но это уже не столь удобно и менее гибко. Для такого способа разработки интерфейса используется расширение NGUI. Профи склоняются к использованию именно NGUI, но стандартный GUI не стоит сбрасывать со счетов, когда нужно быстро добавить информацию для презентации дизайн - проекта. С интерфейсами можно делать множество интересных вещей, в сочетании с которыми, 3D становится интерактивной инфографикой. Главная идея такой инфографики в том, что 3D объект является контейнером для хранения информации, а 3D пространство, наполненное интерактивными объектами, гораздо более удобная среда для взаимодействия с этой информацией.

2D. Стоит упомянуть, что Unity имеет особую популярность у разработчиков 2D игр. Было время, когда разработчики игр на Flash, выражали массу сомнений, что Unity сможет соперничать с Flash в разряде 2D игр. Потом Unity покусилась на формат Flash, используя Molehill. Теперь, когда стало ясно, что формат flash больше не будет развиваться и поддерживаться, многие разработчики и художники обратили свой взор на Unity, как самую преемлемую среду создания 2D игр. Последняя версия Unity, предоставляет спектр фитч для реализации 2D приложений и игр. Продвинутый генератор спрайтов, спрайтовая анимация, физика для 2D, использование Mecanim для 2D анимации.

Устройства ввода. Это не связано напрямую с графикой, но когда начинаешь описывать возможности такой среды разработки как Unity, то трудно удержаться от соблазна взглянуть на весь спектр устройств, с которыми Unity может работать. Под устройствами ввода подразумеваются любые способы интерактивного контроля над приложением. Поскольку цель любого проекта - получение самодостаточного мультимедийного приложения, то важно думать не о редактировании проекта, а о том, как будет пользователь с ним взаимодействовать. Мышь, к примеру, имеет две оси перемещения в горизонтальной плоскости и три кнопки. Всего, пять инпутов. Клавиатура имеет только кнопки, но их достаточно много. Геймпад имеет несколько осей и кнопок, приблизительно около 20 инпутов. Мультитач, гироскоп, компас, акселерометр, микрофон и веб-камера, всё это устройства ввода с которыми работает Unity. Это обширный спектр возможностей. Unity- кроссплатформенная среда. Практически все известные устройства и операционные системы поддерживают Unity. Так же и большинство браузеров поддерживают Unity веб-сборки. На Unity можно создавать такие приложения, которые могут воспроизводить картинку на нескольких мониторах или одно приложение с различными клиентскими оболочками на различных устройствах. Область экспериментов ещё не исчерпана. Всё выше перечисленное делает возможным воплощать самые неожиданные идеи в интерактивной графической форме. Всё зависит от вас, вашего воображения и изобретательности.

477 0 850 4
15
2014-01-20
Суть статьи можно уложить в одну фразу: Для успеха проекта нужно доскональное планирование и контроль происходящего.
2014-01-20
Суть статьи в попытке популяризации игрового движка и работы в нем. Вопрос только в том, что работать в одиночку в таких пакетах так само сложно, как и изучить досконально пакет 3д графики - нельзя объять необъятное. невозможно на высоком уровне делать все - модели, текстуры, анимацию, шейдинг, скриптинг, пусть и типа кисмет.
2014-01-20
[quote=Legionaire] Суть статьи в попытке популяризации игрового движка и работы в нем. Вопрос только в том, что работать в одиночку в таких пакетах так само сложно, как и изучить досконально пакет 3д графики - нельзя объять необъятное. невозможно на высоком уровне делать все - модели, текстуры, анимацию, шейдинг, скриптинг, пусть и типа кисмет. [/quote] Есть такое утверждение, но так же есть и люди которые неплохо справляются со всеми этапами пайплайна. Я сталкивался с такими людьми. Отлично рисуют, моделят и при этом разбираются в коде. Генералисты. Специализация, конечно куда более распространённое явление.
2014-01-20
Вообще- то, конечно трудно удержать всё в голове и знать и то и это. При этом иметь видеоматериалы по той или иной теме весьма удобно. Я сам часто обращаюсь к своим же видеотуторам, чтобы вспомнить что- то что быстро забывается если не используется часто.
2014-01-21
Плохо, что на Юнити пока не выпущено ни одной топовой игры, которая показала бы максимум этого движка. То, что сама Юнити рекламирует в разделе Great Unity Games (http://unity3d.com/gallery/made-with-unity/game-list), выглядит, мягко говоря, не очень-то "great". Если бы не первопроходческие личные изыскания Юнити-гуру Майкла О., типа http://www.youtube.com/watch?v=Z7vQezk0ito, которые задают сильный тренд, то для меня потенциал движка выглядел бы бедновато. Да, УДОБСТВО Юнити бесспорно, сам параллельно изучаю CryEngine и вижу, что ветки официального Крайдев-форума забиты сетованиями о том, как в Юнити шикарно работать с ассетами и кодингом и как всё печально на этот счет в самом Крае, но, ИМХО, отсутствие некоего рекламного маяка в виде ААА-игр сильно тормозит интерес к более глубокому изучению Юнити.
2014-01-21
P.S. Я уже не говорю про цену. Чтобы создавать более-менее похожие на бесплатные УДК или Край проекты, приходится "разгонять" свой и без того недешевый Юнити до весьма серьезных цифр. У меня Юнька уже перевалила за 2 килодоллара, и только теперь я могу позволить себе ваять террейны уровня Края. Поневоле задумаешься.
2014-01-21
[i]"В областях, где графика менее зависима от программистов и маркетинга, художники остаются всё так же самодостаточны. Дизайнеры интерьеров, архитекторы, люди в одиночку создающие анимационные фильмы и музыкальные клипы, создающие всевозможный арт и эксперементирующие с видеоинсталяциями, иллюстраторы, промышленные дизайнеры. Всё это те люди, которые в состоянии реализовать свои творческие амбиции, без какого-либо внешнего влияния сторонних людей[/i]" - сущий бред, извините, какой нибудь архитектор Норман Фостер не обязан знать каким образом пишуться алгоритмы для рассчета аэродинамики здания, и это не лень или консервативность, а просто здравый смысл, каждый должен решать определенный круг задач и привносить в него свои идеи того или иного плана.
2014-01-21
[quote=Anton Gornakov] [/quote] Есть. бесспорно и таких не то что бы мало. Вопрос не в том , чтобы уметь ,разбираться и знать. Вопрос в том , что на практике применить свои знания выходит не у многих. для себя да ковыряние во всем этом приносит массу позитивных эмоций. ( кому интересно, конечно же), Но вот довести до логического завершения и показать что то нереально, в виду того, что нет возможности остановить время и успеть. А если геймдив это уже диагноз)) и совместить увлечение с работой, то уже хуже. Не нужны никому генералисты , на хорошую зарплату нужны узкие специалисты...общемировая тенденция и то во что сейчас превратилась индустрия. большие деньги и огромный конвейер. Плохо это или хорошо к Вашей статье это уже не относится. Как вводная статья интересная.
2014-01-21
[quote=Serge T.] Да, УДОБСТВО Юнити бесспорно, сам параллельно изучаю CryEngine и вижу, что ветки официального Крайдев-форума забиты сетованиями о том, как в Юнити шикарно работать с ассетами и кодингом и как всё печально на этот счет в самом Крае, но, ИМХО, отсутствие некоего рекламного маяка в виде ААА-игр сильно тормозит интерес к более глубокому изучению Юнити. [/quote] Я тоже параллельно рассматриваю различные движки. Сравниваю. Это вполне нормально. Всегда нужно искать альтернативы. У меня есть свои интересы в плане использования Unity и они не связаны с моей повседневной работой на прямую. Я рассматриваю Unity как весьма удобную среду в которой можно реализовывать свои идеи без оглядки на финансирование или поиски команды. Не всё ведь сводиться к деньгам. Есть ещё и творчество, которым занимаются ради удовольствия. Я получаю удовольствие от того что могу просто сесть и быстро сделать какой-то прототип за один раз. И вовсе никак не связанный с играми вообще. Разумеется, это индивидуально и у кого- то совсем другие идеи, цели и смыслы. Мне вот к примеру видится, что не всё сводится к ААА проектам. Я не агент Юнитеха, так что не стану восхвалять Unity. Это просто некая стартовая точка от которой можно выстраивать вектор движения в сторону более навороченных и громоздких решений. Далее, как говорится, уже опционально, на свой вкус и по своему усмотрению.
2014-01-21
К сожалению, соглашусь с Легионером. Классно, конечно, когда человек не только представляет себе весь пайплайн "от и до", но и может воспроизвести его, но практика показывает, что восхищение работой, а значит и востребованность автора, вызывает как раз узкоспециальная работа. Чем меньше разброс, тем глубже удается копнуть. Главное, не "закапываться" до абсурда, - когда один только скульптит и ничего не знает о риггинге, второй - только текстурит, третий - только анимирует и т.д. Общее понимание, всё-таки, должно присутствовать.
2014-01-21
[quote=Gordei] сущий бред, извините, какой нибудь архитектор Норман Фостер не обязан знать каким образом пишуться алгоритмы для рассчета аэродинамики здания, и это не лень или консервативность, а просто здравый смысл, каждый должен решать определенный круг задач и привносить в него свои идеи того или иного плана. [/quote] Вот уж это как раз и есть сущий бред. Архитектор просто обязан изучать подобные вещи. Тысячи подобных вещей. Сейчас архитекторы активно изучают возможности параметризма и параметрических инструментов. Идите и читайте Хитеку и "Точку ветвления". По поводу "каждый со своим делом". На одном из проектов возникла задача использовать специфические шейдера. Программист мог написать любой шейдер, но не понимал чего от него хотят. Я как текстурщик, прекрасно понимал чего хочу, но не знал как написать шейдер. Как результат- мы взаимно обогатились. Программист смог понять что нужно реализовывать, а я научился писать CG. Сделали ту графику которую хотели.
2014-01-21
[quote]Мне вот к примеру видится, что не всё сводится к ААА проектам.[/quote] Антон, конечно, вы правы. Дело, собственно, даже не в этом. Просто все мы в глубине души тянемся к более зрелищным, захватывающим вещам, таково уж свойство человеческой натуры. В практическом плане это означает выбор правильного инструментария - никто не хочет ошибиться и потратить несколько лет жизни на то, что дает заведомо худшее качество или отлично стартует, но потом просто загнется через несколько лет как Лайтвейв. Отсюда и холивары и неизбежные сомнения и сравнения - а на том ли я сижу? Юнити пока сделала ставку на определенную открытость, - к ней удобно делать расширения, она импортирует всё подряд, присоединяется хоть к микроволновке через ардуино, у нее простой кодинг, мега-коммьюнити и т.д. Это всё классно. Но мне, как разработчику, важно, планирует ли Юнити дальнейшее развитие собственно движка? Наращивание его возможностей не за счет платных расширений, по большей части непрофессиональных, а если профессиональных, то недешевых, а за счет внутреннего развития ресурсов движка? Чтобы для настойки, скажем, атмосферы, в моем распоряжении была не стандартная панелька из пары строчек, и не несколько расширений, сделанных Васями Пупкиными на коленке, за которые мне еще и доплатить придется 100-200 долларов, а нормальная полнофукциональная машина?
2014-01-21
[quote=Legionaire] Не нужны никому генералисты , на хорошую зарплату нужны узкие специалисты...общемировая тенденция и то во что сейчас превратилась индустрия. большие деньги и огромный конвейер. Плохо это или хорошо к Вашей статье это уже не относится. [/quote] Не совсем верное утверждение. Работу найти- проще некуда. Если вы генералист и собираетесь на фултайм, то просто соответствуйте ожиданиям работодателя. Нужен текстурщик? Вы текстурщик и есть. Нужен аниматор? Так вы аниматор. Лишнее болтать ни к чему и все скилы вываливать не нужно. Главное- соответствовать ожиданиям и должности. Генералист, вовсе не означает, что умеет всё, но плохо. Это ложное утверждение. Вот в Зоик студии почти все генералисты и каждый покрывает весьма объёмистый спектр задач. Объёмы графики для сериалов весьма не шуточные. Далать нужно быстро, качественно и всё сразу. И вообще, кто- то же должен видеть весь объём проекта с технической и художественной стороны одновременно. Иначе, каждый видит ногу или хобот, а слона никто целиком не видит. Это приводит к проблемам, с которыми ценные и дорогие специалисты потом героически борятся. Не всё и не везде разумно, но это не повод для уныния и однозначного утверждения, что генералисты не нужны. Они очень нужны, но те кому они нужны более всего, об этом не всегда знают.
2014-01-21
[quote=Serge T.] но потом просто загнется через несколько лет как Лайтвейв [/quote] Ну, Лайтвейв как старый и добрый упырь, не так прост, чтобы считаться мёртвым. Хотя и живым его не назовёшь. Лайтвейв и сейчас хорошь и весьма ценен в некоторых задачах. Работать с ним быстро и результат качественный. Смотря какие задачи. Нютеки упёртые и за свою историю имели не один эпический провал и скандалы внутри команды. Одним из таких казусов мы обязаны тому, что имеем весьма замечательный Modo (теперь уже Фаундри). [quote=Serge T.] мне, как разработчику, важно, планирует ли Юнити дальнейшее развитие собственно движка? Наращивание его возможностей не за счет платных расширений, по большей части непрофессиональных, а если профессиональных, то недешевых, а за счет внутреннего развития ресурсов движка? Чтобы для настойки, скажем, атмосферы, в моем распоряжении была не стандартная панелька из пары строчек, и не несколько расширений, сделанных Васями Пупкиными на коленке, за которые мне еще и доплатить придется 100-200 долларов, а нормальная полнофукциональная машина? [/quote] Развивают как могут. Я уже и не успеваю за обновлениями следить. Что не квартал- новый билд. Собственно Юнитех постоянно делится планами на развитие, а вот как собираются развивать тот же Анрил, не совсем очевидно. Для разработчиков, кстати, не маловажно на сколько среда разработки расширяемая. Ну вот к примеру, хочу я использовать некий специфический генератор (атмосферы, к примеру). Для Юньки сразу формируется план как это реализовать. При чём не сложно расщитать время и сложность разработки, чтобы понять во что это обойдётся. Если у программиста эта работа займёт две- три недели, то куда дешевле будет купить решение от Васи Пупкина. В большинстве случаев, для Юнити уже есть какие- то решения в сторе. Ну а если нету денег (как у большинства инди) или жалко, то садимся и пишем сами. Привлекательность Юнити не в том сколько туда напихают плюшек и свистелок, чтобы угодить всем, а максимальная расширяемость среды. Я к примеру, очень слабо представляю, на сколько это возможно, сделать свой встроенный редактор с интерфейсом в Крае или в UDK. Зато сделать редактор с интерфейсом в Юнити- это как само собой. Модульность среды- тоже плюс. Можно набирать только те недостающие инструменты что нужны именно сейчас, а не суперкомбайн стоимостью как самолёт. В большинстве случаев, покупка уже готовых решений, как минимум ускоряет разработку (есть от чего отталкиваться и что улучшать), как максимум- экономит деньги в виде человеко-часов разработки. Ведь не просто так выкладываются на продажу готовые проекты. Подбираете наиболее близкое соответствие к вашей идее, изучаете и начинаете менять механику, графику и прочее. У вас получится что-то совершенно новое, если приложите усилия, но будет сэкономлена масса нервов и времени. Ну и опять же, всё имеет какие- то разумные пределы. Если вы делаете что- то просто в своё удовольствие и никакой выгоды не ожидается, то конечно, вопросы оплаты инструментария просто раздражают. Если вы планируете извлекать прибыль, то уже нагловато будет требовать что- то за просто так или по дешевле. Разумеется, платить куда сподручней потом, когда прибыль будет. Вот и посмотрите какие роялити предоставляют разрабы разных движков. Васю Пупкина тоже обижать на надо. Он ведь старался, писал код, камментил всё, красивые банеры сдалал и доку написал с картинками, а вам 100 баксов жалко. )))
2014-01-24
Благодарю. Было интересно почитать. Полностью поддерживаю Антона. Считаю что следует последовательно прокачивать скиллы во всех сферах, ибо это даёт колоссальное могущество. Я сам начал с рисования в 2D - затем добавил навык работы с модо - затем забурился в zbrush - затем научился увязывать всё это друг с другом для получения качественных 3д моделей. На данный момент как выдастся свободная минутка - изучаю unity и в частности скриптинг на C#. Потрясающие ощущения, наконец-то я могу оживить свои творения) Мысль о том, что следует постоянно расширять свой кругозор и быть на все руки мастером поддерживает и Гейб Ньюэлл. [url]http://www.washingtonpost.com/blogs/the-switch/wp/2014/01/03/gabe-newell-on-what-makes-valve-tick/[/url] Другой вопрос - будет ли это нужно в той компании, где вы работаете? Всё таки принципы организации Valve особо нигде кроме очень маленьких студий не приживаются. Вот я сейчас тружусь в очень маленьком коллективе и тесно работаю с программистами. Так вот я попросил их дать мне попробовать покодить какие-то базовые вещи. Это был C++ и это было тяжело, но я сделал. Времени ушло раза в два больше чем у наших спецов, однако после этого я стал гораздо лучше понимать как всё устроено и как мы можем упростить интеграцию нового контента, что вылилось в значительном ускорении работы. Ещё один очень жирный плюс - постоянно сталкиваешься с новым и переосмысливаешь старое - понимаешь как работать быстрее. Дабы подытожить - это не для всех. Это требует серьёзного самоконтроля, усидчивости, терпения и времени. Очень много времени. Однако - если не рехнётесь и выдержите - для вас не будет закрытых дверей)
RENDER.RU