#1 2018-08-04 22:02:53

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

Xtreme3D 3.7.1

Пока Gecko пишет Xtreme3D 3.8, добавляя всякие крутые шняги, я пишу мини версию Xtreme3d 3.7.1, в ней вряд-ли будет добавлено что-то глобальное, но будут добавлены различные вспомогательные и возможно полезные функции которых не было раньше.

Переписал версию Xtreme3D Editor 3.7.1, дополнял в основном для редактора (Xtreme3D Editor).

Функции для возврата данных о источниках света:
- LightGetColor (light,index) ind 0 - Ambient, ind 1 - Diffuse, 2 - Specular.
- LightGetShining (ind)
- LightGetAttenuation (ind)

Функции для изменения примитивов (геометрия,количество сегментов итд):
-SphereOptions (sphere,rad,slic,staks)
-CylinderOptions (cyl,topr,botr,h,slic,staks,loop)
- ConeOptions (cone,botr,h,slic,staks,loop)
-AnnulusOptions (an,inr,outr,h,slic,staks,loop)
-TorusOptions(tor,inr,outr,ring,side)
- DiskOptions (disk,inr,outr,starta,sweepa,loop,slic)
- FrustrumOptions(fr,basew,based,apexh,cuth)
- SphereGetOptions (sph,ind) - ind 0 - Radius, ind 1 - Slices, ind 2 - Stacks.
- CylinderGetOptions (cyl,ind) ind 0 -TopRadius,ind 1 - BottomRadius, ind 2 - Height,ind 3 - Slices, ind 4 - Stacks, ind 5 - Loops.
- ConeGetOptions (cone,ind)  ind 0 -BottomRadius,ind 1 - Height, ind 2 - Slices,ind 3 - Stacks, ind 4 - Loops.
- AnnulusGetOptions(an,ind) ind 0 -BottomInnerRadius,ind 1 - BottomRadius, ind 2 - Height,ind 3 - Slices, ind 4 - Stacks,ind 5 - Loops.
-TorusGetOptions(tor,ind)  ind 0 -MinorRadius,ind 1 - MajorRadius, ind 2 - Rings,ind 3 - Sides.
-DiskGetOptions (disk,ind) ind 0 -InnerRadius,ind 1 - OuterRadius, ind 2 - StartAngle,ind 3 - SweepAngle,ind 4 - Loops,ind 5 - Slices.
- FrustrumGetOptions(fr,ind) ind 0 -BaseWidth,ind 1 - BaseDepth, ind 2 - ApexHeight,ind 3 - Height.
-PlaneOptions(plane,squad,xt,yt)
-PlaneGetOptions (plane,index return) - index 0 - X Tiles, index 1 - Y Tiles.
- CubeGetNormalDirection (ind)
-SphereGetAngleLimits(sphere,index) ind 0 - Start, ind 1 - Stop, ind 2 - Top, ind 3 - Bottom.
-SphereSetAngleLimits(sphere,starta,stopa,topa,bottoma)

Функция которая возвращает имя материала у объектов:
- ObjectGetMaterial(ind obj)

Функции для возврата цвета и прозрачности у материалов:
- MaterialGetColor(mat name,ind) ind 0 - Ambient, ind 1 - Diffuse, ind 2 - Specular, ind 3 - Emission.
- MaterialGetAlpha(mat name,ind) ind 0 - Ambient, ind 1 - Diffuse, ind 2 - Specular, ind 3 - Emission.

-Функции для изменения сетки:
- GridSetTille(grid,x,y,z)
- GridSetStep(grid,step)

Скачать

Редактировался FireRun (2018-12-16 20:52:57)


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

Offline

#2 2018-08-05 08:21:02

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

Re: Xtreme3D 3.7.1

Спасибо, внес в репозиторий. Действительно, функции нужные - странно, что я их сам не добавил.
Если в ближайшее время не накопится слишком много изменений, можно выпустить 3.7.1 в виде патча.

Offline

#3 2018-08-05 14:47:04

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

Re: Xtreme3D 3.7.1

Пытался еще добавить функцию для изменения центра спрайта (Origin) , но не вышло, OriginX/Y работают как кординаты объекта.

-Добавил функцию ObjectGetMaterial.

Редактировался FireRun (2018-08-05 22:55:38)


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

Offline

#4 2018-08-05 22:28:59

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

Re: Xtreme3D 3.7.1

-Дабавил новую фунцию, возвращает цвет источника света LightGetColor(light,index)
Index: 0- Ambient, 1- Diffuse, 2- Specular.


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

Offline

#5 2018-08-06 04:02:49

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

Re: Xtreme3D 3.7.1

-Добавлена функция для вращения спрайтов HUDSpriteSetRotation(sprite,angle);
-Добавлена функция для возвращения поворота спрайтов HUDSpriteGetRotation(sprite);


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

Offline

#6 2018-08-06 06:56:13

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

Re: Xtreme3D 3.7.1

-Добавил функцию для изменения центра спрайта HUDSpriteSetOrigin(sprite,x,y);


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

Offline

#7 2018-08-06 11:04:45

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

Re: Xtreme3D 3.7.1

Добавил ShowMessage(text) в стиле Windows, пока не знаю добавлять ли это в релиз, но может быть полезно при создании каких-то программ, редакторов с windows-подобным стилем.


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

Offline

#8 2018-08-06 15:35:54

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

Re: Xtreme3D 3.7.1

Мне кажется, такие функции, как HUDSpriteSetSize, HUDSpriteGetSize, HUDSpriteSetRotation и т.д. должны быть универсальными и работать для спрайтов-биллбордов тоже (так как в GLScene класс TGLHUDSprite является расширением TGLSprite). Т.е., будет SpriteSetSize, SpriteGetSize, SpriteSetRotation...

Offline

#9 2018-08-06 17:22:23

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

Re: Xtreme3D 3.7.1

Действительно, я и забыл про другие типы спрайтов, спасибо, поправлю smile


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

Offline

#10 2018-08-08 11:03:37

ANDron23
Участник
Зарегистрирован: 2018-07-04
Сообщений: 8
Сайт

Re: Xtreme3D 3.7.1

Т.к. тему по Xtreme3D 3.7 уже закрыли пишу здесь. Планируется ли введение в следующей версии поддержки видео форматов, с возможностью изменения ширины и высоты, например как объект HUDSprite, и возможно ли это?

Offline

#11 2018-08-08 20:07:04

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

Re: Xtreme3D 3.7.1

Насчет видео не уверен, так как непонятно, какие кодеки поддерживать. В принципе, можно прикрутить FFMpeg, надо поискать готовый биндинг для Delphi. Но если картинку с кодеком более-менее несложно сделать, то как быть со звуком? Нужно ли встраивать звуковой движок, и какой именно? И не получится ли так, что в игре в итоге будет использоваться два разных звуковых движка? (с высокой долей вероятности так и будет). В общем, полноценная поддержка видео сделает Xtreme3D сильно жирным, а сама фича нужна далеко не каждому. Вступительный видеоролик можно и сторонней библиотекой воспроизвести.

У меня есть еще давняя мысль реализовать поддержку DLL-плагинов к движку, которые добавляли бы поддержку дополнительных форматов текстур (и, в перспективе, моделей). Такой плагин мог бы обновлять текстуру материала в каждом кадре, декодируя видео своими средствами и, возможно, одновременно воспроизводя звук. Бонус от такого подхода - можно использовать видеотекстуру для любых целей, натягивать на модели, передавать в шейдеры, накладывать фильтры и т.д. Подобное решение было бы идеальным, но я пока не оценивал, реально ли такое сделать.

Offline

#12 2018-08-10 06:42:00

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

Re: Xtreme3D 3.7.1

Только вчера про видео текстуры думал)
Было бы прикольно)


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

Offline

#13 2018-08-19 10:33:22

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

Re: Xtreme3D 3.7.1

Закончил версию 3.7.1. Пишу редактор "Xtreme3D Editor" в духе Unity.
Можно создать карту со всеми фишками xtreme3d и загрузить в gm8 с помощью одной строчки кода, так же на Xtreme3D Editor вполне можно создать игру не использовав Game Maker, только его язык GML, и сохранить в EXE.
Как будет готова более не менее стабильная версия, создам отдельную тему.
Xtreme3D 3.7.1 выложу вместе в первой версией редактора.


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

Offline

#14 2018-08-19 11:38:38

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

Re: Xtreme3D 3.7.1

Редактор - это шикарно! Думаю, что всем он пригодится, так что можно будет добавить его в SDK.

Offline

#15 2018-08-19 13:48:24

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

Re: Xtreme3D 3.7.1

ты пишешь его на delphi ?
так как хотелось бы его юзать на всех яп , а не только на Гм8. tongue

Редактировался van88268 (2018-08-19 14:28:38)


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

Offline

#16 2018-08-22 17:19:45

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

Re: Xtreme3D 3.7.1

Эм, нет, я пише его на GM8, таких знаний в delphi нет чтобы писать его на нем  big_smile
Но редактор будет вполне функциональным для различных задач, есть даже AI/обход путей и создание GUI в заготовке.
Не хватает только таких функций как- ActorDeleteObject, MaterialDeleteShader, MaterialDelete, и так далее, так как допустим при добавление анимации к актеру ее нельзя будет удалить, или убрать применении шейдера к материалу, то есть будет немного таких проблем где ты что то создаешь и изменить либо нельзя либо придется удалять объект и пересоздать по новому из за отсутствие некоторых функций в X3D   sad

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


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

Offline

#17 2018-08-22 18:06:20

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

Re: Xtreme3D 3.7.1

Ну если редактор будет годный , я по пробую клон сделать под делфи ,  и да могу помочь в разработке ибо вещь нужная ) 
те функции можно добавить и самому  же  .
и каким способом ты AI сделал именно обход ? )

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


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

Offline

#18 2018-08-22 18:44:39

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

Re: Xtreme3D 3.7.1

van88268 пишет:

и каким способом ты AI сделал именно обход ? )

Секрет производства  smile
Новости по редактору пока буду публиковать сюды - https://vk.com/x3deditor

Редактировался FireRun (2018-08-22 19:03:22)


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

Offline

#19 2018-08-23 07:02:42

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

Re: Xtreme3D 3.7.1

Не хватает только таких функций как- ActorDeleteObject, MaterialDeleteShader, MaterialDelete, и так далее

Любой объект (кроме материалов) теперь можно удалить функцией ObjectDelete, но надо тестировать - если будут какие-то проблемы, то я добавлю специализированные функции удаления.

Offline

#20 2018-08-24 11:58:52

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

Re: Xtreme3D 3.7.1

Вот как раз таки удаление материала и не хватает, создавать материал в редакторе можно, но удалять увы нет.
пару вопросов:
-Как удалить добавленную анимацию из актера?
-Применить шейдер к материалу можно, а как его обратно убрать из материала?
-Эти все объекты тоже удаляются с помощью ObjectDestroy- Camera,View, BumpShader итд,DceManager,OdeStatic и OdeDynamic ?

Так же столкнулся с проблемой, которой не хватает одной функции, LinesAddNode добавляет точки, но изменить их увы нельзя, может стоит добавить функция типа LineSetNode(line id,ind,x,y,z) ? smile.

Я не настолько знаком с GLScene и с структурой smd формата, но в X3D можно добавить функцию для добавления ключей анимации в актерах?, есть идея как в редакторе сделать анимацию для всех типов объектов, только это еще все надо оптимизировать, но с актерами... Без понятия)

Редактировался FireRun (2018-08-24 12:06:42)


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

Offline

#21 2018-08-24 14:46:03

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

Re: Xtreme3D 3.7.1

1. Анимацию удалить пока нельзя (я даже не уверен, что такая возможность есть в GLScene, надо посмотреть).
2. Чтобы удалить шейдер, попробуй сделать MaterialSetShader('material', 0). Я не пробовал (и не могу сейчас потестить), но, по идее, должно сработать.
3. Да, должны, но надо тестить. С удалением могут быть проблемы, если есть ссылки на объект - например, классический случай: удаление объекта с потомками.
4. LineSetNode могу добавить.
5. Скорее всего, в 3.8 я сделаю полный доступ к анимационным данным, можно будет собирать актеров с нуля, как freeform.

Offline

#22 2018-12-16 20:50:06

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

Re: Xtreme3D 3.7.1

Переписал версию Xtreme3D Editor 3.7.1, дополнял в основном для редактора (Xtreme3D Editor).

Функции для возврата данных о источниках света:
- LightGetColor (light,index) ind 0 - Ambient, ind 1 - Diffuse, 2 - Specular.
- LightGetShining (ind)
- LightGetAttenuation (ind)

Функции для изменения примитивов (геометрия,количество сегментов итд):
-SphereOptions (sphere,rad,slic,staks)
-CylinderOptions (cyl,topr,botr,h,slic,staks,loop)
- ConeOptions (cone,botr,h,slic,staks,loop)
-AnnulusOptions (an,inr,outr,h,slic,staks,loop)
-TorusOptions(tor,inr,outr,ring,side)
- DiskOptions (disk,inr,outr,starta,sweepa,loop,slic)
- FrustrumOptions(fr,basew,based,apexh,cuth)
- SphereGetOptions (sph,ind) - ind 0 - Radius, ind 1 - Slices, ind 2 - Stacks.
- CylinderGetOptions (cyl,ind) ind 0 -TopRadius,ind 1 - BottomRadius, ind 2 - Height,ind 3 - Slices, ind 4 - Stacks, ind 5 - Loops.
- ConeGetOptions (cone,ind)  ind 0 -BottomRadius,ind 1 - Height, ind 2 - Slices,ind 3 - Stacks, ind 4 - Loops.
- AnnulusGetOptions(an,ind) ind 0 -BottomInnerRadius,ind 1 - BottomRadius, ind 2 - Height,ind 3 - Slices, ind 4 - Stacks,ind 5 - Loops.
-TorusGetOptions(tor,ind)  ind 0 -MinorRadius,ind 1 - MajorRadius, ind 2 - Rings,ind 3 - Sides.
-DiskGetOptions (disk,ind) ind 0 -InnerRadius,ind 1 - OuterRadius, ind 2 - StartAngle,ind 3 - SweepAngle,ind 4 - Loops,ind 5 - Slices.
- FrustrumGetOptions(fr,ind) ind 0 -BaseWidth,ind 1 - BaseDepth, ind 2 - ApexHeight,ind 3 - Height.
-PlaneOptions(plane,squad,xt,yt)
-PlaneGetOptions (plane,index return) - index 0 - X Tiles, index 1 - Y Tiles.
- CubeGetNormalDirection (ind)
-SphereGetAngleLimits(sphere,index) ind 0 - Start, ind 1 - Stop, ind 2 - Top, ind 3 - Bottom.
-SphereSetAngleLimits(sphere,starta,stopa,topa,bottoma)

Функция которая возвращает имя материала у объектов:
- ObjectGetMaterial(ind obj)

Функции для возврата цвета и прозрачности у материалов:
- MaterialGetColor(mat name,ind) ind 0 - Ambient, ind 1 - Diffuse, ind 2 - Specular, ind 3 - Emission.
- MaterialGetAlpha(mat name,ind) ind 0 - Ambient, ind 1 - Diffuse, ind 2 - Specular, ind 3 - Emission.

-Функции для изменения сетки:
- GridSetTille(grid,x,y,z)
- GridSetStep(grid,step)

Скачать

Редактировался FireRun (2018-12-16 20:53:25)


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

Offline

#23 2018-12-17 17:29:50

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

Re: Xtreme3D 3.7.1

Круто! Добавил на сайт, чуть позже залью все новые функции в репозиторий.

Offline

Подвал доски

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