Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   API приложений и сред (http://www.flasher.ru/forum/forumdisplay.php?f=61)
-   -   [...] Посоветуйте 3D двигло (http://www.flasher.ru/forum/showthread.php?t=213993)

Godwarlock 18.03.2017 20:01

Посоветуйте 3D двигло
 
Всем привет. Дайте совет, какой использовать 3D фреймворк в совокупности со Starling? Такой чтобы еще можно было скелетные анимаци применять. Пока смотрю в сторону Away3D.

faraday 18.03.2017 21:44

чтобы выбирать и советовать надо определить критерии сравнения. тем более выбора щас как такового для 3д на флеше нет.

Godwarlock 18.03.2017 21:53

Ну в основном для сцены, некая территория небольших размеров, которая находится в статичном состоянии, может быть пару тройку анимаций, то есть не планируется делать мего крутые огромные карты с супе-дупер детальностями, так, для объема. Ну 2-4 персонажа на сцене, не более. Вот в прочем и все критерии. Скромно, но насыщенно. Ну я не флеш имел ввиду, скорее AIR

faraday 18.03.2017 22:01

ну так а чем не подходит тогда away?

Godwarlock 18.03.2017 22:30

В целом вроде всё подходит. И со старлингом нормально интегрируется вроде как, да и вроде более мене понятно, что к чему, да к тому же вроде бесплатный и с открытым исходным кодом, хотя не знаю, не смотрел.
Вопрос возник по методам загрузки модели и её анимаций.
Код AS3:

event.asset.assetType == AssetType.SKELETON
event.asset.assetType == AssetType.ANIMATION_NODE
event.asset.assetType == AssetType.MESH

MESH то понятно, содержит форму объекта.
ANIMATION_NODE - тут я так понимаю он содержит имена анимаций, заданных в 3д редакторе, который потом используются для проигрывания.
SKELETON - вот как это растрактовать, я пока не очень представляю. Что это за метод? Я так понимаю, он загружает костную анимацию меша, потом применяется
Код AS3:

skeletonAnimationSet = new SkeletonAnimationSet(3);

Где значение 3, это количество аниммаций.
Код AS3:

skeletonAnimator = new SkeletonAnimator(skeletonAnimationSet, event.asset as Skeleton, false);

Этот метод я так понял, обертка костей к мешу.
Поправьте, если где-то не прав.
Второй вопрос касательно текстурирования, то есть в меше хранятся все данные и по текстурингу? По каким критерям происходит обертка? По имени текстуры? То есть программа сравнивает имена и если они совпадают, то текстура запекается к установленному в 3Д редакторе фейсу?
И насколько Away3D будет производительным на мобильных платформах?

undefined 18.03.2017 22:33

если хочется более менее приемлемый фпс придется какую-нибудь технику отсечения невидимой геометрии применять(bsp tree/quad tree/octree) т.к. обычное отсечение пирамидой видимости+ отсечение нелицевых граней как правило недостаточно.Насколько я знаю что у away 3d, что у pappervision с этим все плохо

faraday 18.03.2017 22:42

если это одиночные объекты на карте и камера сверху. то отсекать лишнюю геометрию можно по радиусу.
в меше насколько я помню материалы не хранятся. есть только точки, грани, и координаты uvw. хотя uwv по сути и связывает вертекс с конкретной текстурой. кости - так же привязаны к вертексам, каждая со своим весом. а анимации - это просто трансформации костей. как это все соеденить лучше описано в самой доке.

Godwarlock 18.03.2017 22:48

faraday
Спасибо за разъяснение. В общем то в целом уже разобрался, что есть вообще 3д модель, сплошная геометрия и математика из точек))
Цитата:

хотя uwv по сути и связывает вертекс с конкретной текстурой.
То есть получается, запеченная текстура UW в 3D редакторе имеет имя загруженной текстуры texture_steel.png например, соответственно, когда я загружаю модель в away3D, в материал должна быть загружена текстура с точно таким же именем?

undefined 18.03.2017 22:52

Цитата:

если это одиночные объекты на карте и камера сверху. то отсекать лишнюю геометрию можно по радиусу.
тогда тут и 3д двиг особо не нужен, можно обойтись голым старлингом.

Godwarlock 18.03.2017 22:54

Приложение планируется с видом сбоку, с возможностью вращения камеры вокруг определенного обджекта, ну чтобы рассмотреть того же персонажа со всех сторон)


Часовой пояс GMT +4, время: 19:23.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.