Dev:IT/2.5/Py/Scripts/Cookbook/Code snippets/Introduction

提供: wiki
移動先: 案内検索

Introduzione

Con l'arrivo di Blender 2.5x, la scrittura di script in Python ha raggiunto nuovi livelli. Considerando che le API Python fino alla versione 2.49 erano abbastanza incomplete e personalizzate, le API in Blender 2.5 ti permettono di accedere a tutte le caratteristiche di Blender in modo completo e sistematico.

Tuttavia, la curva di apprendimento per questo incredibile strumento può essere molto ripida. Lo scopo di queste note è quello di semplificare il processo di apprendimento, fornendo degli esempi che illustrano i vari aspetti della programmazione Python in Blender.

Blender è ancora in fase di sviluppo e le API non sono ancora stabili. Durante i pochi mesi passati fra le prime due edizioni di queste note, le API hanno subito una completa revisione, cosicché tutti i vecchi script, non funzionavano più. Le differenze tra la seconda edizione (per Blender 2.54.0) e la presente terza edizione (per Blender 2.57.0), sono molto meno drammatiche. Tuttavia anche piccoli cambiamenti nelle API possono interrompere il funzionamento di uno script. Gli script in queste note sono state testate con Blender 2.57.0 rev. 35147 (questa informazione è disponibile sullo Splash screen).

Dal momento che Blender 2.57 è stata dichiarata come la prima versione stabile, c'è la speranza che le API possano rimanere stabili anche in futuro. Quindi ci sono buone probabilità, ma non la garanzia, che questi script continueranno a funzionare per molto tempo. Gli argomenti trattati coprono le seguenti categorie:

Data creation and manipulation. Most of the programs are not very useful,but only constructed to illustrate the concepts.

  • Creazione di dati e manipolazione: molti di questi programmi non sono di per sé utili, ma sono sviluppati principalmente per illustrare i concetti.
  • Proprietà personalizzate
  • Interfaccia utente: pannelli, pulsanti e menù.
  • Trasformazione di script in Add-Ons, che possono essere caricati automaticamente all'avvio di Blender.
  • Script distribuiti su più file.
  • Simulazione di particelle, capelli, tessuti, soft body, fumo, fluidi etc.
  • Nodi

Eseguire gli script

Ogni script, ad eccezione dei multi file package, è un programma completo che può essere copiato da qua e incollato nel Text Editor di Blender, che puoi trovare che puoi trovare nello screen layout Scripting. Per eseguire lo script premere il pulsanteRun Script, oppure premi AltP.

Gli script sono anche disponibili come files separati che dovresti aver trovato insieme a questo documento. Semplicemente carica il file Python nelText Editor AltO, ed eseguilo. C'è anche un batch script che esegue molti degli altri scripts in una sola volta. Sarà descritto più in dettaglio nella sezione finale.

Si presume che gli script si trovano nella directory ~/snippets/scripts folder, dove ~ rappresenta la home directory (es. /home/thomas su Linux, C:/Documents and Settings/users/thomas su Windows XP, o C:/Users/thomas su Windows Vista. Gli scripts, possono essere posizionati ovunque, ma in alcuni script bisogna modificare il percorso (batch.py, texture.py e uvs.py). Python ti informerà se non riesce a trovare i file in questione.

E' possibile eseguire tutti gli script presenti nelle cartelle object e simulation in una volta sola caricando ed eseguendo il file batch.py. Possiamo facilmente aver conferma che tutti gli script lavorano correttamente (o che per lo meno non generano errori) eseguendo lo script batch. Se ci sono problemi, controlla nella console per ulteriori informazioni.

Come ottenere ulteriori informazioni

Gli esempi sono solo un graffio sulla superficie di quello che si può fare con Python in Blnder 2.5x. Quando scriveri i tuoi script, certamente vorrai accedere a operatori e variabili non menzionate qui, Ci sono diversi modi per ottenere queste informazioni.

  • C'è anche un tutorial ufficiale qui
  • Sfrutta i tooltips. Per es. passando sopra all'opzioneThis Layer Only nel pannello delle proprietà delle lampade, ti sarà mostrato il seguente testo:

    Illuminates objects only on the same layer the lamp is on
    Python: PointLamp.use_own_layer


    Da questo possiamo concludere che questa opzione è accessibile attraverso lamp.use_own_layer dove lamp rappresenta i dati dell'oggetto attivo. Per es. lamp = bpy.context.object.data1 2 ToolTip.png
  • I tooltips compaiono anche quando aggiungi qualcosa

    Construct an UV sphere mesh
    Python: bpy.ops.primitive_uv_sphere_add()


    Questo ci dice quale operatore è necessario per aggiungere una mesh UV Sphere.1 2 ToolTipMenu.png
  • Una volta che un operatore è stato eseguito, lascia traccia nella Report window nella schermata Scripting

    bpy.ops.mesh.primitive_uv_sphere_add(segments=32, rings=16,
    size=1, view_align=False, enter_editmode=False,
    location=(0, 0, 0), rotation=(0, 0, 0), layer=(True, False, False,
    False, False, False, False, False, False, False, False, False, False,
    False, False, False, False, False, False, False))


    Quando aggiungiamo una UV Sphere dal menù, ha sempre 32 segmenti 16 anelli etc., ma è semplice immaginare come fare una sfera con altri dati, per es. 12 segmenti, 6 anelli un raggio di 3 e centrato in (1,1,1):

    bpy.ops.mesh.primitive_uv_sphere_add(
    segments=12,
    rings=6,
    size=3,enter_editmode=True,
    location=(1, 1, 1))


    Solo l'esecuzione di un operatore è riportato nella finestra e non, per es., l'impostazione di un valore.1 2 ToolTipInfo.png Nelle versioni più recenti di Blender, invece le tracce degli script vengono stampate nella Info, che puoi visualizzare tirando verso il basso la barra dei menù presente in alto. 1 2 ToolTipInfoShow.png
  • Impara dal codice degli altri. Gli script forniti insieme a Blender sono una grande fonte di ispirazione.
  • C'è una fiorente comunità on-line presso il subforum Python & Plugins su Blenderartist.org che puoi trovare qua