script python preset UD

Forum per: Modellazione, Texturing, Animazione, Composting e tutto quello che riguarda il normale utilizzo di Cinema4D.

Moderators: Arkimed, natas, visualtricks, cappellaiomatto

  • Advertising
User avatar
abe3d
Posts: 1104
Joined: Mon Dec 07, 2009 1:48 pm

script python preset UD

Post by abe3d »

Come da precedente post https://www.c4dzone.com/it/forum/viewto ... =1&t=34949 , condivido questo script per salvare in un file esterno a cinema gli User Data di qualsiasi oggetto passato. Lo script permette di creare dei preset riutilizzabili dei Values impostati. Più che uno strumento, lo script evocato da un Python Generator Object, vuole essere uno spunto di studio e riflessione sulle potenzialità di python, integrando un sistema di lettura del tipo di UD (bool,integer,long,vector,none per quelli non validi tipo il separatore o i gruppi) e riconoscimento degli oggetti per ID (questo significa che il codice fa differenza tra i diversi oggetti passati), in più integra l'intercettazione degli UD Button.
Insomma, il tutto è più sofisticato di quello che appare nel front end ;)
Funziona sicuramente su windows (su qualsiasi versione successiva alla 17, prima non so!), quando si apre il file in versioni precedenti alla R23, cinema ci avverte che manca il (fastidioso) plugin magic bullet looks, fregandocene spudoratamente, possiamo procedere.
Trattandosi di un test realizzato per studio, confido in una collaborazione per risolvere eventuali bug e/o problemi...
Nel file allegato, oltre al Python generator, sono presenti due oggetti "null" come prova dello script e vanno eliminati.
Attachments
UDP.png
UDP.png (13.91 KiB) Viewed 1276 times
UD2.png
UD2.png (155.86 KiB) Viewed 1276 times
Save_load_UD_preset.zip
(40.89 KiB) Downloaded 58 times
User avatar
nafta
Posts: 154
Joined: Wed Feb 01, 2006 12:38 pm
Contact:

Re: script python preset UD

Post by nafta »

:o ho scaricato il file e quello funziona perfettamente sulla S24 , non so che dire , comunque funziona questo è quello che conta favoloso credo che dirti bravo sia troppo poco ma davvero bravoooo

mille grazie
Last edited by nafta on Wed Jun 23, 2021 9:24 am, edited 1 time in total.
User avatar
nafta
Posts: 154
Joined: Wed Feb 01, 2006 12:38 pm
Contact:

Re: script python preset UD

Post by nafta »

quindi posso dire che anche su Mac big sur su C4d S24 funziona perfettamente
User avatar
abe3d
Posts: 1104
Joined: Mon Dec 07, 2009 1:48 pm

Re: script python preset UD

Post by abe3d »

Bene, mi fa piacere. A questo punto mi sento di azzardare che il problema era la nota instabilità del nodo python in xpresso, che in effetti è più portato a fare calcoli leggendo i dati direttamente dagli altri nodi che a eseguire più complesse funzioni. Potrebbe anche essere proprio la funzione open su OSX... Mah! bisognerebbe fare un debug delle singole parti per capire cosa fa craschare lo script xpresso su mac, ma chi se ne frega, l'importate che quest'ultima versione va!
User avatar
nafta
Posts: 154
Joined: Wed Feb 01, 2006 12:38 pm
Contact:

Re: script python preset UD

Post by nafta »

ciao abe3d volevo dirti che ho fatto diverse prove dello script e funziona bene, l'unica cosa che noto è che non salva i valori di UD relativi ai link , come quelli che uso per il Reference Object sui Instance Object , dopo aver salvato i preset e dopo averli importati i campi UD link risultano vuoti, non so se questo e corretto nel senso magari è una incompatibilità dello script o roba simile

riscontri anche tu lo stesso problema ?
User avatar
cappellaiomatto
Moderatore
Posts: 1568
Joined: Mon May 07, 2012 5:12 pm

Re: script python preset UD

Post by cappellaiomatto »

Ho idea che i link se non vengono "trattati" e convertiti in qualcos'altro tipo stringhe di testo difficilmente potranno essere salvati.
I link per definizione sono dei puntatori ad oggetti e secondo me non vengono serializzati in automatico.

Si può provare a recuperare il nome dell'oggetto (tipo stringa) e poi cercare il reale oggetto tramite il nome durante il caricamento ma se il nome non è univoco lo script non può funzionare correttamente.

:roll:
User avatar
nafta
Posts: 154
Joined: Wed Feb 01, 2006 12:38 pm
Contact:

Re: script python preset UD

Post by nafta »

Mille grazie cappellaiomatto in realtà i link che uso sono tutti univoci con _numero cosi da rendere la gerarchia ordinata
User avatar
cappellaiomatto
Moderatore
Posts: 1568
Joined: Mon May 07, 2012 5:12 pm

Re: script python preset UD

Post by cappellaiomatto »

Non è me che devi ringraziare ma abe.....io mi limito a dargli due consigli....ma il lavoro sporco è tutto suo :)
User avatar
nafta
Posts: 154
Joined: Wed Feb 01, 2006 12:38 pm
Contact:

Re: script python preset UD

Post by nafta »

immagino , ma la mia era solo una nota , non è cosi importante perchè non sono molti gli UD link quindi lo script cosi com'è è perfetto per le mie esigenze, dato che abe3d mi è sembrato molto preso dall'argomento volevo fare notare la cosa
User avatar
abe3d
Posts: 1104
Joined: Mon Dec 07, 2009 1:48 pm

Re: script python preset UD

Post by abe3d »

Ciao, ti avrei dato la stessa risposta del Cappellaio, si, i link devono necessariamente essere trattati diversamente e successivamente "rimappati" e nel caso di link non esistenti, implementare una funzione di recupero manuale (utente). Si può fare e ne prendo atto (anche perché c'è un piccolo bug coretto relativo agli avvisi)....
  • Advertising
Post Reply