Visualizza Versione Completa : Espressione che non funziona... come fare?
Ciao,
ho fatto una semplicissima espressione funzionante in un canale di un oggetto:
[Null_14.Position.Z, Frame - 10]
In sostanza l'oggetto prende la posizione del canale Z di Null_14 mantenendo un timelag di 10 frame.
Volendo però rendere dinamico quel "10 frame", in modo da modificarlo al volo senza cambiare i canali di 20 oggetti, l'ho modificata come segue:
[Null_14.Position.Z, Frame - NullT.Position.X]
dove NullT è un null in posizione 10m su X, che posso variare.
Ebbene, l'espressione viene accettata, come fosse scritta giusta, ma non viene praticato nessun lag, come se fosse scritto "Frame - 0".
Come si può fare? è possibile assegnare al posto di quel "10" un valore preso dalla posizione di un null?
Grazie
ciao
15234
Questa scena dovrebbe funzionare.
La sintassi che hai usato non mi sembra venga accettata da LightWave.
Ho usato questa:
Null02.pos(Time-(10/25)).x
(assegnata al canale X del Null01)
25= fps della scena
Spero ti sia utile!
Grazie,
si, funziona nell'identico modo in cui funziona a me (ho dovuto però eliminare quel /25 lasciando solo 1 (1 secondo, oppure variando, ad esempio 0.5 per mezzo secondo).
Si comporta esattamente come [Null02.Position.X, Time - 1].
Il problema è che quel "1 secondo" lo voglio poter settare attraverso la posizione di un altro null (lo chiamiamo Null03?).
Quindi io, per logica, modificherei la tua funzione in:
Null02.pos(Time-(Null03.pos.x)).x
in modo che il Time corrisponda alla posizione su X di null03, ed io muovendo Null03 posso aumentare o diminuire il lag fra Null01 e Null02.
Ma non funziona, non prende il valore di Null03.
Scusa ma ho avuto la connessione offline per ore!!!
Prova questo:
15235
Null02.pos(Time-((1/[Light.Position.X])/25)).x
Muovendo la luce sulle X aggiungi frame al lag....
Grazzissimo, funziona.
Ha un comportamento stranissimo che non riesco a prevedere dal -2 allo 0, ma basta pochissimo per trovare la posizione voluta.
Adesso provo a concatenarci altri 15 oggetti, ciascuno con il medesimo lag dal precedente... lol! 15 funzioni quindi, x 3 canali diversi.... 45 funzioni diverse, ma una volta settato dovrebbe essere tutto modificabile solo spostando un unico null.
Scusami....
Questa e' sbnagliata:
Null02.pos(Time-((1/[Light.Position.X])/25)).x
Questa dovrebbe essere giusta:
Null02.pos(Time-(1+[Light.Position.X])/25).x
Si, funziona perfettamente adesso. Non ci sarei mai arrivato in quanto non ho idea di come funzioni il comando Time.
Ho provato a fare la medesima cosa anche per controllare il canale dissolve, ma non funziona - ho tentato con Null02.Dissolve(Time-(1+[Light.Position.X])/25) - e varianti, ma non prende la light position, mentre prende un valore intero. Non importa, ho impostato in tutti gli oggetti il channel follower, e se mi chiedono modifiche cambierò il valore del lag che ho inserito lì a mano, è solo per il dissolve quindi sono solo 15, mentre il resto viene controllato dalle espressioni.
Grazie mille per tutto!
Ciao
Non credo che il dissolve supporti la funzione time! Verifichero'.
Quella che ho usato e' una sintassi alternativa a quella usata normalmente.
Time e' incorporato.
[Null.Position.X] diventa Null.pos(Time).x
[Null.Rotation.H] diventa Null.rot(Time).h
[Null.Scale.X] diventa Null.scale(Time).x
;)
Con questa sintassi la supporta:
[Null.Dissolve,Time - 1]
dove 1 può essere un qualsiasi numero.
Invece la tua sintassi alternativa con time incorporato no, o almeno non ho trovato il sistema di abbreviare "Dissolve" (Position=pos, di conseguenza Dissolve=??? "dis" no, non lo prende, "diss" nemmeno, "d" non se ne parla...)
pertanto dovendo usare la sintassi normale non riesco a fargli digerire anche la [Light.Position.X] al posto dell'1.
Ma come ti dicevo ho già sistemato tutto con il channel follower e se dovrò cambiare reinserirò manualmente i time lag.
Grazie comunque per il tempo dedicatomi.
Ciao
Powered by vBulletin® Version 4.2.5 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.