Jump to content
jago75

Animazioni E Maxscript

Recommended Posts

Ciao a tutti.

Avevo bisogno di sapere se era possibile associare ad un determinato fotogramma di un'animazione uno script che faccia partire un determinato evento.

Grazie in anticipo


Edited by jago75

Share this post


Link to post
Share on other sites

mmm... non c'è un callback esplicito(o perlomeno non l'ho trovato), però forse ci sono altri modi per fare quello che vuoi, magari se mi dai qualche info in più troviamo la soluzione.

Cosa sarebbe questo evento che deve essere lanciato dallo script?

Deve essere per forza una cosa che viene eseguita durante l'animazione e non prima?(ad esempio animare degli oggetti a partire da un determinato frame assegnandogli dei keyframe da quel frame in poi)

Se vuoi fare una cosa che viene calcolata mano a mano che procede l'animazione è possibile assegnare uno script controller.

Fammi sapere

Ciao!

Share this post


Link to post
Share on other sites

Beh, effettivamente sono stato un pò troppo generico...cercherò di descrivere al meglio quello che vorrei cercare di fare...

In poche parole vorrei associare ad un frame dell'animazione una più stringhe, come per esempio si può fare con un oggetto e il suo "User Defined Properties" buffer, così che uno script possa scorrere tutti i frame dell'animazione, analizzare le stringhe associate ad ogni fotogramma ed eventualmente eseguire determinate azioni in base al valore delle stesse.

Spero di esser stato chiaro...

Share this post


Link to post
Share on other sites

ciao, scusa se ti rispondo solo ora ma ho avuto una serie di impegni

Ho fatto qualche test, questo è quello che ne è venuto fuori:

VetFrameProp=#()

for i=(animationRange.start) to (animationRange.end) by 1 do

(	

	append VetFrameProp ""

)


VetFrameProp[10]="10"

VetFrameProp[40]="-55"

VetFrameProp[70]="40"

VetFrameProp[100]="5"


for i=(animationRange.start) to (animationRange.end) by 1 do

(

	sliderTime=i

	if(VetFrameProp[((i as integer)/160)+1]!="")do

	(

		move $ [0,0,(VetFrameProp[((i as integer)/160)+1] as float)]

		$.radius =(VetFrameProp[((i as integer)/160)+1]as float)

	)


)

per testare questo scriptino crea una sfera(dagli radius 5 così viene meglio)

Prima di eseguire lo script assicurati che la sfera sia selezionata

lancia lo script:

-In pratica crea un vettore con un numero di elementi pari ai frame dell'animazione

-Ad alcuni assegna delle stringhe con dei valori(per il test)

-Scorre l'animazione controllando ad ogni frame la stringa corrispondente

-In questo caso le stringhe sono numeri che vengono usati per spostare la sfera e modificarne il radius

Non è uno script definitivo ma credo sia un buon punto di partenza per quello che devi fare(se ho capito bene quello che volevi )

ciao!

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...