Полезное

Мы Вконтакте

Discord канал

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

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

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


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

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


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

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

Очень не хотелось бы переходить на юнити из за такой мелочи. Тем более что мне уже полюбились удобства блюпринта, да и к C# я прохладно отношусь.
Аватара пользователя
Пользователь
Сообщения: 195
попробуй вместо FString использовать FText. И вообще зачем в коде писать такое ? если тебе нужны слова собери их в таблицу и выдёргивай от туда.
Аватара пользователя
Пользователь
Сообщения: 8
gary_cho писал(а):
попробуй вместо FString использовать FText. И вообще зачем в коде писать такое ? если тебе нужны слова собери их в таблицу и выдёргивай от туда.


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

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

Есть еще мысля подцепить интерпретатор пайтона и через его скрипты передавать текст(за одно и в керасе нейронку запустить), но я уже несколько дней не могу скомпилировать пайтоновский плагин, несмотря на то что все делаю строго по по гайду, описанному на гитхабе.
Аватара пользователя
Пользователь
Сообщения: 195
FText у меня в проекте вся локализация сделана на нём.. и поддерживает все языки( около 18 ).. и ироглифы. Может что-то не то делаешь )?
Аватара пользователя
Пользователь
Сообщения: 8
gary_cho писал(а):
FText у меня в проекте вся локализация сделана на нём..


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


Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5

UEngine.ru © 2017
Все права защищены. При копировании материалов с сайта, ссылка на первоисточник обязательна.
Яндекс.Метрика
Главная страница