March 19, 2024, 11:10
bigger smaller reset     1020px Wide width Full width Reset   * *

Gildor's Forums

  Homepage Facebook Read news on Twitter Youtube channel Github page
Welcome, Guest. Please login or register.
Did you miss your activation email?

« previous next »
Print
Author Topic: Создание Font и Texture2d шрифта для Xbox360 в UDK.  (Read 4735 times)
roshia
Newbie
*
Posts: 3


View Profile
« on: March 09, 2014, 10:30 »

Здравствуйте! Я бы хотел попросить помощи в создании шрифта с кириллицей для игр Xbox, а в данном случае меня интерисует игра BloodForge. Шрифт для сабов игры находится в файле Startup_LOC_INT.xxx, при извлечении мы получили нужные нам FONT и TEXTURE2D (вот они http://rghost.ru/52925433). Пожалуйста подскажите или научите, как правильно в программе создать шрифт с кириллицей, чтобы потом можно было подменить это добро в нужном файле и чтоб игра отображала рус. символы!!!!
Logged
Gildor
Administrator
Hero Member
*****
Posts: 7977



View Profile WWW
« Reply #1 on: March 09, 2014, 10:39 »

Здравствуйте.
Сильно сомневаюсь, что подобное можно сделать в UDK.
Перемещаю тему в "локализации", там находятся подобные вопросы.
Logged
roshia
Newbie
*
Posts: 3


View Profile
« Reply #2 on: March 11, 2014, 05:10 »

Здравствуйте.
Сильно сомневаюсь, что подобное можно сделать в UDK.
Перемещаю тему в "локализации", там находятся подобные вопросы.
А можно ли тогда как нибудь файл FONT подредактировать (например через HEX или еще какими нибудь прогами)?
Например, если в TEXTURE2D (тот же DDS без шапки) вместо умляутов нарисовать рус символы, то и в FONT надо тоже как то подредактировать область отображения каждой буквы. Возможно ли такое???
Logged
Gildor
Administrator
Hero Member
*****
Posts: 7977



View Profile WWW
« Reply #3 on: March 11, 2014, 10:18 »

По-моему, что-то подобное уже где-то обсуждалось. Просмотрите все темы в этих разделах:
http://www.gildor.org/smf/index.php/board,34.0.html
http://www.gildor.org/smf/index.php/board,22.0.html
Logged
6930
Sponsor
Newbie
*
Posts: 30


View Profile
« Reply #4 on: April 30, 2021, 23:58 »

Ну Gildor тут не совсем прав.. Да если вы создадите шрифты в UDK, и попытаетесь эти самые шрифты подсунуть в консольную версию игры (PS3 XBOX360) игра просто повиснет, ибо на пк и перечисленных консолях разный endian, на PC LE, на PS3, XBOX360 BE.

И тут можно было бы поставить точку, но все таки можно UDKшные шрифты подружить с вышеперечисленными консолями))
Есть два подхода один простой другой сложный)

1) Достать UDK с поддержкой консолей с BEendian, этого добра в свободном доступе нет.

2) Создать шрифт в UDK

Шаг первый, UDK генерирует растровый шрифт из .ttf шрифта, выберем .ttf шрифт который мы будем использовать, далее его нужно отредактировать в High-Logic FontCreator, зачем?
Нам нужно уложится в оригинальный размер .Texture2D и .Font, в западных шрифтах стандартный набор символов такой:

!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ¡¢£¤¥¦§¨©ª«¬­­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ

Нам нужно создать шрифт где вместо умляутов будет кириллица, тем самым уложимся в оригинальный размер .Font, вот как раз для этого нам и нужно редактировать .ttf шрифт FontCreator,ом, вставить на место умляутов русские буквы.
Итак вы отредактировали .ttf, внедрили его в систему, выберем его в UDK и создаем из него стандартный шрифт,чтобы в игре в итоге отображались русские буквы нужно русский текст сконвертировать в умляуты.
Должно получится что то вроде этого: !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz
{|}~ ¡¢£¤¥¦§¨©ª«¬­­®¯°±²³´µ¶·¸¹º»¼½¾¿АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя


Размер таблицы при таком подходе всегда будет одинаков, и вы без проблем подсунете её вместо оригинальной, в противном случаи вам придется пихать таблицу в конец .xxx пакета и править таблицу смещений и размеров .xxx пакета, где нужно  будет прописывать новое смещение и размер, а если вы пихаете в конец ещё и текстуру то в ней (в текстуре) нужна прописать новое смещение, да, да, в  .Texture2D указана где она реально находиться)))


Шаг второй, у нас есть готовый шрифт, сразу же экспортируем текстуру шрифта, далее ее конвертируем в DXT5, (обычно шрифты в DXT5 но бывают и в L8, всё зависит от игры)

Если вы хотите вставить готовую текстуру шрифта DXT5 в .Texture2D от XBOX360, то вам ещё нужно её отсвизлить, так как на XBOX360 все форматы под свизлингом, на PS3 DXT5 без свизлинга.

Итак мы обновили .Texture2D своим шрифтом, вставили его в .xxx пакет на своё место, можно проверить в игре, если все сделано правильно текст в игре будет как бы из ломаных кусочков букв, чтобы этого не было нужно обновить и .Font, с помощью extract.exe распаковываем MyPackage.upk там лежат кстати .Texture2D и .Font вашего шрифта, который вы сгенерировали в UDK, нам нужно собственно .Font но сразу использовать в консольной версии его нельзя, потому что он в LE эндеане, а нам нужно сделать его в BE
Это довольно муторно, на разбор алго конвертации LE>BE у меня ушло пару минут, а на саму конвертацию таблицы .Font я убил 1.5 часа в хекс редакторе)
Вот если бы нашёлся грамотный программист, который согласился написать тулзу для конвертации LE>BE по моему алгоритму это бы облегчило многим жизнь.
Так что все реально, было бы желание
Конец.
« Last Edit: May 01, 2021, 00:05 by 6930 » Logged
Reborn
Full Member
***
Posts: 103


View Profile
« Reply #5 on: May 05, 2021, 22:26 »

Quote
который согласился написать тулзу для конвертации LE>BE
Вроде бы ЭмЭдитор умеет пересохранять любой текст (в том числе содержащий сколько угодно нулевых символов подряд) из LE в BE и обратно.


* КОДИРОВКИ.png (29.8 KB, 1206x798 - viewed 122 times.)
Logged
Print 
« previous next »
Jump to:  

Powered by SMF | SMF © 2006-2009, Simple Machines LLC
Leviathan design by Bloc | XHTML | CSS