>иначе шрифты выглядели отвратно
Я не разбирался в UI( кроме случая с push2dImage), но думаю вариантов нарисовать текст много, например в примере со звездолетом на С# для текста, они юзают динамические текстуры и копируют в них нужный текст из GDI, а так же для UI юзается *.gfx файлы, которые вроде бы как калька *.swf
codingmonkey
> они юзают динамические текстуры и копируют в них нужный текст из GDI
Ты считаешь что лучше так делать ? Всё что угодно лишь бы HW-friendly ?
Я ничего не считаю, и боюсь быть посчитанным )
Скажем так для основной массы текстур в играх сжатый формат текстуры - оптимален, но есть исключения и я не о всех знаю.
Потом я потрудился залезть в UI C# Framework, вот такую текстуру они юзают для UI элементов, как видишь она - RGBA (без какой либо компрессии)
void CreateTexture(int width, int height, byte[] data) { Width = width; Height = height; var flags = ( int)ETextureFlags.FT_NOMIPS; if ( _isRendertarget) flags = ( int)ETextureFlags.FT_DONT_STREAM | ( int)ETextureFlags.FT_DONT_RELEASE | ( int)ETextureFlags.FT_USAGE_RENDERTARGET; _ceTex = Env.Renderer.CreateTexture ( "MF", Width, Height, 1, data, ( byte)ETEX_Format.eTF_R8G8B8A8, flags); _ceTex.SetClamp ( false); _ceTex.SetHighQualityFiltering ( _isFiltered); _texId = _ceTex.GetTextureID ( ); }
По поводу GDI это они так решили сделать.
cry-patsy выкaтил на публику python-скрипт(https://github.com/patsytau/ce_tools) для сборки вашей игры, для того чтобы ваши друзья могли в нее поиграть :)
Я решил записать короткую инструкцию о том как это выглядит.

Вес моей собранной тестовой tps_02 = ce_game (on desktop) = 680mb :)
- из глюков пока замечено, то что отвалилась анимация моих персов (бегают в бинд позе), но я так подозреваю это по причине того что нужно перед этим "билдом в релиз" нужно как-то хитро собрать все анимашки в какую-то единую базу данных, чего естественно я не сделал поскольку не умею еще )
для реального релиза игры рекомендуется все-таки шифровать ассеты и использовать более сложные махинации в билл процессе.
edit:
Если не юзается mono (игра написана на с++) то можно попытаться удалить в билде (ce_game) папку mono и CryMonoBridge.dll
Вес собранной сценки с пандами в моем случае после этих манипуляций составил уже - 440mb (-240 mb)
После сжатия WinRar'ом - > 100mb
codingmonkey
Продолжай писать о результатах своих исследований движка, читаю с интересом :)
да продолжу конечно, помаленьку ковыряюсь)
но, как мне помнится ты куда лучше в нем разбираешься, не ?
Шейдера меня волнуют больше всего :)
Ну и код RenderSystem
>Шейдера меня волнуют больше всего :)
вот же лежат )
https://github.com/CRYTEK-CRYENGINE/CRYENGINE/tree/release/Engine… Scripts/CryFX
Я как-то пытался создать свой шейдер, просто копию существующего (Illum) но с другим именем, чтобы его начать ковырять и смотреть на результаты изменений в редакторе.
но там какая-то разножопица получилась, редактор (Sandbox) скидывал shaderlist.xml(типа список из дефайнов, какой шейдер требуется собрать) в папку с проектом C:\Cry\Tps02\... а remote shader compiler ждал это файл в папке с движком (в Program Files...) как я понял, и меняя что либо в редакторе я нифига не получал кроме ошибок в консоли - о том что нет такого шейдера. Но вроде среди последних коммитов на гитхабе, я видел что-то про фиксы путей для шейдеров мб в 5.3 заработает, но возможно я то-то накосячил с настройками.
В общем по шагам замечательной инструкции (http://noostyche.ru/blog/2016/07/19/sborka-cryengine-5-1-1-iz-iskhodnikov/), сборка актуальной версии движка.
результаты сборки лежат в
if used [profile] ...CRYENGINE 5.2\bin\win_x64
if used [release] ...CRYENGINE 5.2\bin\win_x64_release
И что интересно в при сборке select-all projects in solution -> build selected - что-то может не собраться
так у меня ...SDLmixer.dll не собирается и еще что-то..., а в индивидуальном порядке - собирается

>Шейдера меня волнуют больше всего :)
Кстати как Collin и обещал они с Филипом записали несколько новых уроков
В числе которых есть урок про шейдеры )

Сборка движка

codingmonkey
С высоты нескольких месяцев изучения крайэнжина, скажи, тебе удалось найти в движке некую киллер-фичу, которая ставит крайэнжин на голову выше урхо? Ну не считая шейдеров, которые можно перенести в урхо.
>С высоты нескольких месяцев изучения крайэнжина,
наверное уже месяц ничего не делал более или менее вразумительного, просто периодически читаю конфу на слаке https://crycommunity.slack.com/messages/cryengine/ ну и пытаюсь всякое по мелочи
>тебе удалось найти в движке некую киллер-фичу
Хз, надо подумать... пожалуй да - я не пишу движок )) но, меня не покидает ощущение что это Уха5-й версии из будущего, со своими глюками и багами )
Урхо ни смотря ни на что все-равно замечательный двиг )
ну а вообще фич лично для меня несколько:
- Графические возможности с головой превосходят все мои ожидания, все равно у меня crappy-ассеты )
- Анимационная система: Маникен с BlendSpace'ми, - управляя всего 1-3 параметрами получаем анимацию перса...
- Модульность и расширяемость логики игры через FG, допустим пишу некоторою самостоятельную с точки зрения мира игры сущность(интерактивный перфаб) на с++ и оформляю ей FlowGraph интерфейс.
С заранее продуманной логикой связей между этими штуками (FG) получается очень удобно прототипировать что-то новое на основе своих префабов.
- Край енджине пока еще не зациклен на мобильной графике (что огромный +) т.к десктопный вариант движка не страдает в угоду поддержки обширного числа яблок и китайских ведер, но он зациклен на VR на что мне пофиг
...
Добавлю, так же старые туториалы Parham'ма по Scaleform UI (по крайней мере из них можно понять основы как использовать Flash -> gfx для менюх)
не могу найти Renderer под конзоли - где взять ? :)
Он Free(PWYW) на PC Linux/Win для соснолек другая история вроде же...
У тебя есть сертификат девелопера или что там они дают Соники? Если да, пиши в суппорт крайтеков они тебе должны будут предоставить все недостающее для соснолек.
Помоем так это работает. https://answers.cryengine.com/questions/159/i-would-like-to-devel… x-how-do.html
>не могу найти Renderer под конзоли - где взять ? :)
А нафига он тебе? на консолях даже игры 9-ти летней давности тормозят лол)

Тема в архиве.