Adjust2Bitmap free plug-in

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

Moderatori: Arkimed, natas, visualtricks, cappellaiomatto

Rispondi
  • Advertising
Avatar utente
nemesi
Messaggi: 525
Iscritto il: lun mar 28, 2005 4:22 am
Località: ascoli piceno

Adjust2Bitmap free plug-in

Messaggio da nemesi »

Salve a tutti e buona estate!

Forse qualcuno di voi si ricorda di Adjust to Bitmap: plug-in gratuita distribuita dallo stesso sito del vecchio Tuile-Gen (atualmente riportato in vita proprio dal teem del c4dZone!).

Ecco, siccome a me dispiaceva troppo di non averla più, ho studiato un po' come poter fare qualcosa di simile con Python!

Si, ma cosa fa?
Imposta rapidamente ad un piano a cui è assegnato un materiale con una texture le dimensioni della texture stessa

E a cosa potrebbe servire?
Per esempio è utile per ridimensionare al volo i piani su cui giacciono delle blueprint.

Il funzionamento è semplice:
- crei i piani e assegni le texture
- selezioni un piano per volta ed esegui lo script (tramite pulsante in una tavolozza o tramite scorciatoia da tastiera)

Installazione:
- scompatta semplicemete il file zip nel percorso C:\...DOVE_HAI_INSTALLATO_C4D...\library\scripts
- ora puoi decidere se inserire il pulsante in una tavolozza e/o assegnargli una scorciatoia da tastiera

per chi volesse dare un'occhiata al codice:

Codice: Seleziona tutto

import c4d
from c4d import gui, bitmaps

def main():
    
    # controlla se hai selezionato qualcosa
    if  not op:
        print "Selezionare un oggetto Piano"
        gui.MessageDialog("Selezionare un oggetto Piano")
        return
    # controlla se hai selezionato un oggetto Piano
    elif op.GetType()!=5168:
        print "Selezionare un oggetto Piano"
        gui.MessageDialog("Selezionare un oggetto Piano")
        return
    # controlla se l'oggetto selezionatoha una texture
    elif not op.GetTag(c4d.Ttexture):
        print "All'oggetto Piano non è assegnato alcun materiale"
        gui.MessageDialog("All'oggetto Piano non è assegnato alcun materiale")
    else:
    # leggi path texture
        path = op.GetTag(c4d.Ttexture)[c4d.TEXTURETAG_MATERIAL][c4d.MATERIAL_COLOR_SHADER][c4d.BITMAPSHADER_FILENAME]
        print "path: "+path
        # assegna la texture ad una nuova bitmap
        bmp = bitmaps.BaseBitmap(path) 
        bmp.InitWith(path) 
    
        # leggi i valori x y della texture
        x, y = bmp.GetSize() 
    
        print x
        print y
      
        # assegna al Piano i valori letti
        op[c4d.PRIM_PLANE_WIDTH] = x
        op[c4d.PRIM_PLANE_HEIGHT] = y
        op[c4d.PRIM_PLANE_SUBW] = 1
        op[c4d.PRIM_PLANE_SUBH] = 1
        
        
        c4d.EventAdd() 
        
        return

if __name__=='__main__':
    main()
Unico appunto il percorso della texture deve essere assoluto e non relativo cioé tipo C:\user...\immagine.jpg altrimenti non funziona come si deve.

Spero che qualcuno possa trovare utile questo mio esperimento :) e come al solito critiche e consigli sono sempre ben accetti!
Allegati
Adjust2Bitmap.zip
(5.01 KiB) Scaricato 67 volte
Estrudi da questo corpo!
62VAMPIRO
Messaggi: 3807
Iscritto il: lun mar 14, 2005 6:46 pm

Re: Adjust2Bitmap free plug-in

Messaggio da 62VAMPIRO »

Forse qualcuno di voi si ricorda di Adjust to Bitmap
Certo che me lo ricordo: era un tool veramente utile, percui solo un grazie per lo averlo........riesumato :lol: :lol: . Bel lavoro :) :) :)
Avatar utente
flowbox
Messaggi: 2545
Iscritto il: mar mag 20, 2008 8:29 pm
Località: Repubblica Dominicana

Re: Adjust2Bitmap free plug-in

Messaggio da flowbox »

grassie 8-) 8-)
Non ho piu freddo e NON PAGO PIU LE TASSE.... vivo qui:

http://www.infolasgaleras.com
________

http://www.websolutionsdf.com
______________________________
Avatar utente
nemesi
Messaggi: 525
Iscritto il: lun mar 28, 2005 4:22 am
Località: ascoli piceno

Re: Adjust2Bitmap free plug-in

Messaggio da nemesi »

:) è un piacere
purtroppo io in programmazione sono un dilettante e mi rendo conto che ha buoni margini di miglioramento (anche rispetto all'originale) come funzionare su più oggetti Piano contemporaneamente o leggere anche texture con percorso relativo o, ancora, funzionare con i materiali vray e forse sono in grado solo di pensarle queste cose:
per questo invito chiunque abbia conoscenze, tempo e voglia a migliorare a questo script :)
Estrudi da questo corpo!
  • Advertising
Rispondi