//
Dynamic Parenter
Pagina 1 di 3 123 UltimaUltima
Risultati da 1 a 10 di 24

Discussione: Dynamic Parenter

  1. #1

    Dynamic Parenter

    Ho spulciato un po in giro ma mi sembra che non vi sia nulla di veramente comodo.
    L'idea è quella di avere/creare un tool che permetta di animare il gesto di abbambinare in maniera veloce e pratica.
    Cos'è abbambinare? abbambinare è quando si deve per esempio muovere un mobile, lo si solleva su un angolo, lo si ruota e lo si appoggia, poi lo si solleva sull'altro angolo, lo si ruota e lo si appoggia.
    Mettete anche il caso di voler spostare uno scatolone facendolo ruotare, si ruota su uno spigolo, poi su un altro e poi su un altro ancora.
    Esiste una maniera pratica per farlo?
    ho guardato i vari parenter dinamici di lw, ma sono tutti scomodi da usare, bisogna impostare il fotogramma di scambio, bisogna ricordarsi di settare un kf, mi sembra tutto poco immediato.

    Ho pensato di fare un lscript, e fino ad un certo punto è anche fattibile, solo che avrebbe una serie di limiti. ( mi è sembrato che gli lscript sentono l'inizio di un'azione nell'layout, ma non la fine )
    Stavo perciò pensando ad un plugin vero e proprio, ma prima di buttarmi in un impresa del genere, ( non sono un programmatore, non conosco il c e neppure l'sdk di lw) mi chiedevo se ne valeva la pena.
    Che ne pensate?

  2. #2
    Licantropo Mod L'avatar di gebazzz
    Data Registrazione
    Jun 2004
    Località
    Somewhere in my mind
    Messaggi
    5,490
    mi sembra un bel progetto ma piuttosto ambizioso, anche perchè sarebbe il primo. attualmente non so come lo farei, è pensabile farlo con la dinamica hardfx, o forse anche con il plugin odefl..
    non so, come struttureresti un plugin di questo tipo?

    vashts
    Web: Geba.it
    =============
    "
    Ci sono 10 tipi di persone al mondo: quelle che capiscono il sistema binario e quelle che non lo capiscono.
    "

  3. #3
    ho fatto degli esperimenti con lscript, e funziona in parte.
    più o meno senza addentrarsi nello specifico ci sono due soluzioni, una potrebbe essere una cosa del genere:

    si crea un gruppo di ogetti null, ogni volta che uno di questi viene selezionato si attiva una modalità per la quale se si va a muovere lui diventa padre e gli altri figli, quando si finisce di muovere si ritorna nella modalita tutti liberi.
    Ovviamente bisogna stare attenti a parent in place e se gli ogetti null hanno gia un padre diventa un casino.

    altra idea è quella di non creare parentele vere e propie, ma formule che calcolino la distanza e gli angoli relativi di tutto il gruppo, quando si va a muovere o ruotare altre espressioni ricalcolano le nuove posizioni e rotazioni e creano un kf con i nuovi valori.

    il secondo è più complesso ma secondo me da maggior flessibilità e permette poi nuovi sviluppi, via lscript ho trovato la maniera per far funzionare una cosa simile per traslazioni e anche per le rotazioni, non ho ancora risolto come cambiare la rotazione a i figli e soprattutto non sono riuscito a trovare una maniera per capire quando uno finisce di fare la modifica. lightwave comunica a lscript quando inizia, ma non quando finisce, perciò si rimane fermi alla penultima modifica come valore calcolato.

    via sdk credo che vi sia un ritorno di chiamata quando uno molla la presione del mause, si potrebbe fare calcolare dopo quella chiamata la posizione definitiva.

    credo che se ne capissi qualcosa di c non dovrebbe essere una cosa difficile. per il momento vorrei valutare se poi una cosa del genere abbia una sua utilità, o se sono soli io che sento la mancanza di questa cosa. mi avevano detto per esempio che in maya per esempio si potesse facilmente impostare una parentela in base all'inclinazione per esempio di un oggetto.

    a voi la palla.

  4. #4
    Lupo Nero L'avatar di Piddu
    Data Registrazione
    Mar 2005
    Località
    Bologna -> London
    Messaggi
    451
    Ciao Loris. Non ho capito bene quello che vuoi fare, ma ti posso dire un paio di cose da quello che ho capito.

    Primo: un parenter non e' semplicemente una plug-in che legge dei valori dai canali di rotazione/posizione/scala, ma si preoccupa di deformare lo spazio di trasformazione dei figli sottostanti.

    Secondo: stai attento perche' non usando canali di appoggio o altro, invece che semplificare la vita all'utente rischi di creare qualcosa di instabile e dannoso.

    Per il resto ti faccio in bocca al lupo.
    Mi sembra veramente una cosa ambiziosa.
    Ciao ciao
    Go the distance

  5. #5
    l'ho chiamato parenter ma effettivamente non si dovrebbe comportare come tale, e non dovrebbe avere effetti sulla scala degli oggetti per il momento. dovrebbe essere più simile ad una selezione multipla dove le trasformazioni di posizione e soprattutto rotazione agiscono non localmente attorno al pivot dei singoli null, ma attorno al pivot del null selezionato, un po come nel modeller quando la rotazione non e centrata rispetto alla selezione, ma rispetto a dove hai messo il mouse. con l'unica differenza che al posto di leggere la posizione del mouse si usa la posizione di un null preimpostato e reso parte di un gruppo.

    Secondo: stai attento perche' non usando canali di appoggio o altro, invece che semplificare la vita all'utente rischi di creare qualcosa di instabile e dannoso.

    Questa non l'ho capita, mi puoi per favore spiegare?

  6. #6
    Lupo Nero L'avatar di Piddu
    Data Registrazione
    Mar 2005
    Località
    Bologna -> London
    Messaggi
    451
    Ok. Allora intendo facendo sta cosa in effetti e' come se tu stessi imparentando effettivamente un oggetto temporaneamente a un'altro e modificandone la sua rotazione e posizione nello spazio.

    L'instabile e dannoso e' dovuto al fatto che semplicemente il basarsi su una selezione puo' risultare rischioso. Un esempio, volevo fare per Maya una plug-in che facesse lo switch tra FK/IK basandosi sulla selezione corrente. Nel senso che poi si preoccupava poi il nodo che stavo programmando di cambiare i valore locali di ciascun oggetto coinvolto.
    Tutto cio' pero' come puoi ben capire e' un problema ridondante e poco pulito.

    Inoltre in LW l'unico modo per fare sta cosa, mi sembra che sia creare un master class script, con tutto che per fare una cosa pulita nel senso non mettendo keyframe sui canali dovresti farlo lavorare in combinazione con un animation script e quest'ultimo si dovrebbe occupare di tutta la gestione.

    Non so, non ho capito proprio a livello di struttura come intendi crearlo.
    Go the distance

  7. #7
    Citazione Originariamente Scritto da Piddu Visualizza Messaggio
    Inoltre in LW l'unico modo per fare sta cosa, mi sembra che sia creare un master class script, con tutto che per fare una cosa pulita nel senso non mettendo keyframe sui canali dovresti farlo lavorare in combinazione con un animation script e quest'ultimo si dovrebbe occupare di tutta la gestione.
    perchè non posso mettere keyframe sui canali?
    era propio quello che volevo fare. un master class era quello che stavo pensando, ma non capisco perche non posso scrivere direttamente dei key frame su i vari xyz degli oggetti coinvolti, in modo che se qualcun'altro prende la scena e non ha il plug tutto funziona correttamente lo stesso.

    se riesco tento di fare un video con più o meno come dovrebbe funzionare così forse riesco ad essere più chiaro (ovviamente facendo finta che funzioni).

    comunque a parte le difficolta di realizzazione, pensate che sia utile?

  8. #8
    Lupo Nero L'avatar di Piddu
    Data Registrazione
    Mar 2005
    Località
    Bologna -> London
    Messaggi
    451
    Citazione Originariamente Scritto da loriswave Visualizza Messaggio
    perchè non posso mettere keyframe sui canali?
    era propio quello che volevo fare. un master class era quello che stavo pensando, ma non capisco perche non posso scrivere direttamente dei key frame su i vari xyz degli oggetti coinvolti, in modo che se qualcun'altro prende la scena e non ha il plug tutto funziona correttamente lo stesso.
    No Loris non dico che non lo puoi fare. Ecco volevo capire sta cosa. Va benissimo, l'unico problema facendo a sto modo e' che rischi di riempirti di key-frame senza neanche vederli in quanto li stai piazzando sull'oggetto non selezionato. Cmq prova vediamo cosa succede...

    Sono curioso.
    A presto
    Go the distance

  9. #9
    OT: "abbambinare" è LOLLISSIMO

  10. #10
    Puoi utilizzare i Point Constraint e gli Orient Constraint. Credo siano la soluzione ideale (la più rapida ed efficace) al tuo problema.
    Lino Grandi
    LightWave3d Group






Discussioni Simili

  1. Dynamic Obj
    Di Galvo nel forum LW3D
    Risposte: 3
    Ultimo Messaggio: 04-02-07, 12:43

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
  •