Xtreme3D Community
Xtreme3D 3.7 [dev] - Версия для печати

+- Xtreme3D Community (https://xtreme3d.ru/forums)
+-- Форум Xtreme3D (https://xtreme3d.ru/forums/forumdisplay.php?fid=3)
+--- Форум Разработка движка (https://xtreme3d.ru/forums/forumdisplay.php?fid=10)
+--- Темы: Xtreme3D 3.7 [dev] (/showthread.php?tid=1)

Страницы: 1 2 3


Xtreme3D 3.7 [dev] - Gecko - 06-03-2018

В этой теме я буду отписываться по прогрессу в разработке Xtreme3D 3.7. Можно высказывать идеи и пожелания.

Что уже готово:
+ Система LightFX для поддержки более 8 источников света на сцене
+ Интеграция физического движка Kraft
+ Выводятся сообщения об ошибке при загрузке моделей и текстур
+ Функция ObjectGetScale
+ ObjectDestroy работает для всех типов объектов Xtreme3D
+ Поддержка формата FBX для Freeform (пока без материалов)
+ Функция ViewerResetPerformanceMonitor
+ Функции ActorProxyObjectSetAnimationRange, ActorProxyObjectSetInterval
+ Дополнительные функции для работы с окнами (WindowSetIcon, WindowIsShowing)
+ Функции редактирования и сохранения BmpHDS (BmpHDSCreateEmpty, BmpHDSSetHeight, BmpHDSGetHeight, BmpHDSSave). Функция, возвращающая позицию пикселя BmpHDS в заданной точке на ландшафте (TerrainGetHDSPosition)
+ Функции для чтения и распаковки PAK-архивов (PakGetFileCount, PakGetFileName, PakExtract, PakExtractFile). Функция SetPakArchive теперь возвращает id PAK-файла, который необходим для вышеперечисленных функций. Также теперь поддерживаются сжатые PAK-архивы.
+ Функция HUDSpriteGetMouseOver для проверки, находится ли курсор над спрайтом (это максимум, что я могу сделать для упрощения создания GUI).

Что планируется:
- Написать пример игры от третьего лица с анимацией персонажа и столкновениями для камеры.

28.07.18 Выпустил SDK для GM8, см. ссылку ниже.

21.07.18. Выпустил source-релиз Xtreme3D 3.7.
Доступен SDK для Python, SDK для GM8 будет в ближайшее время.

https://github.com/xtreme3d/xtreme3d/releases/tag/v3.7.0

В SDK добавлены новые примеры:
  • lightfx (демонстрация новой системы освещения)
  • kraft (физ. движок Kraft, создание тел и контроллера персонажа)
  • terrain (редактирование ландшафта)
  • interactiveui (порт примера Interactive UI для X3D 3.6)



Xtreme3D 3.7 [dev] - van88268 - 06-05-2018

Добавь функц о которой я говорил , что бы fps не подымался а сразу 600 .
добавь функц для роботы с окном открытое ли оно или закрытое и изменение названия его .
И дай совет как сделать редактор который сохраняет в json и загружает ) Smile


Xtreme3D 3.7 [dev] - Gecko - 06-05-2018

Да, эту функцию как раз собирался добавить. И для окон тоже.
Насчет json - можно использовать готовый парсер, они почти для всех языков есть. Для загрузки на стороне игры я могу, теоретически, встроить парсер в Xtreme3D, если сумею разобраться с каким-нибудь из парсеров для Delphi.


Xtreme3D 3.7 [dev] - FireRun - 06-11-2018

Как обычно, я полон идеями и кровью.
- Редактирование ландшафта в Real time,и геометрии и текстуры.
- Gui, очень не хватает Sad
- буквально недавно понял что очень не хватает RayCast'a, что бы можно было вернуть как-то ID объекта,или тег,и конечно же кординаты конечной точки столкновения.
- Можно было бы сделать Xtreme3D Editor, для построения карты, что бы она была не просто статическая как freeform, а с картой можно было как-то взаимосвязыватся , физика, подбор предметов итд (а вообще бы я имея твои знания свой движок бы сделал типа godot,unity)
- Изменение текстуры анимированной модели, добавление несколько текстур для модели/uw, всегда делаю в своих играх костумизацию персонажа,смена одежды,смена скина, ввел такой "ChangeTextureExt (model1,"hairTexture",newTexHair)" и поменял текстуру или цвет волос, было бы полезно.

(Жду ужасно FBX Big Grin )


Xtreme3D 3.7 [dev] - van88268 - 06-12-2018

1)Редактирование ландшафта есть в glscene , но xtreme3d не все возможности использует - но думаю все со временем будет .
2)Gui - пример есть на форуме .
3)RayCast - есть читай справку.


Xtreme3D 3.7 [dev] - Gecko - 06-12-2018

Насчет ландшафта да, я хочу сделать ручное редактирование BmpHDS - по сути, рисование карты высот. Это можно сделать методами TBitmap.

Встроенного GUI пока нет, и я не уверен, что удастся его сделать - обычно интерфейс делают путем назначения действий неким событиям (нажата кнопка - выполняется функция). Назначить событию из DLL функцию среды, которая вызывает DLL, можно только при помощи указателей на функции, но с динамическими языками типа GML или Python это практически невозможно (во всяком случае, не с таким простым API, как в Xtreme3D). Всеми событиями и действиями проще управлять в вызывающей среде - а это означает, что нет большого смысла в каких-то дополнительных объектах GUI поверх спрайтов и объектов текста, если ими все равно придется управлять вручную.

Raycast есть - функции ObjectRaycast и ObjectSceneRaycast, они возвращают ID объекта. ObjectGetCollisionPosition и ObjectGetCollisionNormal возвращают точку и нормаль пересечения последней проверки.

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

Текстуры можно менять, если модель состоит из нескольких мешей/фейсгрупп. Можно фейсгруппе назначить отдельный материал функцией ActorFaceGroupSetMaterial.

FBX вот на днях только начал разбирать. Думаю реализовать сначала ASCII-версию формата. Бинарную пока не обещаю, потому что так и не нашел к ней полную спецификацию, но, в принципе, можно покопаться в экспортере из Blender.


Xtreme3D 3.7 [dev] - van88268 - 06-13-2018

Добавь функ для клика клавишей просто при нажатие код выполняется один раз .


Xtreme3D 3.7 [dev] - FireRun - 07-01-2018

Как там успехи с FBX? Поддержка морфов(Morphs) будет?.
Чем Kraft лучше нынешнего физического движка? И не будет ли проблем с Ragdoll?. Кстаати FBX тоже будет поддерживать Ragdoll?

Какая разница между бинарным и ASCII форматом fbx?

(Прошу прощение что столько много вопросов по fbx, просто это единственная проблема, из за которой я пока боюсь писать игру на X3D3)


Xtreme3D 3.7 [dev] - Gecko - 07-06-2018

Сейчас доделываю интеграцию Kraft - реализовал все типы геометрий и статические меши, создание тел, чтение и запись свойств тел, рейкаст. Остались только сочленения.
Kraft лучше, в первую очередь, нормальной проверкой столкновений, которая хорошо работает с мешами. Также в нем легче сделать контроллер персонажа (с ODE написать нормальный у меня так и не получилось, движения очень неестественные). В целом мне он пока нравится больше, чем ODE.
Ragdoll, скорее всего, пока можно будет создавать только вручную, задавая все размеры коллайдеров и параметры сочленений. Я попробую портировать встроенный Ragdoll GLScene на Kraft, но это уже долгосрочный план на Xtreme3D 3.8.

FBX, как уже говорил, только начал разбирать. ASCII-версия - это просто текстовое описание данных, его проще распарсить, потому что не требуется подробная документация по формату - там все человекочитаемо и интуитивно. Я думаю, любой экспортер позволяет выбрать версию.
Насчет поддержки каких-то расширенных возможностей FBX пока не думал. Скорее всего, в 3.7 будет реализована только загрузка геометрии. Я вообще не думаю, что получится сделать полноценную интерпретацию всех поддерживаемых фич FBX. Например, в GLScene нельзя смешивать вершинную и скелетную анимацию в одной модели, так что поддержка морфов точно отпадает.


Xtreme3D 3.7 [dev] - Gecko - 07-10-2018

Рад сообщить, что продвинулся с поддержкой FBX. Решил использовать готовую библиотеку для чтения бинарных FBX (OpenFBX), написал к ней минимальный C-враппер, скомпилированный в виде DLL, чтобы можно было использовать в Delphi. Уже работает загрузка статичных мешей, осталось реализовать иерархию, так что релиз Xtreme3D 3.7 не за горами.

Библиотека, кстати, поддерживает загрузку скелета, так что в перспективе можно будет загружать и анимированные меши.

Также добавил новые функции для окон и ActorProxy (см. первый пост).