Unity Создать каталог, доступный игрокам

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

1 ответ

Я думаю, что вы должны объяснить свой вопрос больше, чтобы получить более точный ответ, но я отвечу на ваш вопрос как можно лучше.

технически возможно позволить игрокам изменять каталог игры своим профилем, но я этого не делаю. если бы это была музыка, звук или что-то в этом роде, вы могли бы просто создать систему, в которой ваша игра могла бы воспроизводить песни одну за другой, такие как игры, такие как gta или другие игровые меню. Вы можете найти это после небольшого поиска. но вы говорите об игровом контенте, который нужно контролировать. ваша игра 3d или 2d? если его 3d они смогут работать с программой 3d моделирования? и вы должны знать, что после того, как Unity сделает вывод вашей игры, после того, как игроки настроят это, не будет базовых форматов, и Unity упакует их в формат активов. Лучше создать систему редактора для вашей игры, чтобы игроки могли изменять то, что они хотят, или выбирать то, что они хотят в игре, как это делают многие игры.

Это пример с официального сайта Unity. Вы можете сделать так, чтобы ваши игроки добавляли свои файлы в вашу игру:

// Opens a file selection dialog for a PNG file and overwrites any
    // selected texture with the contents.

    class EditorUtilityOpenFilePanel {
        @MenuItem("Examples/Overwrite Texture")
        static function Apply () {
            var texture : Texture2D = Selection.activeObject;
            if (texture == null) {
                EditorUtility.DisplayDialog(
                    "Select Texture",
                    "You Must Select a Texture first!",
                    "Ok");
                return;
            }
            var path = EditorUtility.OpenFilePanel(
                    "Overwrite with png",
                    "",
                    "png");
            if (path.Length != 0) {
                var www = WWW("file:///" + path);
                www.LoadImageIntoTexture(texture);
            }
        }
    }
Другие вопросы по тегам