#1 2018-06-03 07:55:41

Gecko
Админ
Из РФ, Казань
Зарегистрирован: 2018-06-02
Сообщений: 150
Сайт

Xtreme3D 3.7 [dev]

В этой теме я буду отписываться по прогрессу в разработке 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/re … tag/v3.7.0

В SDK добавлены новые примеры:

  • lightfx (демонстрация новой системы освещения)

  • kraft (физ. движок Kraft, создание тел и контроллера персонажа)

  • terrain (редактирование ландшафта)

  • interactiveui (порт примера Interactive UI для X3D 3.6)

Offline

#2 2018-06-05 09:11:18

van88268
Участник
Зарегистрирован: 2018-06-05
Сообщений: 86
Сайт

Re: Xtreme3D 3.7 [dev]

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


..//((( 
(((•.•)))              YOU TUBE                  இ}~ڿڰۣ-ڰۣ~—
..◢█◣
_./..I

Offline

#3 2018-06-05 11:00:26

Gecko
Админ
Из РФ, Казань
Зарегистрирован: 2018-06-02
Сообщений: 150
Сайт

Re: Xtreme3D 3.7 [dev]

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

Offline

#4 2018-06-11 06:42:39

FireRun
Разработчик Xtreme3D
Из Казахстана
Зарегистрирован: 2018-06-11
Сообщений: 127
Сайт

Re: Xtreme3D 3.7 [dev]

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

(Жду ужасно FBX big_smile )

Редактировался FireRun (2018-06-11 06:52:28)


Программист,Художник
музыкальный продюсер (FIRERUN): https://soundcloud.com/djfirerun
Xtreme3D Editor (Xtreme3D с графическим интерфейсом): https://vk.com/x3deditor

Offline

#5 2018-06-12 16:58:19

van88268
Участник
Зарегистрирован: 2018-06-05
Сообщений: 86
Сайт

Re: Xtreme3D 3.7 [dev]

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

Редактировался van88268 (2018-06-12 16:59:16)


..//((( 
(((•.•)))              YOU TUBE                  இ}~ڿڰۣ-ڰۣ~—
..◢█◣
_./..I

Offline

#6 2018-06-12 22:29:43

Gecko
Админ
Из РФ, Казань
Зарегистрирован: 2018-06-02
Сообщений: 150
Сайт

Re: Xtreme3D 3.7 [dev]

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

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

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

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

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

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

Offline

#7 2018-06-13 20:00:43

van88268
Участник
Зарегистрирован: 2018-06-05
Сообщений: 86
Сайт

Re: Xtreme3D 3.7 [dev]

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

Редактировался van88268 (2018-06-13 20:01:06)


..//((( 
(((•.•)))              YOU TUBE                  இ}~ڿڰۣ-ڰۣ~—
..◢█◣
_./..I

Offline

#8 2018-07-01 23:43:03

FireRun
Разработчик Xtreme3D
Из Казахстана
Зарегистрирован: 2018-06-11
Сообщений: 127
Сайт

Re: Xtreme3D 3.7 [dev]

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

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

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

Редактировался FireRun (2018-07-02 00:19:14)


Программист,Художник
музыкальный продюсер (FIRERUN): https://soundcloud.com/djfirerun
Xtreme3D Editor (Xtreme3D с графическим интерфейсом): https://vk.com/x3deditor

Offline

#9 2018-07-06 17:40:46

Gecko
Админ
Из РФ, Казань
Зарегистрирован: 2018-06-02
Сообщений: 150
Сайт

Re: Xtreme3D 3.7 [dev]

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

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

Offline

#10 2018-07-10 14:27:54

Gecko
Админ
Из РФ, Казань
Зарегистрирован: 2018-06-02
Сообщений: 150
Сайт

Re: Xtreme3D 3.7 [dev]

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

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

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

Offline

#11 2018-07-11 10:25:29

Gecko
Админ
Из РФ, Казань
Зарегистрирован: 2018-06-02
Сообщений: 150
Сайт

Re: Xtreme3D 3.7 [dev]

Добавил функции для редактирования карты высот:

BmpHDSCreateEmpty(width, height, fillHeight)
BmpHDSSetHeight(hds, x, y, height)
BmpHDSGetHeight(hds, x, y)
BmpHDSSave(hds, filename)
TerrainGetHDSPosition(terrain, x, y, z, index)

На их основе можно сделать редактор ландшафта, пример которого будет в SDK.

terrain2.jpg

Offline

#12 2018-07-12 15:32:59

FireRun
Разработчик Xtreme3D
Из Казахстана
Зарегистрирован: 2018-06-11
Сообщений: 127
Сайт

Re: Xtreme3D 3.7 [dev]

Ура  big_smile  smile


Программист,Художник
музыкальный продюсер (FIRERUN): https://soundcloud.com/djfirerun
Xtreme3D Editor (Xtreme3D с графическим интерфейсом): https://vk.com/x3deditor

Offline

#13 2018-07-14 08:32:55

Gecko
Админ
Из РФ, Казань
Зарегистрирован: 2018-06-02
Сообщений: 150
Сайт

Re: Xtreme3D 3.7 [dev]

Загрузчик FBX полностью готов, осталось дописать Kraft.

Offline

#14 2018-07-20 19:09:25

van88268
Участник
Зарегистрирован: 2018-06-05
Сообщений: 86
Сайт

Re: Xtreme3D 3.7 [dev]

FBX и  Kraft это круто  , кстати добавь эти функции )
Советую использовать программу milkshape3d для importa и exporta почти в любой формат , удобная и быстрая .

function WindowGetShow(w: real): real; stdcall;
var
  frm: TForm;
  show: Boolean;
begin
  frm := TForm(trunc64(w));
  result := Integer(frm.Showing);
end;

function WindowGetHeight(w: real): real; stdcall;
var
  frm: TForm;
  show: Boolean;
begin
  frm := TForm(trunc64(w));
  result := Integer(frm.Height);
end;

function WindowGetWidth(w: real): real; stdcall;
var
  frm: TForm;
  show: Boolean;
begin
  frm := TForm(trunc64(w));
  result := Integer(frm.Width);
end;

Редактировался van88268 (2018-07-21 05:33:51)


..//((( 
(((•.•)))              YOU TUBE                  இ}~ڿڰۣ-ڰۣ~—
..◢█◣
_./..I

Offline

#15 2018-07-21 06:51:55

Gecko
Админ
Из РФ, Казань
Зарегистрирован: 2018-06-02
Сообщений: 150
Сайт

Re: Xtreme3D 3.7 [dev]

Функции для окон уже добавил, вот в таком виде:

WindowIsShowing(window)
WindowGetSize(window, index)

Думаю скоро сделать релиз, сейчас работаю над примерами.

Offline

#16 2018-07-21 09:16:57

Gecko
Админ
Из РФ, Казань
Зарегистрирован: 2018-06-02
Сообщений: 150
Сайт

Re: Xtreme3D 3.7 [dev]

Выпустил Xtreme3D 3.7. Доступен SDK для Python, SDK для GM будет немного позже.

https://github.com/xtreme3d/xtreme3d/re … tag/v3.7.0

Offline

#17 2018-07-21 13:26:02

FireRun
Разработчик Xtreme3D
Из Казахстана
Зарегистрирован: 2018-06-11
Сообщений: 127
Сайт

Re: Xtreme3D 3.7 [dev]

Боже, я дожил до этого дня!  big_smile Жду SDK для GM и пример по FBX)

Редактировался FireRun (2018-07-21 14:13:44)


Программист,Художник
музыкальный продюсер (FIRERUN): https://soundcloud.com/djfirerun
Xtreme3D Editor (Xtreme3D с графическим интерфейсом): https://vk.com/x3deditor

Offline

#18 2018-07-21 15:06:07

Gecko
Админ
Из РФ, Казань
Зарегистрирован: 2018-06-02
Сообщений: 150
Сайт

Re: Xtreme3D 3.7 [dev]

SDK будет уже на днях smile  Просто я сейчас все тестирую на Python, а в GM делаю привязки в последнюю очередь, так гораздо проще.
Насчет примера FBX даже не знаю, он грузится привычным FreeformCreate - нужен ли отдельный пример для этого?

Offline

#19 2018-07-21 16:57:37

van88268
Участник
Зарегистрирован: 2018-06-05
Сообщений: 86
Сайт

Re: Xtreme3D 3.7 [dev]

1 ) fbx  поддержка идет только меша или например анимации юзать можно ?  )
2)Подключил новую версию xtreme3d в Develnext , релизну после тебя ))
3) добавь функ для зажатой клавишы и клика
4) почему только  8 источников света ?

Редактировался van88268 (2018-07-22 08:35:25)


..//((( 
(((•.•)))              YOU TUBE                  இ}~ڿڰۣ-ڰۣ~—
..◢█◣
_./..I

Offline

#20 2018-07-22 09:18:03

FireRun
Разработчик Xtreme3D
Из Казахстана
Зарегистрирован: 2018-06-11
Сообщений: 127
Сайт

Re: Xtreme3D 3.7 [dev]

Gecko пишет:

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

Синоним слова более - Больше big_smile

Gecko пишет:

+ Система LightFX для поддержки более 8 источников света на сцене

Редактировался FireRun (2018-07-22 09:27:07)


Программист,Художник
музыкальный продюсер (FIRERUN): https://soundcloud.com/djfirerun
Xtreme3D Editor (Xtreme3D с графическим интерфейсом): https://vk.com/x3deditor

Offline

#21 2018-07-22 17:18:13

Gecko
Админ
Из РФ, Казань
Зарегистрирован: 2018-06-02
Сообщений: 150
Сайт

Re: Xtreme3D 3.7 [dev]

Да, поддержки анимации пока нет, но я обязательно ей займусь в 3.8.
Насчет клика по спрайтам подумаю. Пока не определился, как это лучше реализовать.
Источников света при использовании LightFX можно создать сколько угодно - в примере для Python создается 64. Если создать больше, у меня приложение начинает подтормаживать, сказывается необходимость вызывать qsort в каждом кадре.

Offline

#22 2018-07-23 19:41:20

FireRun
Разработчик Xtreme3D
Из Казахстана
Зарегистрирован: 2018-06-11
Сообщений: 127
Сайт

Re: Xtreme3D 3.7 [dev]

А как же официальный FBX SDK от Autodesk ?
SDK FBX


Программист,Художник
музыкальный продюсер (FIRERUN): https://soundcloud.com/djfirerun
Xtreme3D Editor (Xtreme3D с графическим интерфейсом): https://vk.com/x3deditor

Offline

#23 2018-07-28 20:58:34

Gecko
Админ
Из РФ, Казань
Зарегистрирован: 2018-06-02
Сообщений: 150
Сайт

Re: Xtreme3D 3.7 [dev]

Выпустил SDK для GM8, скачать можно на GitHub.

FireRun пишет:

А как же официальный FBX SDK от Autodesk ?

Мне просто не хочется вставлять зависимости от закрытых библиотек и SDK. Все компоненты движка доступны под свободными лицензиями, хотелось бы, чтобы так было и в будущем.

Offline

#24 2018-07-29 08:11:18

FireRun
Разработчик Xtreme3D
Из Казахстана
Зарегистрирован: 2018-06-11
Сообщений: 127
Сайт

Re: Xtreme3D 3.7 [dev]

Урааа!!!  big_smile. Жалко FBX не до конца реализован, а так супер, пример с ландшафтом вообще удивил, Gecko умница smile
На этом разработка 3.7 закончена ?

Редактировался FireRun (2018-07-29 08:25:42)


Программист,Художник
музыкальный продюсер (FIRERUN): https://soundcloud.com/djfirerun
Xtreme3D Editor (Xtreme3D с графическим интерфейсом): https://vk.com/x3deditor

Offline

#25 2018-07-29 14:00:42

Gecko
Админ
Из РФ, Казань
Зарегистрирован: 2018-06-02
Сообщений: 150
Сайт

Re: Xtreme3D 3.7 [dev]

Да, если не обнаружатся баги.

Offline

Подвал доски

Под управлением FluxBB