How to change background image based on current node?
You can make a different templete and use, for example, a class and load the different img by css is one of many possible soluctions, I think that is the best practice

You can read more about Drupal 8 Temple in these threads:

https://www.drupal.org/docs/8/theming

https://www.drupal.org/docs/8/theming/twig

Example aplications 

function YOURTHEMENAME_preprocess_node(&amp;$variables) {
  if ($variables['node']) {
    $node = $variables['node'];
    switch ( $node-&gt;nid ) {
    case 'nid1':  // Replace nid1 etc with your nid
    case 'nid2':
      break;
    }
  }
}


Template/node/node--full--[nid]

    &lt;div class="img--hero--image"&gt;
    &lt;/div&gt;


Other solutions it is use a field in the content type and use this field to render in your background.