Показать сообщение отдельно
Старый 01.01.2017, 10:44   #2565
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,743
Написано 5,461 полезных сообщений
(для 15,676 пользователей)
Ответ: Кто какую игру делает? Скрины

Сел, наконец, на новый год, пилить что-то отличное от работы.

Пилить решено было на двигле "Three.js". Долго выбирал между тремя вариантами: "допиливать дальше свойдвижок", PlayCanvas и Three.js, но в итоге выбор был сделан в пользу последнего, т.к. у второго слишком ональные, на мой взгляд, ограничения, хоть двиг и выглядит самым доработанным. Вариант "свойдвижок" несовместим с понятием "зарабатывать деньги" (я не хочу 4 года писать движок, а не игру). В Трижс, судя по примерам, как мне показалось, есть всё, что мне надо. На фотореал графоний я всё равно не рассчитываю (одному человеку без бабла на аутсорс не вытянуть всё равно соответствующий арт, нужно чтобы игра цепляла другими приколами, да и WebGL не место для него ящитаю). Кроме того, Трижс — один из самых старых и популярных двигов на ВебГЛ, он продолжает развиваться, у него довольно большое коммьюнити, где можно попросить помощь, что немаловажно. Минусы — в нём до сих пор много вещей не допилено, типичная ситуация с опенсорс: баг исправляет тот, кого он больше всех трахает. Такой-то выбор из трёх стульев.
Вариант "Юнити" не рассматривался, т.к. в нём дерьмовая поддержка WebGL и есть основания полагать, что её по объективным причинам там не будет никогда (не в ближайшие годы == никогда). А так конечно Юнити очень хорош, всем устраивает. Жаль, что он не смог в вебгл.
Другие ВебГЛ движки не рассматривались, т.к. либо нет нужных фич, либо маленькое коммьюнити/недавно появились, мне не надо так, чтобы через год поддержка двигла загнулась, и я бы остался с проектом на нём на руках, и крутись как хочешь. Тогда бы это превратилось в свойдвижок, только бы это был движокваси и сиди как хочешь с ним.

Первые впечатления от Three.js были весьма неплохие, несмотря на ряд странностей (которые можно завраппить и забыть о них), я всего за пару дней сделал сцену которую хотел для нужных мне экспериментов и достиг желаемого результата. Если даже вспоминать, как я залезал на Юнити, матюков было почти столько же, что есть показатель хороший.

Наконец, демке моей настала пора "одеться" в графику, и тут поджидал неприятный сюрприз. А именно: движок поддерживает до чёрта форматов моделей, но мне нужно экспортить модели из Макса, обязательна поддержка риггинга (ну а куда без него блин). Большинство поддерживаемых форматов про риггинг нихера не знают. Единственный более-менее нормальный вариант, на который я рассчитывал — FBX. Есть даже экземпл, где бежит человечек, загруженный из FBX и машет ручками. Но, как оказалось, FBX загружается весьма условно. Во-первых, поддерживается только ASCII-версия формата, что сразу раздувает даже простеньку модель на мегабайты. В принципе, это можно было бы пережить, мне много не надо. Также нет поддержки материалов (тут тоже мне многого не надо, тупо чтобы текстурки вручную не накидывать на модель меня устроит). И — самое главное — модель, экспортнутая из Макса в FBX, распидорасилась в кашу после того, как я попытался к ней применить анимацию. Поковыряв немного, я понял, что при загрузке накосяпорили ещё и с иерархией, в-общем, считай, поддержки FBX всё равно что нет. На другие форматы с риггингом экспортёров из Макса нет, да и доверия они не внушают (какие-то форматы, либо Вася Пупкин решил научить Three.js загружать модельки из его любимой игры про онемэ, либо форматы от каких-то левых проектов, тоже "на сдачу" с неясными перспективами).

В-общем, как ни прискорбно, пришлось всё-таки изобретать велосипед. Но велосипед у меня уже был вполне "на ходу". Когда я давно делал свойдвижок, я делал и формат моделей для него и экспортёр из Макса. Всё это добро неплохо сохранилось и поддерживало всё, что мне нужно, кроме материалов. Формат не держал материалы потому что я их не сподобился сделать в своёмдвижке, планировался одновременный ввод в эксплуатацию. Но — скелетка в наличии, это самое главное. Сегодня за полдня примерно зафигачил лоадер в Three.js пока что только статики.

На скрине — результат работы лоадера. То есть в принципе сработал как надо, чему я очень рад.
Осталось разобраться как в двигле работать со скелеткой, в принципе, есть пример её создания прямо в движке, так что не так всё плохо.
Ещё материалы допилить (тупо 1 меш = 1 текстура), это, полагаю, уже довольно просто.
Потом даже можно будет пойти в коммьюнити с моим лоадером, предложить включить, т.к. это будет единственный человеческий пайплайн из 3Д Макса в Трижс, ну, и бинарный, к тому же.

Ну а вообще, скрин говно, многа букаф, скоро снова работать, всё тлен
Миниатюры
Нажмите на изображение для увеличения
Название: three.js+webgl+-+geometry+-+cube+-+Mozilla+Firefox+2017-01-01+01.10.08.png
Просмотров: 1108
Размер:	386.2 Кб
ID:	22618  
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена


Последний раз редактировалось ABTOMAT, 02.01.2017 в 06:44.
(Offline)
 
Ответить с цитированием
Эти 8 пользователя(ей) сказали Спасибо ABTOMAT за это полезное сообщение:
Arton (01.01.2017), Gector (01.01.2017), IgorOK (01.01.2017), Mr_F_ (01.01.2017), m_512 (01.01.2017), Randomize (01.01.2017), St_AnGer (01.01.2017), Жека (05.01.2017)