Confecção de scripts e segurança

The ability to include Python scripts within blend-files is valuable for advanced tasks such as rigging and automation. However, it poses a security risk since Python does not restrict what a script can do.

Portanto, você deve somente executar scripts a partir de fontes confiáveis as quais você conhece e confia.

A execução automática de scripts é desabilitada por padrão, contudo, alguns arquivos Blender necessitam justamente essa opção habilitada para que possam funcionar de maneira apropriada.

When a blend-file tries to execute a script and is not allowed, a dialog will appear. In it, you can choose to Allow Execution or to Ignore the scripts.

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

Um alerta de execução automática no cabeçalho da Janela de informações.

Scripts em arquivos Blender

Execução automática

Presentes aqui, há algumas opções de maneiras diferentes as quais os arquivos Blender podem executar os scripts automaticamente.

Blocos de textos registrados

A text data-block can have its Register option enabled which means it will load on start.

Controladores de animação

Expressões em Python podem ser usadas para Controlar valores e são muitas vezes usadas em arranjos mais avançados e animações.

Execução dos manuais

Existem outras maneiras as quais um arquivo Blender pode executar scripts que requerem interação com o usuário (portanto irão ser executados mesmo que a execução automática esteja desabilitada), mas você deve estar ciente de que este é um dos casos onde isso não é necessariamente óbvio.

  • Executando um script no editor de textos.

  • Rendering with Freestyle, because Freestyle uses scripts to control line styles.

Controlando a execução de scripts

O Blender provê determinadas maneiras de controlar se os scripts que estão dentro de um arquivo Blender podem ser executados automaticamente.

Primeiramente, o navegador de arquivos possui a opção Fontes confiáveis que você pode usar como opção básica caso a caso para controlar a execução automática.

Contudo, você pode esquecer-se de definir isto, ou abrir um arquivo sem a utilização do navegador de arquivos interno do Blender – portanto você pode alterar os padrões (descrições na próxima seção).

Definição de padrões

In the File tab of the Preferences, there is the toggle Auto Run Python Scripts.

Isso significa que a opção Fontes confiáveis dentro do navegado de arquivos estará habilitada por padrão, e os scripts poderão ser executados quando os arquivos Blender forem carregados sem a utilização do navegador de arquivos.

Uma vez que esteja habilitada, você tem a opção de excluir determinados diretórios, uma configuração típica pode ser definida como marcar todos os caminhos como confiáveis, exceto o diretório de downloads.

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

Executar automaticamente scripts Python.

Linha de comando

Você pode querer a execução de uma renderização em lotes ou executar alguma outra tarefa a partir da linha de comando – executando o Blender sem uma interface.

In this case, the Preferences are still used but you may want to override them:

  • Habilite usando o argumento -y ou --enable-autoexec

  • Desabilite com o argumento -Y ou --disable-autoexec

Exemplo

A renderização de uma animação em modo de plano de fundo, permitindo que controladores e outros scripts sejam executados:

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

Nota

These command-line arguments can be used to start a regular Blender instance and will still override the Preferences.