Вы не вошли.
В этой теме я буду отписываться по прогрессу в разработке Xtreme3D 3.8. Можно высказывать идеи и пожелания.
Что планируется ("+" - выполнено, "-" - планируется, "?" - под вопросом, "x" - не реализовано):
x Сборка Actor'ов с нуля из вершин и треугольников, возможность задавать кадры анимации, кости скелета, привязку к костям, развесовку
x Поддержка анимированных моделей FBX
x Загрузка FBX как сцены (то есть, с сохранением иерархии объектов, их имен и трансформаций)
x Специализированные функции удаления объектов, для которых это необходимо
x Поддержка поворота шейпов в Kraft, а также новых типов сочленений
x Отладочный рендеринг шейпов Kraft
? Поддержка Terrain и ragdoll в Kraft
+ Физика ткани
? PerlinHDS для процедурных ландшафтов
? Внешние текстурные плагины для поддержки видеотекстур
Update 27-07-2019:
FireRun выпустил Xtreme3D 3.8
Xtreme3D 3.8 by FireRun (27.07.19)
(Xtreme3D)
Один из самых крупных релизов в ветке 3.x - было добавлено множество новых функций,новые примитивы, а так-же интегрированный новый физический движок для симуляции ткани,волос и мягких тел.
- Функция ViewerRenderToFilePNG сохраняет скриншот в формате PNG вместе с альфа каналом (прозрачности)
- Функция ViewerPixelRayToWorld
- Добавлена функция ViewerShadeModel, которая задает тип отображения нормалей у мешей,в заданном виде, то есть плоские нормали, или сглаженные
- Добавлен новый тип примитива Pipe, благодаря которому можно создавать различные трубчатые предметы, трубы,щупальца (К сожалению он не любит материалы...)
- Функция ActorGetAnimationName, возвращает имя анимации у Актера
- Функция ActorGetAnimationCount, возвращает количество анимаций у Актера
- Функция ActorAnimationDestroy, Удаляет определенную анимацию у Актера
- Функция ActorAnimationNextFrame, переключает кадр анимации на шаг вперед
- Функция ActorAnimationPrevFrame, переключает кадр анимации на шаг назад
- Функция ActorTriangleCount, возвращает количество треугольников в Актере
- Функция ActorSetFrame, Задает текущий кадр актера
- Функция MovementPathShow, позволяет отображать путь
- Функция MovementPathSetLoop, позволяет зациклить путь
- Функция MovementPathDeleteNode, Удаляет узел из пути
- Функции HUDSpriteXTiles,HUDSpriteYTiles, задают количество повторений текстур на HUDSprit'е
- Новый тип примитива TilePlane, для более детального тайлового текстурирования плоскости
- Добавлена функция FireFXRingExplosion
- Добавлена функция FreeformMeshObjectGetName которая возвращает имя меша в объекте свободной формы
- Добавлена функция FreeformMeshObjectSetName которая задает имя меша в объекте свободной формы
- Добавлена функция FreeformMeshObjectDestroy которая удаляет меш в объекте свободной формы
- Теперь менеджер DCE можно отсоединять от объектов функцией ObjectDestroy, и манипулировать стандартными функциями. Пример: dyn=DceDynamicSetManager(obj,mng); ObjectDestroy(dyn);.
- Функция ObjectFindByName возращает id объекта по имени
- Добавлен новый физический движок VerletWorld для симуляции ткани,веревок,волос, желе, и других мягких объектов, с учетом силы ветра, и гравитации(Исправления в справке)
- Изменены названия функций с MouseGetX на MouseGetPositionX итд
- Исправлены параметры функции ViewerCreate в уроке 2 c ViewerCreate(window_handle, 0, 0, 640, 480) на правильные ViewerCreate(0, 0, 640, 480, window_handle());(SDK)
- Добавлен пример по FPS
- Добавлен пример по Octree
- Добавлен пример по VerletWorld
- Изменен пример thirdperson
Offline
Урааааа!, буду ждать
И я тут подумал, смысл писать этот Xtreme3D 3.7.1 когда будет 3.8, тем более я там намудрил немного с HUDSpriteSetSize итд
Может добавишь функции ObjectGetMaterial, LightGetColor, а еще я вроде заметил что SpriteSetOrigin не работает с HUDSprite. А еще было бы круто добавить функцию благодаря которой можно было бы изменить влиянии кости на анимацию, например отключить влияние анимации на руке, можно даже сделать мини IK с помощью такой функции
BoneSetActive(actor,bone id,false,true) - false: отключить влияние на анимацию, true- приминать для потомков костей.
-Физика ткани? https://developer.nvidia.com/clothing
-Разукрасить текстуру, например как во многих шутерах, стреляешь по врагу и в месте попадания пули, остается след крови, не знаю может это как то можно реализовать в X3D, или такое можно допилить в движок)
Редактировался FireRun (2018-08-26 13:19:01)
Программист,Художник
музыкальный продюсер (FIRERUN): https://soundcloud.com/djfirerun
Xtreme3D Editor (Xtreme3D с графическим интерфейсом): https://vk.com/x3deditor
Offline
А что такое "PerlinHDS" ?
Программист,Художник
музыкальный продюсер (FIRERUN): https://soundcloud.com/djfirerun
Xtreme3D Editor (Xtreme3D с графическим интерфейсом): https://vk.com/x3deditor
Offline
Спасибо, буду знать, раньше думал что это так и называется noise (шум).
Gecko, не хватает функций для удаление объектов из каких то движков, например Navigator, DCE,ODE, итд, где только можно подключать объекты к каким-то либо движкам, в некоторых случаях это необходимо для геймплея, да и вообще, как-то более правильнее иметь такие функции, установка объекта в движок и его удаление.
Редактировался FireRun (2018-12-21 02:47:08)
Программист,Художник
музыкальный продюсер (FIRERUN): https://soundcloud.com/djfirerun
Xtreme3D Editor (Xtreme3D с графическим интерфейсом): https://vk.com/x3deditor
Offline
Нашел еще одной функции которой просто необходимо быть в X3D, что-то типа ObjectRaycastScene, только луч выпускается не в сторону локального направления (Direction), а направлен в вектор относительно локального вращения, например ObjectRaycastVector (obj,obj find,0,0) - выпускает луч из Direction, ObjectRaycastVector (obj,obj find,180,0) выпускает луч из спены, что то типа lengthdir_x/y в GameMaker'e
Программист,Художник
музыкальный продюсер (FIRERUN): https://soundcloud.com/djfirerun
Xtreme3D Editor (Xtreme3D с графическим интерфейсом): https://vk.com/x3deditor
Offline
Такое можно легко сделать путем создания Dummycube-потомка с нужным поворотом.
Тоже думал о таком, но если объектов много, лишняя память, да и не удобно)
Программист,Художник
музыкальный продюсер (FIRERUN): https://soundcloud.com/djfirerun
Xtreme3D Editor (Xtreme3D с графическим интерфейсом): https://vk.com/x3deditor
Offline
Как успехи? что-то уже готово?
Программист,Художник
музыкальный продюсер (FIRERUN): https://soundcloud.com/djfirerun
Xtreme3D Editor (Xtreme3D с графическим интерфейсом): https://vk.com/x3deditor
Offline
А можно добавить возможность сеттить поворот костей, а не поворачивать на определенное значение? Ну ОЧЕНЬ нужно :с
Offline
К сожалению, пока не приступал, мало свободного времени(
Эх, тоже самое с X3D Editor'ом
Программист,Художник
музыкальный продюсер (FIRERUN): https://soundcloud.com/djfirerun
Xtreme3D Editor (Xtreme3D с графическим интерфейсом): https://vk.com/x3deditor
Offline
Что-то у меня плохое предчувствие, уже прошло больше чем 3 месяца, а разработка еще не началась
Редактировался FireRun (2018-10-28 12:15:02)
Программист,Художник
музыкальный продюсер (FIRERUN): https://soundcloud.com/djfirerun
Xtreme3D Editor (Xtreme3D с графическим интерфейсом): https://vk.com/x3deditor
Offline
Кстати, интересная новость: BeRo, автор Kraft, выпустил свой загрузчик FBX для Дельфи, и, вполне возможно, что мне удастся прикрутить его вместо OpenFBX. Там есть поддержка анимации и всего остального. К сожалению, лицензия запрещает коммерческое использование, так что придется сделать две версии Xtreme3D - для коммерции и бесплатных игр. Либо развивать и дальше враппер OpenFBX. Я пока не решил.
Offline
Фуф, Я рад что ты еще на троне своего дела) Буду очень очень ждать) Удачи в разработке.
Программист,Художник
музыкальный продюсер (FIRERUN): https://soundcloud.com/djfirerun
Xtreme3D Editor (Xtreme3D с графическим интерфейсом): https://vk.com/x3deditor
Offline
Может успеешь что нибудь из этого реализовать пока не вышла 3.8.
-Поддержка формата моделей и анимаций Cal3D (Там есть поддержка морфинга)
-Преобразование примитива в Freeform.
-Удаление анимаций у актера.
-Изменения имени у материалов [готово].
-Функция для возврата меша у Freeform, без использования функции FreeformAddMesh.
-Функция которая возвращает отображаемое количество вертексов,граней,треугольников, в заданном виде.
-2D сурфейсы (как в GM) для более продвинутого интерфейса.
-Симулирование физики ткани. Я нашел исходник алгоритма ткани, написан кстати на GLScene вот.
Редактировался FireRun (2018-12-17 23:50:45)
Программист,Художник
музыкальный продюсер (FIRERUN): https://soundcloud.com/djfirerun
Xtreme3D Editor (Xtreme3D с графическим интерфейсом): https://vk.com/x3deditor
Offline
Заметил еще одну проблему, Origin у HUDSprite для маштабирования не работает, изменение размера спрайта все ровно идет от его центра, какие бы не выставлялись значения в SetOrigin
Программист,Художник
музыкальный продюсер (FIRERUN): https://soundcloud.com/djfirerun
Xtreme3D Editor (Xtreme3D с графическим интерфейсом): https://vk.com/x3deditor
Offline
Заметил несколько проблем в версии 3.7:
1.Объект ThorFX не сдвигается функцией ObjectSetPosition, это приводит к зависанию и вылету движка
2.Кажись в FPS Manager не работают столкновения, т.е. объект проваливается сквозь землю и проходит сквозь стены
3.Не хватает что-то вроде функций: ObjectPointToObjectX, ObjectPointToObjectY, ObjectPointToObjectZ,
т.к. функция ObjectPointToObject поворачивает объект в сторону другого по всем осям, а необходима к примеру
только ось Y. Пытался решить эту проблему с помощью манекенов, но корректного результата получить не удалось.
Редактировался ANDron23 (2019-02-12 15:06:14)
Offline
Xtreme3D 3.8 by FireRun (27.07.19)
(Xtreme3D)
Один из самых крупных релизов в ветке 3.x - было добавлено множество новых функций,новые примитивы, а так-же интегрированный новый физический движок для симуляции ткани,волос и мягких тел.
- Функция ViewerRenderToFilePNG сохраняет скриншот в формате PNG вместе с альфа каналом (прозрачности)
- Функция ViewerPixelRayToWorld
- Добавлена функция ViewerShadeModel, которая задает тип отображения нормалей у мешей,в заданном виде, то есть плоские нормали, или сглаженные
- Добавлен новый тип примитива Pipe, благодаря которому можно создавать различные трубчатые предметы, трубы,щупальца (К сожалению он не любит материалы...)
- Функция ActorGetAnimationName, возвращает имя анимации у Актера
- Функция ActorGetAnimationCount, возвращает количество анимаций у Актера
- Функция ActorAnimationDestroy, Удаляет определенную анимацию у Актера
- Функция ActorAnimationNextFrame, переключает кадр анимации на шаг вперед
- Функция ActorAnimationPrevFrame, переключает кадр анимации на шаг назад
- Функция ActorTriangleCount, возвращает количество треугольников в Актере
- Функция ActorSetFrame, Задает текущий кадр актера
- Функция MovementPathShow, позволяет отображать путь
- Функция MovementPathSetLoop, позволяет зациклить путь
- Функция MovementPathDeleteNode, Удаляет узел из пути
- Функции HUDSpriteXTiles,HUDSpriteYTiles, задают количество повторений текстур на HUDSprit'е
- Новый тип примитива TilePlane, для более детального тайлового текстурирования плоскости
- Добавлена функция FireFXRingExplosion
- Добавлена функция FreeformMeshObjectGetName которая возвращает имя меша в объекте свободной формы
- Добавлена функция FreeformMeshObjectSetName которая задает имя меша в объекте свободной формы
- Добавлена функция FreeformMeshObjectDestroy которая удаляет меш в объекте свободной формы
- Теперь менеджер DCE можно отсоединять от объектов функцией ObjectDestroy, и манипулировать стандартными функциями. Пример: dyn=DceDynamicSetManager(obj,mng); ObjectDestroy(dyn);.
- Функция ObjectFindByName возращает id объекта по имени
- Добавлен новый физический движок VerletWorld для симуляции ткани,веревок,волос, желе, и других мягких объектов, с учетом силы ветра, и гравитации
(Исправления в справке)
- Изменены названия функций с MouseGetX на MouseGetPositionX итд
- Исправлены параметры функции ViewerCreate в уроке 2 c ViewerCreate(window_handle, 0, 0, 640, 480) на правильные ViewerCreate(0, 0, 640, 480, window_handle());
(SDK)
- Добавлен пример по FPS
- Добавлен пример по Octree
- Добавлен пример по VerletWorld
- Изменен пример thirdperson
К сожалению у меня не вышло добавить PerlinHDS, не знаю с чем это связанно, но GM8 просто не прогружался с ним. Так же был бы рад если бы кто-то придумал функцию, с помощью которой можно было бы закрашивать TilePlane в реальном времени мышкой, у меня не получилось ее реализовать. Что насчет редактора карт, базовый функционал готов, но я столкнулся с багами, например когда клонируешь объект и затем выбираешь его в списке выходит ошибка, или моментами при сохранении карты из редактора просто выкидывает, буду признателен если его кто то протестирует, будут ли у вас подобные проблемы с ним.
Xtreme3D 3.8 SDK
Xtreme3D 3.8 Source
XMaper
Управление в XMaper:
Управление в редакторе я старался сделать в стиле Blender
Перемещение: выбираем объект, нажимаем G и двигаем по карте, нажимаем X или Z и двигаем по одной оси, с зажатым Space перемещаем по Y крутя колесо мыши.
масштаб: выбираем объект, нажимаем T , нажимаем X,Y или Z и масштабируем по одной оси, с зажатым Space масштабируется по всем осям.
Вращение: выбираем объект, нажимаем R , нажимаем X,Y или Z и вращаем по одной оси, с зажатым Space вращается по двум осям.
С зажатым Shift'ом включаеться режим сетки, работает он в режиме G и R
Чтобы загрузить карту в проект Xtreme3D, надо загрузить gex расширение и использовать код OpenMap('map file'),затем, чтобы найти id объекта из карты, надо использовать код ObjectFindByName, так как объекты в карте сохраняются с тем же именем, что и в редакторе карт.
Редактировался FireRun (2019-07-26 22:19:38)
Программист,Художник
музыкальный продюсер (FIRERUN): https://soundcloud.com/djfirerun
Xtreme3D Editor (Xtreme3D с графическим интерфейсом): https://vk.com/x3deditor
Offline
Очень круто! Рад, что мою разработку продолжают уже без меня)
В код пока не вникал, потестил новые примеры - очень впечатлили verlet-физика и пример octree.
Закинул исходники в ветку 3.8 репозитория: https://github.com/xtreme3d/xtreme3d/tree/3.8, хочу кое-что доделать и подчистить перед тем, как сливать с master. Но думаю новость на сайт можно добавить уже сейчас.
Offline
Offline