![]() |
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) |
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 добавлены новые примеры:
Xtreme3D 3.7 [dev] - van88268 - 06-05-2018 Добавь функц о которой я говорил , что бы fps не подымался а сразу 600 . добавь функц для роботы с окном открытое ли оно или закрытое и изменение названия его . И дай совет как сделать редактор который сохраняет в json и загружает ) ![]() Xtreme3D 3.7 [dev] - Gecko - 06-05-2018 Да, эту функцию как раз собирался добавить. И для окон тоже. Насчет json - можно использовать готовый парсер, они почти для всех языков есть. Для загрузки на стороне игры я могу, теоретически, встроить парсер в Xtreme3D, если сумею разобраться с каким-нибудь из парсеров для Delphi. Xtreme3D 3.7 [dev] - FireRun - 06-11-2018 Как обычно, я полон идеями и кровью. - Редактирование ландшафта в Real time,и геометрии и текстуры. - Gui, очень не хватает ![]() - буквально недавно понял что очень не хватает RayCast'a, что бы можно было вернуть как-то ID объекта,или тег,и конечно же кординаты конечной точки столкновения. - Можно было бы сделать Xtreme3D Editor, для построения карты, что бы она была не просто статическая как freeform, а с картой можно было как-то взаимосвязыватся , физика, подбор предметов итд (а вообще бы я имея твои знания свой движок бы сделал типа godot,unity) - Изменение текстуры анимированной модели, добавление несколько текстур для модели/uw, всегда делаю в своих играх костумизацию персонажа,смена одежды,смена скина, ввел такой "ChangeTextureExt (model1,"hairTexture",newTexHair)" и поменял текстуру или цвет волос, было бы полезно. (Жду ужасно FBX ![]() 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 (см. первый пост). |