Gestione Script

Richiamate la Gestione Script dal menu Estensioni / Gestione Script.
Con la Gestione Script potete creare e gestire gli script Python e assegnare icone personali con cui richiamarli in seguito dal menu Estensioni alla voce Script Utente. Non è più necessario creare dei plugin.
Gli script creati con Gestione Script vengono memorizzati in modo permanente nella directory Library / Scripts dei settaggi predefiniti.
Elementi di controllo
Operare all'interno del campo di immissione dello script
All'interno del campo di immissione possiamo lavorare in questo modo:
- Possiamo selezionare una parola con un doppio clic (continuare a premere il pulsante per selezionare altro testo).
- Cliccare su un numero di riga per selezionare l'intera riga (possiamo estendere la selezione ad altre righe tenendo premuto il pulsante e spostandoci verticalmente).
- Possiamo creare caratteri speciali quali virgolette, parentesi, ecc. già in duplice copia e con il cursore nel mezzo, in modo da poter iniziare a digitare direttamente senza preoccuparci di chiuderli. Lo stesso vale per il testo selezionato: l'inserimento di tale carattere include il blocco con i caratteri sopra citati.
- Possiamo commentare del testo contrassegnato inserendo * (asterisco) nel blocco.
- Il testo selezionato può essere spostato con il mouse (e duplicato tenendo premuto il tasto Ctrl/Cmd), con un cursore che indica la nuova posizione di inserimento.
- Possiamo annullare e ripristinare i testi come di consueto.
- Tra il testo e il numero di riga viene visualizzato un indicatore colorato con i seguenti significati: giallo (nuovo), verde (compilato), blu (salvato ma non compilato). Questi codici colore tuttavia funzionano solo per il testo appena digitato; non appena il file viene salvato, vengono rimossi.
- Per ottenere gli ID dei parametri, tutti i parametri elencati in Gestione Attributi (anche dell'Editor Nodi) possono essere trascinati nel campo di immissione dello script. Funziona anche per la console Python.
Menu File
Con questo comando viene creato un nuovo script senza nome e non salvato. Tuttavia, gli script non salvati vengono memorizzati nella directory delle preferenze sotto Prefs/_last_script con l'estensione *.py (Python); se uno script provoca un crash del programma, non andrà comunque perso.
Questa opzione può essere usata per caricare script Python non protetti (non criptati) (*.py). La finestra di dialogo di selezione dei file salterà direttamente alla directory di preset appropriata.
Possiamo utilizzare questa funzione per importare il codice in Gestione Script. Sono possibili i seguenti formati di file: *.py (Python).
Questa opzione serve per salvare lo script appena selezionato in Script (gli script non salvati hanno un * nel nome). Possiamo assegnare un nuovo nome con Salva script come. Le impostazioni predefinite saranno salvate nella directory delle impostazioni predefinite, in Library/scripts.
In questo modo tutti gli script appena creati o modificati vengono salvati.
Questo comando eliminerà lo script attualmente selezionato in Script dopo una richiesta di conferma.
Questo comando duplica lo script appena selezionato in Script.
Se non avete a disposizione un'immagine pronta per lo script che avete appena creato, questa funzione sarà utilissima. Crea il rendering della scena corrente di Cinema 4D e trasforma il risultato in un'icona.
Con questa opzione possiamo selezionare una bitmap, perlopiù quadrata, che verrà utilizzata come icona per questo script e sarà visualizzata di conseguenza nel menu, nella barra delle icone e anche in Gestione Comandi. Verrà considerato anche l'eventuale canale alfa esistente della bitmap.
Questo comando consente di inviare il contenuto dello script attivo a tutti gli IDE collegati a Cinema 4D. Questo comando sarà disponibile anche nell'interfaccia della Gestione Script, accanto al pulsante Avvia/Blocca Modificatore Codici. Si prega di notare anche gli altri preset e i comandi del Modificatore Codici nel menu Modifica della Gestione Script
Menu Modifica
Può essere utilizzato per annullare e ripristinare le modifiche al codice.
Ritagliate frammenti di codice selezionati e copiateli negli appunti.
Consente di copiare negli appunti i frammenti di codice selezionati.
Consente di incollare il codice dagli appunti alla posizione del cursore.
Usate questo comando per eliminare il codice selezionato.
Selezionate o deselezionate tutti i codici visualizzati nella finestra. In alternativa, potete deselezionare il codice cliccando un punto qualsiasi della finestra del codice.
Con la versione R26 è stato introdotto in Cinema 4D un plugin che comunica con l'estensione Visual Studio Code. Con la versione 2023.2 questo plugin è stato integrato direttamente in Cinema 4D, in modo da non doverlo più installare manualmente. Tuttavia, l'estensione Visual Studio Code deve essere installata manualmente ed è disponibile qui: https://marketplace.visualstudio.com/items?itemName=maxonc4dsdk.cinema4d-connector.
La funzione Code Exchanger (Modificatore Codici) consente la comunicazione tra Cinema 4D e Visual Studio Code, permettendo agli sviluppatori di inviare e/o eseguire uno script Python da Cinema 4D a Visual Studio Code e viceversa.
Inoltre, l'estensione Visual Studio Code migliora l'esperienza di sviluppo di tutti gli sviluppatori di Cinema 4D, consentendo il completamento automatico del pacchetto Python `c4d`, il supporto per il debug, l'evidenziazione della sintassi per i file ".*res" e ".*str" e persino l'output della console Python di Cinema 4D direttamente in Visual Studio Code.
Questa funzionalità può essere attivata o disattivata tramite questo comando o tramite l'icona </> nell'intestazione della Gestione Script. Un'icona con sfondo blu indica un Modificatore Codici attivo.
Appena l'estensione Visual Studio Code viene installata in Visual Studio Code, dovrebbe apparire un riquadro rosso con indicato "C4D X" in basso a sinistra della finestra nella barra di stato. Un clic su questo pulsante attiva automaticamente una connessione con il Modificatore Codici precedentemente attivato in Cinema 4D modificando il colore della casella nella barra di stato standard.

Come inviare codice da Cinema 4D a Visual Studio Code
Create un nuovo file Python in Gestione Script o utilizzatene uno esistente. Il comando Invia a IDE nel menu File della Gestione Script consente di inviare il contenuto dello script attivo a tutti gli IDE collegati a Cinema 4D. Questo comando si trova anche nel layout della Gestione Script come icona in alto a destra, direttamente accanto all'icona di Avvia/Blocca Modificatore Codici.
Funzioni di Visual Studio Code
c4d Python package auto-complete
Questa funzione consente di lavorare più rapidamente senza dover sempre consultare la documentazione. Affinché l'estensione funzioni dobbiamo definire il settaggio c4d.path Questo viene definito quando Visual Studio Code stabilisce una connessione a Cinema 4D per la prima volta.
Comandi
Tutti i comandi di questa estensione sono disponibili premendo Ctrl+Shift+P e ricercando C4D. Tutti richiedono che Visual Studio Code sia collegato a Cinema 4D.
- Load script in Script Manager: carica lo script attivo da Visual Studio Code Editor nella Gestione Script di Cinema 4D. Per utilizzare questo comando, Visual Studio Code deve essere collegato a Cinema 4D.
- Save file to disk: come il nome suggerisce, il salvataggio del file aggiorna il contenuto dello script sia nell'IDE che in Cinema 4D.
- Untitled Script from Visual Studio Code: verrà creato un nuovo file temporaneo in Cinema 4D. Questo file verrà aggiunto nuovamente a Visual Studio Code e per la comunicazione con Cinema 4D si dovrà utilizzare questo file invece del precedente file senza titolo.
- Temporary Script from Cinema 4D: come il nome suggerisce, il comando Ctrl+S invia il contenuto a Cinema 4D. La funzione di completamento automatico non funziona.
- Execute in Cinema 4D as a script in Script Manager: esegue lo script direttamente in Cinema 4D. Per utilizzare questo comando, Visual Studio Code deve essere collegato a Cinema 4D.
- File or script from a temporary Cinema 4D script saved on the hard disk: aggiorna il contenuto dello script in Cinema 4D e lo esegue.
- Untitled script from Visual Studio Code: crea un nuovo script Python temporaneo in Cinema 4D. Lo esegue e poi lo elimina da Cinema 4D.
- Debugging in Cinema 4D as a script in the Script Manager: avvia una sessione di debug per lo script specificato in Cinema 4D. I file Python criptati (.pypv, .pype) saranno ignorati e non potranno essere sottoposti a debug. Per utilizzare questo comando, Visual Studio Code deve essere collegato a Cinema 4D.
- The file will be saved on the hard disk: il file verrà salvato sul disco.
- Script from a temporary Cinema 4D script: non supportato.
- Untitled script from Visual Studio Code: non supportato.
- Switch connection with Cinema 4D: cambia la connessione corrente tra Cinema 4D e Visual Studio Code. Lo stesso risultato si ottiene cliccando la barra di stato di C4D nell'angolo in basso a sinistra di Visual Studio Code.
Visualizzazione nella Console Python
Appena Visual Studio Code viene collegato a Cinema 4D, i nuovi contenuti della console Python saranno visualizzati anche nella console "Cinema 4D" di Visual Studio Code.
Rilevamento dei file *.res e*.str
Affinché l'estensione funzioni dobbiamo definire il settaggio c4d.path Questo viene definito quando Visual Studio Code stabilisce una connessione a Cinema 4D per la prima volta.
I settaggi dell'estensione
Questa estensione è dotata dei seguenti settaggi:
- c4d.path: il percorso della directory di Cinema 4D che verrà utilizzato per il completamento automatico. Se non viene definito o se non è valido, verrà definito automaticamente quando Visual Studio Code e Cinema 4D vengono collegati per la prima volta.
- c4d.ip: l'indirizzo IP utilizzato per la connessione con Cinema 4D.
- c4d.port: la porta utilizzata per la connessione con Cinema 4D.
Problemi comuni
- Il completamento automatico non funziona con gli script temporanei di Cinema 4D che hanno un percorso simile a Root@12345678/Scripts@12345678/untilted.py.
- Quando usate il comando "Load Script in Script Manager" per un file senza nome, viene creato un nuovo file temporaneo in Cinema 4D e restituito a Visual Studio Code. Questo file deve essere utilizzato per lo scambio di dati da e verso Cinema 4D.
- Nella prima sessione di debug, verrà visualizzato un messaggio sull'uso obsoleto di ptvsd; si tratta di un falso allarme e può essere ignorato.
Usate questa finestra di dialogo per definire quale Modificatore Codici deve essere utilizzato e quale porta deve essere utilizzata per la comunicazione.
La Finestra di Dialogo
Icona
Qui possiamo vedere l'icona assegnata allo script corrente. Possiamo assegnare delle icone personali con il comando Carica Immagine o Renderizza Immagine.

Basterà trascinare l'icona in una barra di icone esistente, in una palette di comandi appena creata o nin Gestione Menu.
Script
Tutti gli script presenti nella cartella library / scripts della directory utente vengono visualizzati qui con il nome del file. Se gli script sono contrassegnati da una piccola x, significa che non sono ancora stati salvati.
Scorciatoia
Cliccate questo pulsante per richiamare la Gestione Comandi, dove lo script corrente risulta già evidenziato e in attesa di ricevere una scorciatoia da tastiera assegnata.
Esegui
Cliccate questo pulsante per eseguire lo script. Eventuali messaggi di errore saranno visualizzati nella console (menu principale: Estensioni / Console).