Vai al contenuto
coren

Node:<node=unsupplied> ?

Recommended Posts

polyOp.getFaceCenter <Poly poly> <int face> node:<node=unsupplied>

Returns the center of the face by taking the average of all its vertices. If <poly> is a node, or if <poly> is an Editable Poly and <node> is specified, the position returned is in the current coordinate system context. If <poly> is an Editable Poly and <node> is not specified, the return value is in the poly's local coordinate system.

Questo è un metodo di esempio preso dalla reference guide del maxscript, ho capito quello che fa, il risultato che dà dipende dal fatto che <node> sia specificato o meno, ma io non riesco a capire cosa sia....

Io avrei bisogno di specificarlo in quanto il risultato che mi interessa è nel sistema di coordinate specificato dall'utente, solo che non riesco a capire cosa sia, qualcuno lo ha capito?

Se potete spiegarmi a cosa si riferisce vi sarei veramente debitore...

Grazie mille in anticipo!!!!

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

node può essere il nome di qualsiasi entità, se non lo specifichi la posizione restituita farà riferimento alle coordinate dell'oggetto stesso

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

io ho bisogno delle coordinate del centro della faccia che mi siano però restituite nelle coordinate impostate a livello globale(world)

In quanto devo lavorare su poly che sono ruotate, ho la necessità che le coordinate non siano in locale.

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

in una prova che ho fatto le coordinate che mi restituisce sono riferite rispetto al world

ho creato un box ($box01), convertito in editable poly, lanciato il semplice script:

dummy pos:(polyOp.getFaceCenter $box01 3)

e mi ha creato il dummy, la cui posizione è riferita alle coordinate globali, sul centro della faccia

comunque, quando le coordinate ti vengono restituite rispetto al local dell'oggetto ti basta moltiplicare le coordinate per la matrice di trasformazione dell'oggetto stesso quindi:

coordinateinlocal = polyOp.getFaceCenter $box01 3

coordinateinglobal = coordinateinlocal*$box01.transform

PS

puoi anche utilizzare il cambio di coordinate in coordsys

ad esempio

dummy pos:(in coordsys $box02 polyOp.getFaceCenter $box01 3)

crea un dummy prendendo le coordinate del centro della faccia numero 3 del box01 e le converte nel sistema di coordinate locali del box02

se scrivi

dummy pos:(in coordsys world polyOp.getFaceCenter $box01 3)

il sistema di coordinate sarà preso rispetto al world

PPS

spero di non essere stato troppo incasinante ;)

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Curiosa 'sta cosa... Vabbè che di cose curiose nel maxScript ce ne sono pure troppe :wacko:

Sinceramente non capisco questa discrepanza con la documentazione perchè in realtà getFaceCenter, getFaceNormal ecc senza node specificato restituiscono sempre il valore di ritorno in coordinate mondiali mentre specificando un nodo sembrano (previa resetTrasformazione...) restituire il valore locale trasformato per il sistema di riferimento del nodo specificato... auguri!

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.

×