Разобрался с парой декораторов, это на тот случай если нужны кастомные свойства в панельке свойств у entity.
если с Range все достаточно прозрачно, то для перечисления(выпадающего списка) нужно создавать доп. описание юзая Yasli-макросы.
https://github.com/CopyPasteBugs/VFiles/blob/master/RangeDecorato… ustom.cpp#L96
в рез-те получится такой списочек (в данном случае для смены модели у entity):
>видео, того чего они там у себя мутят:
ну молодцы, правда чет все тормозит xD
помню где-то в документации у крайтеков было пару слов уделено оптимизации ассетов, в их случае думаю именно оно и нужно в первую очередь http://docs.cryengine.com/display/CEMANUAL/CRYENGINE+V+Reference
во вторую FG(т.к. скорее всего они его юзают для всей логики), я не пробовал профилировать FlowGraph, но наверняка это как-то можно сделать, вычислить тормозящие моменты и сделать по иному.
ну а в третьх почему не юнити? огромное комьюнити, куча справочной информации (камушек, булыжник , валун в огород крутек), уроков... и потенциальных единомышленников
Недавно открыл для себя "хелперы" (helpers) которые можно сохранять с геометрией.
Первоначально я хотел попробовать сделать кнопочную панель(для всякого незатейливого окружения в сцене типа лифтов, дверей), а нажания ловить с помощью проверки луча и физических прокси модели. У меня получалось что каждая кнопка это уникальная физическая "прокся" в модели и в материале(с уникальным свойством поверхности SurfaceType чтобы её можно было как-то идентифицировать во время проверки). Но мне кажется кол-во под-материалов в материале сильно мало(8? 16? хз...) и допустим 15 - 32 кнопочную панель сделать не получится :) Потом на слаке был озвучен вариант с чтением текстуры объекта в который попал луч, но мне показалось это сильно избыточно для такой простой задачи... к тому же я пока не понял как найти имя текстуры в материале, вместо имени файла ф-я возврящает имя семплера "Diffuse", и вообще далее хоть как-то доковырятся до неё - я не разобрался еще %)
Затем там же мне посоветовали проверять, попадание в некотором радиусе от хелпера. После чего я начал ковырять BCry5 на предмет их наличия - как оказалось это были просто - "пустышки"(Empty). В общем ниже об этом и пойдет речь.
Так они выглядят в Блендере
Код рейкаста по кнопкам
Логика вполне рабочая, по идее можно развить в ассет в виде плагина для движка
Как это сделал Uni со своим плагином для Start / Splash Screen'a
демка от Ivan Hawkes, он делат RPG на крае5
https://github.com/ivanhawkes/Chrysalis/tree/ivan
ну не может один чел делать RPG, не может :)
innuendo
>ну не может один чел делать RPG, не может :)
сможет если захочет :) мб это RPG в "мизерных масштабах": комната там или пещера с одним драконом и 2-мя орками
ok, и он делает (если быть более точным)
Chrysalis is a plugin for CRYENGINE 5, written in C++11, that provides a foundation of features required to create action RPG
5.4.0_preview подъехал )
Preview Overview http://docs.cryengine.com/display/SDKDOC1/CRYENGINE+5.4.0+Preview
Migrating from CRYENGINE 5.3 to CRYENGINE 5.4 http://docs.cryengine.com/display/SDKDOC1/Migrating+from+CRYENGIN… CRYENGINE+5.4
https://github.com/CRYTEK/CRYENGINE/releases
В общем, исходников редактора еще нет.
А templates работают вне ланчера.
т.е. что бы получить работающий проект под preview-версию движка
нужно проделать следующее
1. Распаковать CRYENGINE_prerelease_5.4.0.83_pc.zip в C:\Program Files (x86)\Crytek\CRYENGINE Launcher\Crytek\CRYENGINE_5.4
2. Запустить в CRYENGINE_5.4\Tools\CryVersionSelector CMD под админом c "cryselect.exe Install"
3. Зарегать двиг, правой кнопкой мыши по файлу CRYENGINE_5.4/cryengine.cryengine
4. В CryProjects\%NewProjName% скопировать один из С++ шаблонов-проектов (из CRYENGINE_5.4\Templates\cpp)
5. затем выбрать в CryProjects\%NewProjName%\Game.cryproject, пкм - Switch Engine Version, выбираем 5.4
6. снова, выделить файл - CryProjects\%NewProjName%\Game.cryproject, пкм - Generate Solution
7. в папке CryProjects\%NewProjName%\Solutions\Game.win_x64 - лежит солюшен, компилим и запускаем.
8. для запуска Sandbox'a для проекта (Game.cryproject -> ПКМ-> Launch editor), возможно нужно запустить эту тулзовину CRYENGINE_5.4\Tools\SettingsMgr.exe
...
добавили Vulkan
>добавили Vulkan
Чет у меня не получилось http://docs.cryengine.com/display/CEPROG/Remote+Shader+Compiler настроить должным образом для него(
да и впрочем пока они его допиливают попользуюсь dx11 :)
"уничтожаемые объекты"
хз, как делали разрушаемые объекты в GameSDK, но я пока ничего другого не придумал - как прятать оригинальную геометрию и спавнить разбитую модель отдельными entity.
хотя у меня и есть идея насчет засскинненого разрушенного объекта с PE_ARTICULATED физикой.
с PE_ARTICULATED даже у статической модели физические прокси рассыпаются, но сама модель стоит на месте и не разваливается по частям(
Мне одному кажется, что движок мигрирует в сторону фреймворка?(CE3 выглядел каким-то более понятным, по видосикам) (не крутил сам, сужу чисто по этой теме)
>сужу чисто по этой теме
Ха-ха-ха, я хз куда он мигрирует...
Но, возможно, все это персонально, каждый использует инструмент по своему, я вот ковыряюсь больше в коде (в blank template) чем в Sanbox'e
Ты можешь попытаться сделать что-то в сандбоксе вообще ничего не кодируя на C++ / С# ))
NickGastovski
Ты работал у крайтеков ?
круто смотрится конечно, но не понятно сколько там фпс при этом ?
доступно 5-е превью
CRYENGINE 5.4.0 Preview 5
https://www.cryengine.com/news/cryengine-540-preview-5
Я как-то озадачивался вопросом: как же можно получить общий интерфейс для некоторой группы компонентов
оказывается очень просто:
затем берем либо интерфейс либо сам компонент
CRY_UNIT_TEST_CHECK_EQUAL(pComponent, pEntity->GetComponent<CUnifiedEntityComponent>( )); CRY_UNIT_TEST_CHECK_EQUAL( pComponent, pEntity->GetComponent<IUnifiedEntityComponent>( ));
на основе этого примера (юнит теста) сделал свои "собираемые объекты"
Тема в архиве.