Vai al contenuto
graffio83

Scatto Rendering E Salvataggio

Recommended Posts

Supponendo sull schermo ci siano 10 oggetti

spiego rapidamente...

il mio script deve:

1) inserire uno di questi oggetti (a mia scelta) in una variabile, poi inserire l'altro in un altra variabile.

2) aprire un file di testo o quant'altro e leggerlo

3) muovere questi oggetti secondo delle coordinate...

e fin qui ancora non l'ho fatto ma magari ci riesco

A sto punro...

ad ogni movimento devo scattare una "foto" da una camera posizionata da me e salvare su file tante volte quanti sono gli spostamenti...

Come Faccio?

So che magari x voi è banale ma x me... va bhè lasciamo perdere...

Grazie mille

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
E animare lo spostamento e salvare come immagini e non come video?

ma io non devo fare un animazione, dopo aver spostato devo fare uno scatto da una particolare camera (chiamiamola Ciccio) dunque salvare lo scatto, a sto punto leggo il secondo rigo dal file, sposto nuovamente le parti, altro scatto... e così via...

Spero di essere stato + chiaro...

Ciaooooooooooo

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

usa il comando render()

puoi passargli moltissimi parametri tra cui anche da che telecamera renderizzare.

ti restituisce come risultato il render fatto

ciao!

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
usa il comando render()

puoi passargli moltissimi parametri tra cui anche da che telecamera renderizzare.

ti restituisce come risultato il render fatto

ciao!

Sempre piu' gentile...

Ma volevo chiedere un'altra cosa...

devo fare di seguito, render salva file

mo la cosa deve avvenire una cinquantina di volte e mi serve proprio x nn stare davanti al pc...

come faccio a dire salva fille come "prova000" alla prima prova 001 alla seconda e via dicendo???

Pensavo di usare un for per cambiare il nome ma come faccio a dire di salvare quel render????

Grazie mille

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

dalla reference ;):

[ outputfile: <string> ]

The frame number is appended to the filename if the file image type is a single image type (.bmp, .jpg, .tga, etc.), and a frame range is being rendered. Defaults to rendering to just the virtual frame buffer

ciao!

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
dalla reference ;):

[ outputfile: <string> ]

The frame number is appended to the filename if the file image type is a single image type (.bmp, .jpg, .tga, etc.), and a frame range is being rendered. Defaults to rendering to just the virtual frame buffer

ciao!

Ho un problema ma questo è grosso... non so leggere la reference...

es: c'è scritto

render () fa il render

poi dice... ha molte opzioni infatti ti copio quello che leggo...

render() can take many optional parameters to control the rendering:

render

[ camera: <camera_node> ]

Defaults to active viewport.

[ frame: <number> | #current ]

Defaults to #current.

capisco ciò che vuol dire ma nn capisco la sintassi di queste references, puoi aiutarmi?

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

ora t spiego meglio il mio programma legge da file il primo rigo do coordinate e muove 2 oggetti, fa il render da una precisa camera, salva il render, legge il secondo rigo.......

è tutto ok, mi manca il render da camera e il salvataggio...

se possibile un aiutino... poi nn scoccio piu'

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
ora t spiego meglio il mio programma legge da file il primo rigo do coordinate e muove 2 oggetti, fa il render da una precisa camera, salva il render, legge il secondo rigo.......

è tutto ok, mi manca il render da camera e il salvataggio...

se possibile un aiutino... poi nn scoccio piu'

è andato anche il reder da camera x...

mi resta solo il salvataggio automatico in file (come faccio a dirgli di salvare con un nome diverso ad ogni ciclo???)

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

in max ogni funzione può avere parametri obbligatori o non obbligatori, quelli che tu passi scrivendo <nomeParametro>:<valore> sono non obbligatori.

se ad una funzione non hai bisogno di passare valori allora la devi richiamare aggiungento () dopo il nome

la funzione render se ti serve per calcolare un render e basta allora devi richiamarla così:

render()
se devi invece definire la camera, un file su cui salvare e altre cose allora non hai bisogno delle parentesi:
render camera:<la tua camera> frame:<numero del frame da renderizzare>  outputfile: <path+nome file >

il frame a te non credo ti interessi perchè di default è quello corrente e a te va bene quello(se ho capito bene quello che devi fare) in outputfile devi mettere la stringa che hai calcolato(per avere le immagini nominate secondo la sequenza)

altri parametri che credo possano interessarti sono:outputwidth e outputheight

comunque anche il consiglio di seregost è giusto:

se tu ad esempio tramite maxscript animi i tuoi oggetti in modo che al frame 1 siano in una posizione, al frame 2 in un'altra e così via... dopo ti basta eseguire il render dell'animazione ed anzichè impostare come output un video ti basta mettere come tipo di file un'immagine ed in automatico avrai tutti i tuoi render.

ciao!

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
è andato anche il reder da camera x...

mi resta solo il salvataggio automatico in file (come faccio a dirgli di salvare con un nome diverso ad ogni ciclo???)

avrai usato un ciclo che scandisce il tuo file, giusto?

-prima del ciclo inizializzi una variabile ad 1(count=1)

-alla fine di ogni ciclo la incrementi di 1 (count+=1)

-output file sarà: outputfile:("c:\i_miei_render\renderPosizione"+(count as string)+".jpg")

ciao!

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
in max ogni funzione può avere parametri obbligatori o non obbligatori, quelli che tu passi scrivendo <nomeParametro>:<valore> sono non obbligatori.

se ad una funzione non hai bisogno di passare valori allora la devi richiamare aggiungento () dopo il nome

la funzione render se ti serve per calcolare un render e basta allora devi richiamarla così:

render()
se devi invece definire la camera, un file su cui salvare e altre cose allora non hai bisogno delle parentesi:
render camera:<la tua camera> frame:<numero del frame da renderizzare>  outputfile: <path+nome file >

il frame a te non credo ti interessi perchè di default è quello corrente e a te va bene quello(se ho capito bene quello che devi fare) in outputfile devi mettere la stringa che hai calcolato(per avere le immagini nominate secondo la sequenza)

altri parametri che credo possano interessarti sono:outputwidth e outputheight

comunque anche il consiglio di seregost è giusto:

se tu ad esempio tramite maxscript animi i tuoi oggetti in modo che al frame 1 siano in una posizione, al frame 2 in un'altra e così via... dopo ti basta eseguire il render dell'animazione ed anzichè impostare come output un video ti basta mettere come tipo di file un'immagine ed in automatico avrai tutti i tuoi render.

ciao!

Non so se lo posso fare perchè la cosa non è per me...

e poi non saprei come fare e dovrei riniziare da capo...

cmq io ho scritto così:

render camera:cam1 outputfile: "C:\ProveMax\prova"

cam1 è una variabile che contiene la camera... e infatti mi esegue il render da li...

"C:\ProveMax\prova" è il percorso dove salvare (prova è il nome che voglio dare al file...)

il render tutto ok ma non mi salva niente...

e quello che nn capisco è anche se salvasse, al secondo render mi sovrascrive il file o posso evitare sta cosa?

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
Non so se lo posso fare perchè la cosa non è per me...

e poi non saprei come fare e dovrei riniziare da capo...

cmq io ho scritto così:

render camera:cam1 outputfile: "C:\ProveMax\prova"

cam1 è una variabile che contiene la camera... e infatti mi esegue il render da li...

"C:\ProveMax\prova" è il percorso dove salvare (prova è il nome che voglio dare al file...)

il render tutto ok ma non mi salva niente...

e quello che nn capisco è anche se salvasse, al secondo render mi sovrascrive il file o posso evitare sta cosa?

errore mio... ho mancato il .bmp ora provo e vedo se va...

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
errore mio... ho mancato il .bmp ora provo e vedo se va...

...va!!!

Infinite grazie a tutti (specie coren)

senti ti volevo chiedere una cosa, xò questo è sfizio...

posso far apparire una box che mi chiede di inserire una stringa?

tipo come ti chiami?

e poi mi rida... ciao Stefano

Ovviamente mi interessa solo il box di ingresso, il resto già lo so :-)

xkè ora gli impongo che il file di testo con le coordinate sia quello e idem per il salvataggio, invece vorrei fosse selezionabile...

mi è venuto un altro dubbio... arrivato a render si blocca fino a che il render nn è finito giusto?

xkè se lancia solo il comando e prosegue dopo 3 minuti mi trovo 50 render in contemporanea e va tutto a....

Capito no!!!

Grazieeeeeeeeee


Modificato da graffio83

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

cerca nella reference "getSaveFileName" credo sia proprio la funzione che fa al caso tuo

anche getOpenFileName per selezionare il file con le posizioni degli oggetti.

in teoria prima di procedere dovrebbe essere fermo finchè non finisce il render.

ciao


Modificato da coren

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
cerca nella reference "getSaveFileName" credo sia proprio la funzione che fa al caso tuo

anche getOpenFileName per selezionare il file con le posizioni degli oggetti.

in teoria prima di procedere dovrebbe essere fermo finchè non finisce il render.

ciao

Per open tutto ok ma ti spiego per save...

sfil="C:\ProveMax\FileRender"+c+".bmp"

render camera:cam1 outputfile:sfil

c è una variabile i che cambia ad ogni ciclo trasformata in string, per dargli ogni volta un nome diverso, se utilizzo save nn posso + fare la magagna quindi vorrei semplicemente mettere del testo in una variabile chiedendo all'utente...

Sai come?

Per ora Grazie di tutto.

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

@karnak

figurati! di nulla!

@graffio83

devi creare una dialog in cui inserisci un edit text in cui l'utente inserirà il nome che ti serve e poi una volta che l'ha comunicato la distruggi.

in una finestra di editor di script premi F2 ti si aprirà l'editor per creare rollout, mettici un edittext ed un pulsante con ok ed uno con annulla.

al pulsante ok aggiungi l'evento pressed e gli fai eseguire il tuo script e distruggere la dialog, col button annulla distruggi solo la dialog.

per creare e distruggere una dialog devi usare i comandi:

createDialog <nome del rollout che vuoi usare per crearla>

destroyDialog <nome del rollout che hai usato per crearla>

ciao!

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

mi inserisco qui visto che trattasi dello stesso discorso.

allora .... come si fa per impostare il gamma dell'immagine da salvere?

ho provato sia on il parametro gamma che con fileoutgamma ma niente .... sara vray?

le immagini salvate vengono scure proprio perche' non imposta il gamma quando salva.

grazie ciao

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

lo script che vorrei fare e' questo...

loadMaxFile "C:\Model01.max"

for c in cameras do render camera:c outputfile:("Image_"+c.name+".tif")

carica il file e lancia il render ... che pero' ha gamma 1.

ho provato ad aggiungere

fileoutgamma:2

ma niente il file rimane con gamma 1.

non funziona perche'?

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

ma renderizzi con lo scanline o con Vray?

Magari Vray ha un proprio parametro di gamma e non lo stesso dello scanline, su questo però non posso aiutarti perchè io non ho Vray

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Ciao, ti parlo da ignorante ma x quello che ho fatto io mi sa che Max renderizza anche in base ai parametri di default quindi se imposti gamma:2 e poi lanci lo script dovrebbe andare...

Ciao

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

non è che magari posti lo script così lo si può testare?

hai provato a non salvare il render direttamente dalla funzione render ma ha salvarlo in una variabile di tipo bitmap che creerai impostandone il gamma come vuoi, e poi la salvi tu manualmente?

ciao

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
non è che magari posti lo script così lo si può testare?

hai provato a non salvare il render direttamente dalla funzione render ma ha salvarlo in una variabile di tipo bitmap che creerai impostandone il gamma come vuoi, e poi la salvi tu manualmente?

ciao

1. lo script l'ho gia' postato ... vedi pag.2

2. come si fa ad impostare la variabile che dici? .... certo se devo salvarlo manualmente non mi serve tanto sto script.!!!!

grazie.


Modificato da MaxiPT

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora

  • Navigazione recente   0 utenti

    Non ci sono utenti registrati da visualizzare in questa pagina.

×