Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
tigrotta

ROTAZIONE con MAXScript

Recommended Posts

Ciao a tutti, avrei bisogno di capire come far ruotare un gruppo di oggetti con MaxScript. Dop aver selezionato il gruppo, ho provato con il seguente comando: rotate $(angleaxis 45 [0,0,1]), per ruotare ad esempio di 45, ma invece di ruotare tutto il gruppo, vengono ruotati i singoli oggetti. Questo mi sembra strano perchè nel Listener, quando faccio la stessa operazione manualmente, compare il comando che uso. Qualche suggerimento?

grazie

Share this post


Link to post
Share on other sites

Quando scrivi '$' ti riferisci alla selezione corrente.

Se l'oggetto selezionato è uno allora $ contiene direttamente l'oggetto, se invece ci sono più oggetti selezionati allora $ corrisponde ad un array contenente gli oggetti selezionati.

In max quando selezioni a mano un gruppo chiuso dall'interfaccia vedi che hai un solo oggetto selezionato, ma in realtà sono più di uno.

Quindi se hai selezionato un gruppo(ad esempio 'Group01') che contiene due box('Box01' e 'Box02') se scrivi '$' otterrai un vettore come questo:

#('Group01','Box01','Box02')

quindi scrivendo:

rotate $(angleaxis 45 [0,0,1])

ottieni che ognuno di questi tre oggetti viene ruotato di 45.

Ed essendo le due box 'figlie' dell'helper che rappresenta il gruppo quando lo ruoti anche le box lo seguono, solo che poi vengono a loro volta ruotate su se stesse.

Le soluzioni sono varie:

1- mantenendo il mio esempio scrivi:

rotate $Group01 (angleaxis 45 [0,0,1])
2- non usare $ usare direttamente 'selection', in questo modo avrai sempre un array di oggetti, poi su ogni oggetto della selezioni esegui un controllo e se l'oggetto è all'interno di un gruppo non gli applichi alcuna rotazione:
sel=selection as array

for obj in sel where not(isGroupMember obj) do

(

	rotate obj (angleaxis 45 [0,0,1])

)

se hai domande son qua

ciao

Share this post


Link to post
Share on other sites

MITICO!

Sei stato chiarissimo. Ho risolto con rotate $Group01 (angleaxis 45 [0,0,1].

Grazie mille

quindi funziona.... volevo sapere se andava bene come ti avevo risposto sull'altra richiesta che avevi fatto ieri nell'altra discussione

Share this post


Link to post
Share on other sites

quindi funziona.... volevo sapere se andava bene come ti avevo risposto sull'altra richiesta che avevi fatto ieri nell'altra discussione

Avevo dato conferma alla tua soluzione nella prima discussione....

P.S: Tigrotta non aprire più discussioni per un'unica domanda ;)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...
Aspetta! x