Vai al contenuto
benedetto

Maya E La Rappresentazione Degli Oggetti.

Recommended Posts

Ciao a tutti, chiedo scusa per la domanda che sicuramente sarà banale, ma avrei bisogno di capire meglio come funziona la rappresentazione degli oggetti in Maya visto che mi stò piano piano avvicinando al mondo del 3d e vorrei comunque averne una comprensione che vada aldilà del semplice "clikko e mi appare il cubo" :blink2:

Ho letto che maya è basato su un'architettura basata su nodi.

Qualcuno di voi potrebbe spiegarmi meglio il concetto o magari linkarmi qualche guida esplicativa?

Grazie e auguri di buon Natale :rolleyes:

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Non è proprio una domanda banale, perché il 90% degli utenti usa Maya senza sapere queste cose.

Quando crei una primitiva maya crea tre nodi (quattro, uno per il materiale, ma adesso non ci interessa)

Un nodo che rappresenta la primitiva che in base ai parametri posiziona i vertici in coordinate locali, crea i poligoni e gli edge collegando i vari vertici tra di loro.

Le informazioni sulla geometri escono dal primo nodo sono collegate ad un altro nodo che tratta le mesh generiche.

In particolare l'attributo output del nodo della primitva è collegato l'attributo inMesh del nodo mesh.

Il nodo mesh permette di cambiare le posizioni dei vertici generati dalla primitiva e gli memorizzando gli offset nell'attributo pnts.

Le posizioni dei vertici risultanti viene esposta dall'attributo outMesh.

L'ultimo nodo che viene creato è un nodo di tipo transform che mantiene le informazioni sulla matrice di trasformazione della mesh (traslazioni, rotazioni, scalature) e serve per calcolare la posizione dei vertici in coordinate globali.

In questo caso non viene creato nessun collegamento, ma viene creata una relazione padre figlio. Così facendo per fare un istanza della mesh è sufficiente creare un altro nodo transform e metterci come figlio la mesh che si vuole istanziare.

Per le modifiche differenti dagli spostamenti dei vertici (per esempio cancelli un edge o fai un estrusione) Maya crea un nodo apposito che gestisce la trasformazione (che ricevono la mesh su un attributo di ingresso e fanno uscire la mesh modificata da un altro attributo di uscita). Quindi quando applichi molti modificatori hai una lunga catena di nodi. Per evitare di ricalcolarsi tutti i nodi ad ogni modifica Maya mantiene una cache (chachedInMesh) con le informazioni attuali della geometria che verranno modificate soltanto se gli arriva un segnale che l'attributo in ingresso è cambiato.

Inoltre si può cancellare la catena di nodi (che occupa memoria e a volte non ci permette di modificare la geometria come si pare) si deve cancellare la storia della geometria. Quando si cancella la storia del nodo tutte le informazioni vengono salvate nella cache e i nodi in ingresso vengono cancellati.

Questa roba è spiegata nella guida in:

Developer resource -> Polygon api -> How polygons are handled internally

inoltre puoi vedere i nodi e gli attributi dall'Hypergraph che trovi nel menù Window->HyperGraph:Connection

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
Non è proprio una domanda banale, perché il 90% degli utenti usa Maya senza sapere queste cose.

Quando crei una primitiva maya crea tre nodi (quattro, uno per il materiale, ma adesso non ci interessa)

Un nodo che rappresenta la primitiva che in base ai parametri posiziona i vertici in coordinate locali, crea i poligoni e gli edge collegando i vari vertici tra di loro.

Le informazioni sulla geometri escono dal primo nodo sono collegate ad un altro nodo che tratta le mesh generiche.

In particolare l'attributo output del nodo della primitva è collegato l'attributo inMesh del nodo mesh.

Il nodo mesh permette di cambiare le posizioni dei vertici generati dalla primitiva e gli memorizzando gli offset nell'attributo pnts.

Le posizioni dei vertici risultanti viene esposta dall'attributo outMesh.

L'ultimo nodo che viene creato è un nodo di tipo transform che mantiene le informazioni sulla matrice di trasformazione della mesh (traslazioni, rotazioni, scalature) e serve per calcolare la posizione dei vertici in coordinate globali.

In questo caso non viene creato nessun collegamento, ma viene creata una relazione padre figlio. Così facendo per fare un istanza della mesh è sufficiente creare un altro nodo transform e metterci come figlio la mesh che si vuole istanziare.

Per le modifiche differenti dagli spostamenti dei vertici (per esempio cancelli un edge o fai un estrusione) Maya crea un nodo apposito che gestisce la trasformazione (che ricevono la mesh su un attributo di ingresso e fanno uscire la mesh modificata da un altro attributo di uscita). Quindi quando applichi molti modificatori hai una lunga catena di nodi. Per evitare di ricalcolarsi tutti i nodi ad ogni modifica Maya mantiene una cache (chachedInMesh) con le informazioni attuali della geometria che verranno modificate soltanto se gli arriva un segnale che l'attributo in ingresso è cambiato.

Inoltre si può cancellare la catena di nodi (che occupa memoria e a volte non ci permette di modificare la geometria come si pare) si deve cancellare la storia della geometria. Quando si cancella la storia del nodo tutte le informazioni vengono salvate nella cache e i nodi in ingresso vengono cancellati.

Questa roba è spiegata nella guida in:

Developer resource -> Polygon api -> How polygons are handled internally

inoltre puoi vedere i nodi e gli attributi dall'Hypergraph che trovi nel menù Window->HyperGraph:Connection

ti ringrazio :)

Adesso leggo con maggior attenzione la guida.

Vedo che fai il programmatore! :)

Io sono al terzo anno di informatica.

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora

  • Navigazione recente   0 utenti

    Non ci sono utenti registrati da visualizzare in questa pagina.

×