Unreal Engine 4
https://uengine.ru/forum/

Конвертирование wchar_t(с русским текстом) в FString
https://uengine.ru/forum/viewtopic.php?f=19&t=39874
Страница 1 из 1

Автор:  Mukudori [ 03 авг 2019, 11:23 ]
Заголовок сообщения:  Конвертирование wchar_t(с русским текстом) в FString

Здравствуйте. Весь игровой процесс моей игры будет заключаться в том, что игрок в виджет вводит команды на естественном языке(в идеале считывает с микрофона и переводит в текст), а персонаж выполняет эти команды. Для этого будет применяться нейронная сеть, обрабатывающая русский текст. И с самой главной проблемой я сталкиваюсь вначале: компилятор напрочь отказывается работать со строками, в которых присутствуют русские символы.

Если я делаю вот так:

Код:
FString str = FString(TEXT("stroka"));


то все проходит нормально, но если я делаю так:

Код:
FString str = FString(TEXT("строка"));


то получаю ошибку компиляции типа: Изображение

Как быть с русским текстом, где словарь может динамически меняться в процессе работы?

Очень не хотелось бы переходить на юнити из за такой мелочи. Тем более что мне уже полюбились удобства блюпринта, да и к C# я прохладно отношусь.

Автор:  gary_cho [ 05 авг 2019, 17:14 ]
Заголовок сообщения: 

попробуй вместо FString использовать FText. И вообще зачем в коде писать такое ? если тебе нужны слова собери их в таблицу и выдёргивай от туда.

Автор:  Mukudori [ 06 авг 2019, 14:59 ]
Заголовок сообщения:  Re:

gary_cho писал(а):
попробуй вместо FString использовать FText. И вообще зачем в коде писать такое ? если тебе нужны слова собери их в таблицу и выдёргивай от туда.


Использование FText не даст результатов, потому что он все равно инициализируется из FString. В самом коде текстовые константы, разумеется, вводиться вручную не будут, а делаться это будет через переменную типа std::wchar, считываемую с файла. Чтобы обрабатывать естественный язык, мне нужно иметь к словам доступ снаружи, возможно, вплоть до конкретных символов в слове. Разумеется, в нейронку будут отправляться не строки, а их индексы, который будет им присвоен в словаре, но, когда приходит текстовая команда, мне нужно ее с чем-то сравнивать, чтобы отыскать эти индексы. Кроме того, в процессе выполнения команд, бот будет откладывать слова, которые он получает впервые, и пополнять свой словарь.

Меня больше всего смущает то, что в самом редакторе виджетов вполне поддерживается русский язык, и FString его нормально прожевывает в блюпринт скриптах. А в плюсах ни в какую не хочет работать с расширенными строками. Описывать опорную логику в блюпринте тоже как-то не комильфо.

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

Автор:  gary_cho [ 06 авг 2019, 16:11 ]
Заголовок сообщения: 

FText у меня в проекте вся локализация сделана на нём.. и поддерживает все языки( около 18 ).. и ироглифы. Может что-то не то делаешь )?

Автор:  Mukudori [ 06 авг 2019, 16:21 ]
Заголовок сообщения:  Re:

gary_cho писал(а):
FText у меня в проекте вся локализация сделана на нём..


Приведи пример как из стандартной строки получит переменную FText

Автор:  gary_cho [ 06 авг 2019, 22:12 ]
Заголовок сообщения: 

https://docs.unrealengine.com/en-US/Pro ... index.html

Автор:  Mukudori [ 06 авг 2019, 22:47 ]
Заголовок сообщения: 

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

Автор:  gary_cho [ 08 авг 2019, 00:30 ]
Заголовок сообщения: 

ну если тебе официальная документация не помогает, то уже ничего не поможет...

Автор:  Mukudori [ 10 авг 2019, 18:45 ]
Заголовок сообщения: 

Для того и существуют форумы, где рассматриваются практические проблемы, не учетные авторами документации.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/