I'd like to use Blender's physics engine/rendering capabilities headlessly (so it would have to be via command line). I'd like to run a lot of little physics experiments (thousands) on a server. Python scripting will be involved in this, naturally-not sure how to do this without using the logic editor, though...I need some way to be able to run these scripts and have Blender output some sort of physics "movie" without having to deal with the GUI. Is this possible?

  • $\begingroup$ Yes, this is quite possible. Some related questions: blender.stackexchange.com/q/3061/599 and blender.stackexchange.com/q/724/599 $\endgroup$
    – gandalf3
    Jul 29, 2015 at 0:33
  • $\begingroup$ I'm not sure about running the game engine without a gui, but you could use the built in rigid body sim. See blender.stackexchange.com/q/34400/599 $\endgroup$
    – gandalf3
    Jul 29, 2015 at 0:45
  • $\begingroup$ Just a note, the physics engine in Blender is not physically-acurate nor energy conserving. I would evaluate the simulation results carefully. $\endgroup$
    – Mike Pan
    Jul 29, 2015 at 6:17
  • $\begingroup$ The physics engine used by the BGE is the Bullet engine. I suggest to check if you can find an application that uses Bullet too but provides you with a gui-less processing. The BGE is designed to serve games. Typically they need video output. An application focusing on physics simulation might fit your needs better. $\endgroup$
    – Monster
    Jul 29, 2015 at 11:34
  • $\begingroup$ I'd like video output (hence the use of blender), I just want to run it without the GUI $\endgroup$
    – 29374819
    Jul 29, 2015 at 19:17

1 Answer 1


Have you tried blender --background -P your_script.py -- py_argv1 py_argvN?

% blender --help|grep background
-b or --background
    Run in background (often used for UI-less rendering).
    Enable time profiling for background jobs.
    Playback <file(s)>, only operates this way when not running in background.
    # blender --background test.blend --render-frame 1 --render-output '/tmp'
    # blender --background --render-output /tmp test.blend --render-frame 1
    # blender --background test.blend --render-output /tmp --render-frame 1
  • $\begingroup$ how do you enable time profiling for background jobs in 2.83 from the command line? $\endgroup$ Jun 4, 2020 at 20:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.