Вы не вошли.
Страницы 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
Пытался еще добавить функцию для изменения центра спрайта (Origin) , но не вышло, OriginX/Y работают как кординаты объекта.
-Добавил функцию ObjectGetMaterial.
Редактировался FireRun (2018-08-05 22:55:38)
Программист,Художник
музыкальный продюсер (FIRERUN): https://soundcloud.com/djfirerun
Xtreme3D Editor (Xtreme3D с графическим интерфейсом): https://vk.com/x3deditor
Offline
-Дабавил новую фунцию, возвращает цвет источника света LightGetColor(light,index)
Index: 0- Ambient, 1- Diffuse, 2- Specular.
Программист,Художник
музыкальный продюсер (FIRERUN): https://soundcloud.com/djfirerun
Xtreme3D Editor (Xtreme3D с графическим интерфейсом): https://vk.com/x3deditor
Offline
-Добавлена функция для вращения спрайтов HUDSpriteSetRotation(sprite,angle);
-Добавлена функция для возвращения поворота спрайтов HUDSpriteGetRotation(sprite);
Программист,Художник
музыкальный продюсер (FIRERUN): https://soundcloud.com/djfirerun
Xtreme3D Editor (Xtreme3D с графическим интерфейсом): https://vk.com/x3deditor
Offline
-Добавил функцию для изменения центра спрайта HUDSpriteSetOrigin(sprite,x,y);
Программист,Художник
музыкальный продюсер (FIRERUN): https://soundcloud.com/djfirerun
Xtreme3D Editor (Xtreme3D с графическим интерфейсом): https://vk.com/x3deditor
Offline
Добавил ShowMessage(text) в стиле Windows, пока не знаю добавлять ли это в релиз, но может быть полезно при создании каких-то программ, редакторов с windows-подобным стилем.
Программист,Художник
музыкальный продюсер (FIRERUN): https://soundcloud.com/djfirerun
Xtreme3D Editor (Xtreme3D с графическим интерфейсом): https://vk.com/x3deditor
Offline
Мне кажется, такие функции, как HUDSpriteSetSize, HUDSpriteGetSize, HUDSpriteSetRotation и т.д. должны быть универсальными и работать для спрайтов-биллбордов тоже (так как в GLScene класс TGLHUDSprite является расширением TGLSprite). Т.е., будет SpriteSetSize, SpriteGetSize, SpriteSetRotation...
Offline
Действительно, я и забыл про другие типы спрайтов, спасибо, поправлю
Программист,Художник
музыкальный продюсер (FIRERUN): https://soundcloud.com/djfirerun
Xtreme3D Editor (Xtreme3D с графическим интерфейсом): https://vk.com/x3deditor
Offline
Offline
Насчет видео не уверен, так как непонятно, какие кодеки поддерживать. В принципе, можно прикрутить FFMpeg, надо поискать готовый биндинг для Delphi. Но если картинку с кодеком более-менее несложно сделать, то как быть со звуком? Нужно ли встраивать звуковой движок, и какой именно? И не получится ли так, что в игре в итоге будет использоваться два разных звуковых движка? (с высокой долей вероятности так и будет). В общем, полноценная поддержка видео сделает Xtreme3D сильно жирным, а сама фича нужна далеко не каждому. Вступительный видеоролик можно и сторонней библиотекой воспроизвести.
У меня есть еще давняя мысль реализовать поддержку DLL-плагинов к движку, которые добавляли бы поддержку дополнительных форматов текстур (и, в перспективе, моделей). Такой плагин мог бы обновлять текстуру материала в каждом кадре, декодируя видео своими средствами и, возможно, одновременно воспроизводя звук. Бонус от такого подхода - можно использовать видеотекстуру для любых целей, натягивать на модели, передавать в шейдеры, накладывать фильтры и т.д. Подобное решение было бы идеальным, но я пока не оценивал, реально ли такое сделать.
Offline
Только вчера про видео текстуры думал)
Было бы прикольно)
Программист,Художник
музыкальный продюсер (FIRERUN): https://soundcloud.com/djfirerun
Xtreme3D Editor (Xtreme3D с графическим интерфейсом): https://vk.com/x3deditor
Offline
Закончил версию 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
Эм, нет, я пише его на GM8, таких знаний в delphi нет чтобы писать его на нем
Но редактор будет вполне функциональным для различных задач, есть даже AI/обход путей и создание GUI в заготовке.
Не хватает только таких функций как- ActorDeleteObject, MaterialDeleteShader, MaterialDelete, и так далее, так как допустим при добавление анимации к актеру ее нельзя будет удалить, или убрать применении шейдера к материалу, то есть будет немного таких проблем где ты что то создаешь и изменить либо нельзя либо придется удалять объект и пересоздать по новому из за отсутствие некоторых функций в X3D
Редактировался FireRun (2018-08-22 17:27:39)
Программист,Художник
музыкальный продюсер (FIRERUN): https://soundcloud.com/djfirerun
Xtreme3D Editor (Xtreme3D с графическим интерфейсом): https://vk.com/x3deditor
Offline
Ну если редактор будет годный , я по пробую клон сделать под делфи , и да могу помочь в разработке ибо вещь нужная )
те функции можно добавить и самому же .
и каким способом ты AI сделал именно обход ? )
Редактировался van88268 (2018-08-22 18:08:00)
..//(((
(((•.•))) YOU TUBE இ}~ڿڰۣ-ڰۣ~—
..◢█◣
_./..I
Offline
и каким способом ты AI сделал именно обход ? )
Секрет производства
Новости по редактору пока буду публиковать сюды - https://vk.com/x3deditor
Редактировался FireRun (2018-08-22 19:03:22)
Программист,Художник
музыкальный продюсер (FIRERUN): https://soundcloud.com/djfirerun
Xtreme3D Editor (Xtreme3D с графическим интерфейсом): https://vk.com/x3deditor
Offline
Не хватает только таких функций как- ActorDeleteObject, MaterialDeleteShader, MaterialDelete, и так далее
Любой объект (кроме материалов) теперь можно удалить функцией ObjectDelete, но надо тестировать - если будут какие-то проблемы, то я добавлю специализированные функции удаления.
Offline
Вот как раз таки удаление материала и не хватает, создавать материал в редакторе можно, но удалять увы нет.
пару вопросов:
-Как удалить добавленную анимацию из актера?
-Применить шейдер к материалу можно, а как его обратно убрать из материала?
-Эти все объекты тоже удаляются с помощью ObjectDestroy- Camera,View, BumpShader итд,DceManager,OdeStatic и OdeDynamic ?
Так же столкнулся с проблемой, которой не хватает одной функции, LinesAddNode добавляет точки, но изменить их увы нельзя, может стоит добавить функция типа LineSetNode(line id,ind,x,y,z) ? .
Я не настолько знаком с GLScene и с структурой smd формата, но в X3D можно добавить функцию для добавления ключей анимации в актерах?, есть идея как в редакторе сделать анимацию для всех типов объектов, только это еще все надо оптимизировать, но с актерами... Без понятия)
Редактировался FireRun (2018-08-24 12:06:42)
Программист,Художник
музыкальный продюсер (FIRERUN): https://soundcloud.com/djfirerun
Xtreme3D Editor (Xtreme3D с графическим интерфейсом): https://vk.com/x3deditor
Offline
1. Анимацию удалить пока нельзя (я даже не уверен, что такая возможность есть в GLScene, надо посмотреть).
2. Чтобы удалить шейдер, попробуй сделать MaterialSetShader('material', 0). Я не пробовал (и не могу сейчас потестить), но, по идее, должно сработать.
3. Да, должны, но надо тестить. С удалением могут быть проблемы, если есть ссылки на объект - например, классический случай: удаление объекта с потомками.
4. LineSetNode могу добавить.
5. Скорее всего, в 3.8 я сделаю полный доступ к анимационным данным, можно будет собирать актеров с нуля, как freeform.
Offline
Переписал версию 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
Страницы 1
Тема закрыта