Blender
deconfigurationother_softwareblender

Blender ist eine quelloffene 3D Software. Damit lassen sich neben Computergrafiken auch Animationen, Physiksimluationen, Greenscreen mit Kameratracking und vieles mehr realisieren. Auf dieser Seite sammele ich Lösungen für Probleme die mir beim Arbeiten mit Blender begegnet sind.

Tuning: Geschwindigkeit vom Interface verbessern

In den Optionen gibt es einige Standardeinstellungen, die geändert werden sollten:

VBOs
beschleunigt den Aufbau vom Viewport
Selection: ‘OpenGL Occlusion Queries’
beschleunigt die Selektion von Objekten
Image Draw Method: GLSL
Ist die schnellste Methode bei der Anzeige von Texturen im Viewport
Sequencer / Clip-Editor-> Memory Cache Limit
Zur Videobearbeitung in Blender sollte der Memorycache an die RAM-Größe des Systems angepasst werden.

NVidia: Headless Konfiguration für Xorg (und Ruhe vor Lüftern) #

Wenn man zusätzlich zu einer 3D Grafikkarte noch eine Onboardkarte besitzt kann man diese für das Blenderinterface verwenden. Das wird in Blenders Dokumentation empfolen. Leider funktionierte das herunterregeln der Lüfter lange Zeit lang nur, wenn der X-Server die Grafikkarte auch benutzt. Die Lösung ist ein von nvidia bereitgestellter Deamon, der bei headless konfigurationen gestartet werden sollte:

# /etc/systemd/system/nvidia-persistenced@.service
[Unit]
Description=NVIDIA Persistence Daemon
Wants=syslog.target

[Service]
Type=forking
ExecStart=/usr/bin/nvidia-persistenced persistence-mode user %i
ExecStopPost=/bin/rm -rf /var/run/nvidia-persistenced

[Install]
WantedBy=multi-user.target

Damit der Daemon beim Computerstart mit startet:

systemctl enable nvidia-persistenced@max ;# führt einen Benutzerwechsel zu 'max' durch

Damit habe ich außerdem das Problem gelöst, das ich hier vor langer Zeit beschrieben habe: Ein Abbruch beim Rendern mit der Meldung Unknown error in cuCtxSynchronize() : does not recover

Verlustfreier Frameserver #

In der Dokumentation von Blender wird das Aufsetzen eines Frameservers beschrieben, der allerdings im dv-format speichert. Eine echte Alternative sehe ich in der Verwendung verlustfreier Codecs, wie FFV1 oder HuffYUV in Verbindung mit ffmpeg, wobei die FFV1-Komprimierung besser ist und HuffYUV schneller. Ich verwende derzeit folgendes Script, weil ich nicht schon beim ersten Speichern Qualität verlieren will.

#!/bin/sh
# Verlustfreier Frameserver für Blender
BLENDER=http://localhost:8080
OUTPUT=output.avi
eval `wget ${BLENDER}/info.txt -O - 2>/dev/null |
    while read key val ; do
      echo R_$key=$val  
    done`
i=$R_start
{
  while [ $i -le $R_end ] ; do
       wget ${BLENDER}/images/ppm/$i.ppm -O - 2>/dev/null
       i=$(($i+1))
  done
} | ffmpeg -vcodec ppm -f image2pipe -r $R_rate -i pipe:0 -vcodec ffv1 $OUTPUT
wget ${BLENDER}/close.txt -O - 2>/dev/null >/dev/null

siehe auch: Wikipedia: Liste der Videocodecs

Wenn Alt+Mausklick unter Xfce nicht funktioniert... #

In Blender beispielsweise dient normalerweise die gedrückte Alt-Taste mit Mausklick dem Markieren einer Kante und in GIMP lässt sich die separate Anzeige der Layermaske damit ein- und ausschalten. Natürlich nicht, wenn der Fenstermanager den Tastendruck abfängt und meint das Fenster verschieben zu müssen.

xfce4-settings-editor #

easy_click im settings-editor von xfce4

Konfigurationsdatei #

Falls der xfce4-settings-editor nicht genutzt werden kann, findet sich die Einstellung auch in der Datei ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml unter dem Eintrag xfwm4.general.easy_click:

<property name="easy_click" type="string" value="Alt"/>

wo der Wert zum Beispiel auf Super geändert werden kann. Danach muss der Fenstermanager die Einstellungen noch übernehmen. Dazu kann man ihn beispielsweise neu starten:

xfwm4 --daemon --replace

Wenn “sticky keys” den Blendertag versauen…

Deaktivieren konnte ich dieses Problemfeature in der Standardinstallation nicht. Aber schließlich habe ich xkbset nachinstalliert und damit hatte ich dann schließlich Erfolg:

xkbset -accessx -sticky -twokey -latchlock

slow-keys Dieser Befehl kann in die ~/.Xresouces geschrieben werden, damit sticky keys bei jedem Neustart direkt deativiert werden.

Generate normal maps #

nvidia-texture-tools nvidia-texture-tools (linux) example $ nvcompress -tonormal [infile].jpg [outfile].dds gimp-normalmap

Hotkeys #

shift r
repeat last (like . in vim)

Building blender #

Under Arch Linux we already have python vesion 3.7, which requires an extra cmake switch to work:

cmake ../src/blender/ -DPYTHON_VERSION=3.7 -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DOpenGL_GL_PREFERENCE=GLVND
top