Беви загружает ресурсы относительно двоичного файла отладки вместо корня проекта

При загрузке модели GLTF я получаю следующую ошибку:

ERROR bevy_asset::server: Path not found: /path/to/project/target/debug/assets/model.glb

Я загружаю модель с

commands.spawn(SceneBundle {
            scene: asset_server.load("model.glb#Scene0"),
            ..default()
        },
    });

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

На настольных платформах пути к ресурсам рассматриваются как относящиеся к папке с именем assets, которая должна быть размещена в одном из следующих мест:

  • Вместе с исполняемым файлом игры для распространения.
  • В папке проекта Cargo при запуске игры с использованием Cargo во время разработки. Это определяется переменной среды CARGO_MANIFEST_DIR.
Почему Python в конце концов умрет
Почему Python в конце концов умрет
Последние 20 лет были действительно хорошими для Python. Он прошел путь от "просто языка сценариев" до основного языка, используемого для написания...
0
0
196
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Если вы запускаете проект для отладки с помощью LLDB в VSCode, добавьте в конфигурацию запуска следующее. Это гарантирует, что «корень» проекта будет установлен правильно при отладке.

"env": {
    "CARGO_MANIFEST_DIR": "${workspaceFolder}"
},

Другие вопросы по теме