Jump to content
bennykapelli

Spostare I Keyframe Di Diversi Oggetti

Recommended Posts

Ciao a tutti,

devo ammettere che sono a zero completo di maxscript, anche se sono sempre più determinato a mettermici su. Quello che vorrei fare è:

avendo tanti oggetti uguali (o non) con la stessa animazione, ad esempio una scalatura da 0 a 100%) come faccio a spostare i key frame in maniera che queste scalature avvengano in maniera sequenziale o cmq determinare io l'intervallo tra l'animazione di un oggetto e un altro, ceando il cosiddetto "effetto cascata"

Mi rendo conto che più che un consiglio chiedo proprio uno script già pronto, ma se qualcuno mi può aiutare mi toglierebbe un sacco di lavoro

grazie in anticipo

ciao

Benny

Share this post


Link to post
Share on other sites

...se hai delle animazioni ti basta selezionare le chiavi sulla timeline, sull'editor delle curve o sul dope sheet (credo che anche max ce l'abbia) e draggare la selezione di ciascun oggetto. Puoi farlo anche senza Script.

Share this post


Link to post
Share on other sites
...se hai delle animazioni ti basta selezionare le chiavi sulla timeline, sull'editor delle curve o sul dope sheet (credo che anche max ce l'abbia) e draggare la selezione di ciascun oggetto. Puoi farlo anche senza Script.

si, il problema però è proprio quello. avendo magari 50 o più oggetti che voglio che si animino uno dietro l'altro, vorrei evitare di farlo a mano uno per uno. cmq grazie, avevo anche trovato uno script su scriptspot.com ma il link non porta più da nessuna parte.

grazie

ciao

Share this post


Link to post
Share on other sites
moveKeys

mi da l'idea di essere utile. ma c'è uno script da cui posso partire per cercare di infilarcelo dentro? lo vorrei fare su gli oggetti selezionati, magari con un bottone con cui posso decidere quanti frame di intervallo mettere tra l'uno e l'atro...

vabbeh... sto esagerando....

in ogni caso se c'è qualcosa da cui posso partire non sarebbe male

grazie

Share this post


Link to post
Share on other sites

Ciau ;D

questa è una versione semplificata che ho scritto di quello che vuoi fare

in pratica a seconda delle distanza fra l'oggetto selezionato x primo de tutti gli altri sposta i keyframe

fn scaleKeys mult=(

sel=$selection

base=$selection[1]

for x=2 to sel.count do(

controller=copy(base.scale.controller)

moveKeys controller ((distance sel[x].position base.position)/mult)

sel[x].scale.controller=controller

)

)

rollout scaleKeysR "scaleKeys" (

slider doIt "scale" range:[0.1,100,10]

on doIt changed val do scaleKeys(val)

)

createDialog scaleKeysR 200 100

qua ce il video che ti mostra come fare

LINK

ciau

Share this post


Link to post
Share on other sites
Ciau ;D

questa è una versione semplificata che ho scritto di quello che vuoi fare

in pratica a seconda delle distanza fra l'oggetto selezionato x primo de tutti gli altri sposta i keyframe

fn scaleKeys mult=(

sel=$selection

base=$selection[1]

for x=2 to sel.count do(

controller=copy(base.scale.controller)

moveKeys controller ((distance sel[x].position base.position)/mult)

sel[x].scale.controller=controller

)

)

rollout scaleKeysR "scaleKeys" (

slider doIt "scale" range:[0.1,100,10]

on doIt changed val do scaleKeys(val)

)

createDialog scaleKeysR 200 100

qua ce il video che ti mostra come fare

LINK

ciau

NON HO PAROLE!!!!!!!!!!!

veramente, sono commosso. funziona benissimo, mi svolta non so quante ore di lavoro e in assoluto sono senza parole. Ho un angelo custode 3D!!

GRAZIE!

Share this post


Link to post
Share on other sites
ora mi metto subito a studiare maxscript, devo assolutamente fare qualcosa. comincio con i tutorial che ci sono in max e poi vediamo

ciao

Benny

giuro che c'ho provato, ma cosi da zero non riesco a capire. come faccio ad aggiungere allo script che funzioni anche per traslazioni e rotazioni? spero di non abusare troppo della tua disponibilità ma mi sembra di vedere la luce in fondo ad un lungo tunnel...

ciao, grazie

benny

Share this post


Link to post
Share on other sites

x avere anche le rotazioni basta aggiungere il controller ed è facile :)

x la posizione la cosa si complica un poco

infatti il controller di da la traslazione in global space e te la vuoi in local :)

quindi bisogna moltiplicarla x l'inverso della mareice del primo oggetto

cmq nn è difficile... eccoti lo script

fn scaleKeys mult=(

sel=$selection

base=$selection[1]

for x=2 to sel.count do(


mat=inverse base.transform

pos=sel[x].pos

pos=pos*mat

fix=position_XYZ()

addNewKey fix 0

fix.x_position=pos[1]

fix.y_position=pos[2]

fix.z_position=pos[3]


val=(distance pos base.position)/mult

controller1=copy(base.scale.controller)

controller2=copy(base.rotation.controller)

controller3=copy(base.position.controller)


moveKeys controller1 val

moveKeys controller2 val

moveKeys controller3 val


sel[x].scale.controller=controller1

sel[x].rotation.controller=controller2


if classOf(sel[x].position.controller)!=position_list do

(

sel[x].position.controller=position_list())

sel[x].position.controller[1].controller=fix

sel[x].position.controller[2].controller=controller3

)

)

rollout scaleKeysR "scaleKeys" (

slider doIt "scale" range:[0.1,100,10]

on doIt changed val do scaleKeys(val)

)

createDialog scaleKeysR 200 100

:hello:


Edited by micle

Share this post


Link to post
Share on other sites
x avere anche le rotazioni basta aggiungere il controller ed è facile :)

x la posizione la cosa si complica un poco

infatti il controller di da la traslazione in global space e te la vuoi in local :)

quindi bisogna moltiplicarla x l'inverso della mareice del primo oggetto

cmq nn è difficile... eccoti lo script

:hello:

... che dire...

la vera manna dal cielo. cmq non ci sarei mai arrivato.

Ho visto che nella sezione tutorial ci sta tutta una guida allo script per principianti, ho cominciato a leggerla e mi sembra che sia ottima. Appena ho finito questo lavoro mi ci dedico. è troppo importante.

grazie infinite. spero di poter un giorno contraccambiare il favore.

ciao

benny

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...