assetManager.registerLocator(“c:/gry/steam/SteamApps/common/skyrim/Data/Skyrim - Meshes.bsa”,BsaFileLocator.class);
assetManager.registerLocator(“c:/gry/steam/SteamApps/common/skyrim/Data/Skyrim - Textures.bsa”,BsaFileLocator.class);
It is as much JME3 as possible. This works ok for static models. Unfortunately, for animated models, you need to compose data from multiple files - skeleton, mesh and 1 for each animation. For that, I’m using only Locator part, converting and composing pieces by hand.
Still, skeleton loaded is jme3 skeleton, animation is done by AnimControl+ jme3 Animation + Skeleton Control, textures are loaded from plain assetLoader (which uses BsaFileLocator to load input streams).
I’m not sure if it will be ever possible to just automatically load model with animations with one call to assetLoader.loadModel - at least without going through artificial config file which will specify number of other files to merge.
BsaFileLocator works properly because I have made it case insensitive. It is good enough for testing, but to properly load data from Skyrim data dir, expanded overrides also have to be managed - and they have random case versus what is specified in data files. Only way to work around that would be to provide case-insensitive FileLocator.