Skript och säkerhet

Möjligheten att inkludera Python-skript i blend-filer är värdefull för avancerade uppgifter som riggning och automatisering. Det utgör dock en säkerhetsrisk eftersom Python inte begränsar vad ett skript kan göra. Därför bör du bara köra skript från källor som du känner till och litar på. Automatisk exekvering är inaktiverad som standard, men vissa blend-filer behöver detta för att fungera korrekt.

När en blend-fil försöker köra ett skript och inte tillåts, visas en dialogruta. I den kan du välja att Tillåta exekvering eller att Ignorera skripten.

../../_images/advanced_scripting_security_autorun-scripts-dialog.png

En Auto-run-varning i Info-editorns rubrik.

Skript i Blend-Files

Automatisk exekvering

Här är de olika sätt som blend-filer automatiskt kan köra skript på.

Registrerade textblock

Ett textdatablock kan ha alternativet Register aktiverat, vilket innebär att det laddas vid start.

Animationsdrivare

Python-uttryck kan användas för att driva värden och används ofta i mer avancerade riggar och animationer.

Manuell exekvering

Det finns andra sätt som skript i en blend-fil kan exekveras på som kräver användarinteraktion (och därför körs även när automatisk exekvering är avstängd), men du bör vara medveten om att så är fallet eftersom det inte nödvändigtvis är uppenbart.

  • Kör ett skript i textredigeraren.

  • Rendering med Freestyle, eftersom Freestyle använder skript för att styra linjestilar.

Styrning av skriptexekvering

Blender erbjuder ett antal sätt att kontrollera om skript från en blend-fil tillåts att köras automatiskt.

För det första har File Browser alternativet Trusted Source som du kan använda från fall till fall för att kontrollera automatisk körning. Eftersom du kan glömma att ställa in detta, eller öppna en fil utan att gå via filbläddraren, kan du ändra standardinställningen (beskrivs nedan).

Inställning av standardvärden

I preferenserna finns det växlingen till Auto Run Python Scripts. Detta innebär att alternativet Trusted Source i File Browser kommer att aktiveras som standard och skript kan köras när blend-filer laddas utan att använda File Browser. När det är aktiverat har du möjlighet att utesluta vissa kataloger; en typisk konfiguration skulle vara att lita på alla sökvägar utom nedladdningskatalogen.

../../_images/animation_drivers_troubleshooting_autorun-user-preference.png

Kryssrutan Kör Python-skript automatiskt.

Kommandoradsflagg

Du kanske vill utföra batchrendering eller någon annan uppgift från kommandoraden och köra Blender utan ett gränssnitt. I det här fallet används inställningarna fortfarande, men du kanske vill åsidosätta dem:

  • Aktivera med -y eller –enable-autoexec

  • Inaktivera med -Y eller –disable-autoexec

Exempel

För att rendera en animation i bakgrundsläge, så att drivrutiner och andra skript kan köras:

blender --background --enable-autoexec my_movie.blend --render-anim

Observera

Dessa kommandoradsargument kan användas för att starta en vanlig Blender-instans och kommer fortfarande att åsidosätta inställningarna.