//
Espressione che non funziona... come fare?
Risultati da 1 a 9 di 9

Discussione: Espressione che non funziona... come fare?

  1. #1
    Licantropo L'avatar di Wotan3d
    Data Registrazione
    Mar 2009
    Località
    Bergamo
    Messaggi
    1,204

    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

  2. #2
    timelag.rar

    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!
    Lino Grandi
    LightWave3d Group






  3. #3
    Licantropo L'avatar di Wotan3d
    Data Registrazione
    Mar 2009
    Località
    Bergamo
    Messaggi
    1,204
    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.

  4. #4
    Scusa ma ho avuto la connessione offline per ore!!!

    Prova questo:

    timelag_02.rar

    Null02.pos(Time-((1/[Light.Position.X])/25)).x

    Muovendo la luce sulle X aggiungi frame al lag....
    Lino Grandi
    LightWave3d Group






  5. #5
    Licantropo L'avatar di Wotan3d
    Data Registrazione
    Mar 2009
    Località
    Bergamo
    Messaggi
    1,204
    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.

  6. #6
    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
    Lino Grandi
    LightWave3d Group






  7. #7
    Licantropo L'avatar di Wotan3d
    Data Registrazione
    Mar 2009
    Località
    Bergamo
    Messaggi
    1,204
    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

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

    Lino Grandi
    LightWave3d Group






  9. #9
    Licantropo L'avatar di Wotan3d
    Data Registrazione
    Mar 2009
    Località
    Bergamo
    Messaggi
    1,204
    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

Discussioni Simili

  1. VIPER...ma come funziona?
    Di Solferinom nel forum LW3D
    Risposte: 4
    Ultimo Messaggio: 27-03-08, 18:35
  2. Rughe d'espressione
    Di Devon nel forum LW3D
    Risposte: 3
    Ultimo Messaggio: 24-11-07, 17:51
  3. espressione per rotazione
    Di loriswave nel forum LW3D
    Risposte: 6
    Ultimo Messaggio: 16-01-07, 10:29
  4. Aiuto!! LW HUB non funziona più......
    Di 3dl nel forum LW3D Bugs & Features
    Risposte: 15
    Ultimo Messaggio: 02-05-06, 17:53
  5. Sklegon tree non funziona
    Di jega nel forum LW3D Bugs & Features
    Risposte: 2
    Ultimo Messaggio: 02-04-06, 14:29

Segnalibri

Segnalibri

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •