jMonkeyEngine: делать скриншоты без отображения игры?

Я хочу делать скриншоты визуализированных сцен без отображения самой игры. Процедура, которой я хочу следовать:

createScene();
for(i = 0; i < num_screenshots; i++)
{
    moveCameraRandomly();
    saveScreenshot();
}

По сути, я хочу случайным образом переместить камеру в сцене для каждого снимка экрана, который я делаю. Тем не менее, мне нужно вызывать это как функцию, поэтому я не хочу отображать саму игру (но я в порядке, когда она работает в фоновом режиме). В идеале я хотел бы иметь два проекта, один из которых создает скриншоты, а другой создает игру, где первый вызывает второй. Есть ли способ сделать это?

1 ответ

Решение

ApplicationS могут быть запущены в режиме без головы.

Application app = new Main();
app.start(JmeContext.Type.Headless);

http://wiki.jmonkeyengine.org/doku.php/jme3:advanced:headless_server

ScreenshotAppState Можно сделать скриншоты:

http://wiki.jmonkeyengine.org/doku.php/jme3:advanced:screenshots

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

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