Vai al contenuto

superstellino

Members
  • Portfolio

    Portfolio
  • Numero messaggi

    70
  • Registrato

  • Ultima Visita

  • Days Won

    1

superstellino last won the day on November 13 2010

superstellino had the most liked content!

Info su superstellino

  • Rango
    Matricola
  1. superstellino

    Bicchiere Con Liquido

    Cristiano, in questo caso ti basta un solido generato tramite rivoluzione di una curva. Una volta ottenuta la geometria, sara' lo shader che applicherai a far sembrare quel solido come un liquido. S.
  2. superstellino

    Bicchiere Con Liquido

    Dreamstar, dovresti spiegare meglio quello che vuoi fare. Vorresti riempire il bicchiere con un liquido nel senso che vorresti realizzare l' animazione del liquido che riempie il bicchiere oppure ti basta semplicemente una geometria che rappresenti il liquido all' interno del bicchiere per poter fare uno studio sui materiali e sulle luci? Nel primo caso, anche se esistono diverse soluzioni, sara' sicuramente piu' complicato del secondo caso dove con un semplice revolve (esattamente come hai fatto per il bicchiere) otterresti la geometria necessaria per poi continuare il tuo studio. Cosa vuoi fare? S.
  3. superstellino

    Transforming Wheel...che Suggerite?

    Eliseo88, potrei suggerirti la soluzione piu' semplice, e cioe' generare il tuo pneumatico con un REVOLVE ed animare il parametro "End Sweep" da 360 a 0 per farla scomparire e viceversa. Ciao; S.
  4. superstellino

    Animazioni Spline

    D911C, basta eseguire un "Duplicate Special" e all' interno dell' option box seleziona "Duplicate input Graph". In questo modo duplicherai non solo la Shape ma anche ogni curva di animazione o qualsiasi altro input. A questo punto basta aprire il Graph Editor, selezionare tutte le curve di animazione e spostarle di un' offset a tuo piacimento. Ciao; S.
  5. superstellino

    Script Maya

    Denny, l' unico motivo per il quale la tua elica non ruota correttamente seguendo l' orientamento del suo asse e' l' aver eseguito un "freeze transformation" dopo averla ruotata e posizionata. Eseguendo un "freeze transformation" farai perdere il giusto orientamento al suo asse riposizionandolo e riorientandolo perpendicolarmante alle viste ortographiche. Ciao; S.
  6. superstellino

    Animare Un Monopattino.

    Eliseo88, fai click con il tasto destro del mouse sul link nel mio precedente post e salva il file nel tuo computer, Il file e' una scena di MAYA, in MAYA ASCII format, ed e' stata fatta con MAYA 8.5. Basta caricare MAYA ed aprire la scena che ti ho allegato. All' interno dello Script Editor puoi visualizzare le expressiones responsabili della rotazione e di altri controlli che ti ho descritto per la ruota. Se usi una versione differente dalla 8.5 di MAYA, devi effettuare alcune modifiche al file per poterlo aprire... Se fosse questo il caso e se non sai come poter fare fammi sapere. Ciao; S.
  7. superstellino

    Animare Un Monopattino.

    Eliseo88, ti allego di seguito una semplice scena con la traduzione delle formule in MEL Expressiones. Seleziona il locator chiamato "CONTROL_wheelLoc" per spostare la ruota e vederla ruotare correttamente. All' interno del Locator Channel List, ho aggiunto 2 canali, il primo calcola la Circunferenza della ruota, il secondo ti aggiorna su quanti gradi la ruota sta' ruotando. Ho aggiunto anche un controllo, molto semplice grazie al quale muovendo il Locator verso l' alto, e cioe' sulle Y, la ruota si ridimensiona automaticamente ricalcolando la dovuta rotazione in base al nuovo valore della sua circunferenza. E' molto semplice ma esplanatorio per le precedenti formule. wheelBasicRotation MAYA 8.5 scene file Ciao; S.
  8. superstellino

    Animare Un Monopattino.

    Eliseo88, la sintassi delle formule che ti ho descritto nel post precedente, vanno ovviamente tradotte in MEL expression. Non puoi usarle cosi come io le ho scritte. S.
  9. superstellino

    Animare Un Monopattino.

    Eliseo88, potresti continuare ad usare la tua expression iniziale, e dopo aver seguito i consigli di kage_maru, aggiustare il moltiplicatore ad occhio per far coincidere la rotazione con la traslazione. Oppure, potresti affidarti ad una soluzione matematica corretta. In questo caso, non hai bisogno di molto, giusto qualche formula. Per prima cosa, hai bisogno di definire/dichiarare alcune variabili importanti: PI = PI greco = 3.14...... R = Raggio della tua ruota = puoi misurarlo in MAYA. C = Circonferenza della ruota. D = Distanza entro quale la ruota si sposta = Se ti sposti sulle X, basta dare un'occhiatta al channel translateX in Maya. Adesso, La rotazione e' data da questo formula: N = 360 x (D/C) Quello che ci manca e' la circonferenza, che e' data da questa formula: C = 2 PI R Quindi, sostituendo: N = 360 x (D/(2 PI R)) In questo modo, la ruota ruotera' sempre correttamente in base a quanto si sposta. Ciao; S.
  10. superstellino

    Robot-coso Ac-010-ne

    Eddie, perdonami ma con l' arrivo dell' estate stiamo lavorando parecchio al ristorante. Spero che qualcuno possa darti un'aiuto per farti iniziare ed appena trovo tempo e forze ti preparo un po' di cose. S.
  11. superstellino

    Lunghezza Segmenti In Maya

    No, adesso funziona tutto perfettamente.. /////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////// { string $crvSel[] = `ls -selection`; int $crvDegree = `getAttr ($crvSel[0] + ".degree")`; int $crvSpans = `getAttr ($crvSel[0] + ".spans")`; int $crvPnt = $crvDegree + $crvSpans; float $coord[] = `getAttr ($crvSel[0] + ".cv[0:" + ($crvPnt-1) + "]")`; int $sCoord = size($coord); int $i = 0; int $p = 0; int $e = 0; for($i=0;$i<$sCoord;$i++) { string $selRGD = {}; string $selRGL = {}; string $selRGC = {}; string $hideC = {}; $i = $e; string $cmd = ("distanceDimension -sp"); $cmd += (" " + $coord[$i]); $i++; $cmd += (" " + $coord[$i]); $i++; $cmd += (" " + $coord[$i] + " -ep"); $i++; $e = $i; $cmd += (" " + $coord[$i]); $i++; $cmd += (" " + $coord[$i]); $i++; $cmd += (" " + $coord[$i] + ";"); eval($cmd); if($p<$crvPnt) { string $pntSel2 = ("select " + $crvSel[0] + ".cv[" + $p + "];newCluster \" -envelope 1\";"); eval($pntSel2); $p++; if($p<$crvPnt) { string $pntSel2 = ("select " + $crvSel[0] + ".cv[" + $p + "];newCluster \" -envelope 1\";"); eval($pntSel2); $p++; } } if($i==$sCoord-1) { int $c = 0; string $cluster[] = `ls -type transform "cluster*"`; string $locator[] = `ls -type transform "locator*"`; string $selRGD = ("select -r \"distance*\";string $selDist[] = `ls -sl -type transform`;select -r $selDist;renameSelectionList(\"" + $crvSel[0] + "_distance\");group -n " + $crvSel[0] + "_G_Dimension; xform -os -piv 0 0 0;select -cl;"); string $selRGL = ("select -r \"locator*\";string $selLoc[] = `ls -sl -type transform`;select -r $selLoc;renameSelectionList(\"" + $crvSel[0] + "_locator\");group -n " + $crvSel[0] + "_G_Locator; xform -os -piv 0 0 0;select -cl;"); string $selRGC = ("select -r \"cluster*\";string $selClu[] = `ls -sl -type transform`;select -r $selClu;renameSelectionList(\"" + $crvSel[0] + "_cluster\");select -cl;"); string $hideC = ("hide \"" + $crvSel[0] + "_cluster*\";"); for($c=0;$c<size($locator);$c++) { string $pCmd = ("parent " + $cluster[$c] + " " + $locator[$c] + ";"); eval($pCmd); } eval($selRGD); eval($selRGL); eval($selRGC); eval($hideC); } } } /////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////// S.
  12. superstellino

    Lunghezza Segmenti In Maya

    Scusatemi, ho corretto un bug che non permetteve di far funzionare lo script eseguendolo piu' di una volta su linee/curve differenti perche' il nome dei locator e dei measure era sequenziale (opzione di default di Maya). Adesso funziona tutto perfettamente. /////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////// string $crvSel[] = `ls -selection`; int $crvDegree = `getAttr ($crvSel[0] + ".degree")`; int $crvSpans = `getAttr ($crvSel[0] + ".spans")`; int $crvPnt = $crvDegree + $crvSpans; float $coord[] = `getAttr ($crvSel[0] + ".cv[0:" + ($crvPnt-1) + "]")`; int $sCoord = size($coord); int $i = 0; int $p = 0; int $e = 0; for($i=0;$i<$sCoord;$i++) { $i = $e; string $cmd = ("distanceDimension -sp"); $cmd += (" " + $coord[$i]); $i++; $cmd += (" " + $coord[$i]); $i++; $cmd += (" " + $coord[$i] + " -ep"); $i++; $e = $i; $cmd += (" " + $coord[$i]); $i++; $cmd += (" " + $coord[$i]); $i++; $cmd += (" " + $coord[$i] + ";"); eval($cmd); if($p<$crvPnt) { string $pntSel2 = ("select " + $crvSel[0] + ".cv[" + $p + "];newCluster \" -envelope 1\";"); eval($pntSel2); $p++; if($p<$crvPnt) { string $pntSel2 = ("select " + $crvSel[0] + ".cv[" + $p + "];newCluster \" -envelope 1\";"); eval($pntSel2); $p++; } } if($i==$sCoord-1) { int $c = 0; string $cluster[] = `ls -type transform "cluster*"`; string $locator[] = `ls -type transform "locator*"`; for($c=0;$c<size($locator);$c++) { string $pCmd = ("parent " + $cluster[$c] + " " + $locator[$c] + ";"); eval($pCmd); } string $selRGD = ("select -r \"distance*\";renameSelectionList(\"" + $crvSel[0] + "_distance\");group -n G_dDimension; xform -os -piv 0 0 0;"); string $selRGL = ("select -r \"locator*\";renameSelectionList(\"" + $crvSel[0] + "_locator\");group -n G_Locator; xform -os -piv 0 0 0;"); string $selRGC = ("select -r \"cluster*\";renameSelectionList(\"" + $crvSel[0] + "_cluster\");"); string $hideC = ("hide \"cluster*Handle*\";"); eval($selRGD); eval($selRGL); eval($selRGC); eval($hideC); } } /////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////// S.
  13. superstellino

    Lunghezza Segmenti In Maya

    So che questo thread e' vecchio, ma visto che avevo un po' di tempo libero oltre al fatto di essere una cosa utile per tanti motivi, ho fatto questo script. Draggatelo all' interno di una Shelf: string $crvSel[] = `ls -selection`; int $crvDegree = `getAttr ($crvSel[0] + ".degree")`; int $crvSpans = `getAttr ($crvSel[0] + ".spans")`; int $crvPnt = $crvDegree + $crvSpans; float $coord[] = `getAttr ($crvSel[0] + ".cv[0:" + ($crvPnt-1) + "]")`; int $sCoord = size($coord); int $i = 0; int $p = 0; int $e = 0; for($i=0;$i<$sCoord;$i++) { $i = $e; string $cmd = ("distanceDimension -sp"); $cmd += (" " + $coord[$i]); $i++; $cmd += (" " + $coord[$i]); $i++; $cmd += (" " + $coord[$i] + " -ep"); $i++; $e = $i; $cmd += (" " + $coord[$i]); $i++; $cmd += (" " + $coord[$i]); $i++; $cmd += (" " + $coord[$i] + ";"); eval($cmd); if($p<$crvPnt) { string $pntSel2 = ("select " + $crvSel[0] + ".cv[" + $p + "];newCluster \" -envelope 1\";"); eval($pntSel2); $p++; if($p<$crvPnt) { string $pntSel2 = ("select " + $crvSel[0] + ".cv[" + $p + "];newCluster \" -envelope 1\";"); eval($pntSel2); $p++; } } if($i==$sCoord-1) { int $c = 0; string $cluster[] = `ls -type transform "cluster*"`; string $locator[] = `ls -type transform "locator*"`; for($c=0;$c<size($locator);$c++) { string $pCmd = ("parent " + $cluster[$c] + " " + $locator[$c] + ";"); eval($pCmd); } string $selGD = ("select -r \"distance*\";group -n G_dDimension; xform -os -piv 0 0 0;"); string $selGL = ("select -r \"locator*\";group -n G_Locator; xform -os -piv 0 0 0;"); string $hideC = ("hide \"cluster*Handle*\";"); eval($selGD); eval($selGL); eval($hideC); } } Adesso create una linea spezzata (potrebbe essere la planimetria di una casa o qualsiasi altra cosa..) e con la linea appena creata selezionata eseguite lo script clicckando l'icona nella shelf. Verranno creati dei Measure ("distanceDimension" come li chiama Maya internamente) da un vertice al successivo, e verranno creati 2 gruppi: G_dDimension -> conterra' tutti i "measure" G_Locator -> conterra' tutti i locator dei"measure" A questo punto, spostando i locators sposteremo anche i controlPoint della linea ad essi associati e i "measure" si aggiuorneranno in tempo reale. S.
  14. superstellino

    Robot-coso Ac-010-ne

    Eddie, ottima scelta! In questo weekend preparo le prime cose e poi iniziamo. S.
  15. superstellino

    Metodo Di Selezione Veloce

    Mud, mi sembra una soluzione carina anche se la tua domanda puntava sulle possibilita' dell' outliner. Comunque sia, sempre nell' outliner puoi selezionare CONNECTED dentro il menu' Display, e puoi vedere solamente gli attributi che hanno una connessione, sia essa Keyframe, Expression o qualunque altra cosa. Oppure puoi semplicemente, senza spuntare CONNECTED nell' outliner, nascondere gli attributi che non verranno animati (invece di bloccarli solamente come hai fatto tu), e vedrai solamente gli attributi Keyable. S.
×