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

Nominare E Collassare Oggetti

Recommended Posts

sto imparando maxscript da poco e ho alcune questioni che non riesco a risolvere da solo.

ho una serie di box creati da un loop (un numero variabile regolato da uno spinner) e vorrei collassarli in un unica mesh da usare poi come operatore booleano.

come posso fare? se gli assegno un nome avranno tutti lo stesso e quindi poi non capisco come fare a dargli il comando "attach", quindi pensavo che magari c'è un modo per dargli un nome unico ma numerato.oppure anche avendo tutti lo stesso nome è possibile collassarli tutti in un unico oggetto?

non so se sono riuscito a spiegarmi ma se avete qualche suggerimento.....

Share this post


Link to post
Share on other sites
uniqueName ;)

grazieeee, ora per farli diventare un oggetto unico? ho visto il comando attach ma vuole due nomi precisi di due oggetti, e siccome i miei oggetti non sono in numero fisso come faccio?

)

Share this post


Link to post
Share on other sites

Purtroppo qua al lavoro non ho max e la guida sotto mano, in ogni caso puoi storare i tuoi oggetti in un array e fare degli attach progressivi sugli elementi :)


Edited by kage_maru

"la spada è l'estensione dell'anima"

Share this post


Link to post
Share on other sites

il comando attach ha due parametri ma non sono nomi, ma nodi della scena(in pratica degli oggetti), dalla guida:

meshop.attach <mesh> <node>

quindi il primo parametro deve essere per forza un nodo di tipo mesh, mentre il secondo un qualsiasi oggetto della scena.

scrivendo $unNomeQualsiasi maxscript considera quello che hai scritto come l'oggetto "unNomeQualsiasi" e quindi non il suo nome.

richiamando gli oggetti usando il $ devi sempre usare un nome fisso, quindi:

a="unNomeQualsiasi"

$a
questo codice ti creerà una stringa di nome 'a' e proverà a richiamare l'oggetto con nome "a" le possibilità sono: - chiami le tue box con un nome che in nessun altro caso può esistere e gli dai un numero incrementale tramite lo uniquename e poi (se ad esempio il nome base fosse"boxChePoiAttacco") usi questo codice:
oggettoCollassato=$boxChePoiAttacco01

oggettoCollassato.name=uniquename"boxCollassate"

convertToMesh oggettoCollassato

sel=$boxChePoiAttacco* as array


for obj in sel do

(	

	attach oggettoCollassato obj

)

il pratica quello che questo codice fa è prendere la box con numerazione 01, gli dà un nome definitivo e la converte in una mesh.

Poi si salva in un vettore tutte le altre box e le attacca tutte alla prima.

se hai domande chiedi pure

ciao!

Share this post


Link to post
Share on other sites

grazie, proverò anche come hai scritto tu intanto io me la sono cavata così, magari ci sono passaggi inutili,il tuo codice mi sembra più "snello" però sono proprio alle prime armi


for iS in 1 to giriS.value+1 do --creazione box per boolean
(
newpos = 14.5-(iS-1)*(Sp.height/giriS.value)
buco = box length:0.57 width:0.35 height:10 pos:[raggioS.value,newpos,-5] prefix: "buco"
)


buchi = $buco* as array
ConvertToMesh buchi


for B in 1 to giriS.value do --creazione oggetto unico per boolean
(
meshop.attach buchi[1] buchi[2]
deleteitem buchi 2
)

[/codebox]


Edited by f3de

Share this post


Link to post
Share on other sites

Il tuo codice va bene, si potrebbero fare alcune ottimizzazioni ma se non lo devi usare per centinaia di box alla volta non credo dia dei problemi.

non l'ho detto prima, ma benvenuto nel mondo di maxscript!

comunque se hai bisogno di ottimizzare lo script ti consiglio di leggerti il topic nella reference che si chiama"how to make it faster" è veramente utile e si ottengono delle ottimizzazioni veramente notevoli seguendo quei consigli.

C'è inoltre una guida su scriptspot

e se non li hai già seguiti i video tutorial qui su treddi.

buon scripting

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