@Override
    protected Object toJmeObject() {
        Image image = null;
        String fileName = null;
        String relativeFilePathJme;

        if (filePath != null) {
            fileName = getFileName(filePath);
        } else if (relativeFilePath != null) {
            fileName = getFileName(relativeFilePath);
            
        }

        if (fileName != null) {
            try {
                // Try to load filename relative to FBX folder
                key = new TextureKey(sceneFolderName + fileName);
                key.setGenerateMips(true);
                image = loadImageSafe(assetManager, key);
                
                // Try to load relative filepath relative to FBX folder
                if (image == null && relativeFilePath != null) {
                    // Convert Windows paths to jME3 paths
                    relativeFilePathJme = relativeFilePath.replace('\\', '/');
                    key = new TextureKey(sceneFolderName + relativeFilePathJme);
                    key.setGenerateMips(true);
                    image = loadImageSafe(assetManager, key);
                }
                
                // Try to load embedded image
                if (image == null && content != null && content.length > 0) {
                    key = new TextureKey(fileName);
                    key.setGenerateMips(true);
                    InputStream is = new ByteArrayInputStream(content);
                    image = assetManager.loadAssetFromStream(key, is).getImage();
                    
                    // NOTE: embedded texture doesn't exist in the asset manager,
                    //       so the texture key must not be saved.
                    key = null;
                }
            } catch (AssetLoadException ex) {
                logger.log(Level.WARNING, "Error while attempting to load texture {0}:\n{1}",
                           new Object[]{name, ex.toString()});
            }
        }

        if (image == null) {
            logger.log(Level.WARNING, "Cannot locate {0} for texture {1}", new Object[]{fileName, name});
            image = PlaceholderAssets.getPlaceholderImage(assetManager);
        }
        
        // NOTE: At this point, key will be set to the last
        //       attempted texture key that we attempted to load.

        return image;
    }
The texture key that was used to load the image.
Only valid after {@link #getJmeObject()} has been called.
@return the key that was used to load the image.
jme3-plugins/src/fbx/java/com/jme3/scene/plugins/fbx/material/FbxImage.java