Jump to content
bn-top

Creazione Bounding Box (mesh) Automatica


twelvegames
 Share

Recommended Posts

Salve,

Ho necessita di Iterare un gruppo di oggetti in modo automatico, e creare dei boundingbox (in mesh) intorno. Ci serve per creare delle superfici di collisione nell'engine, in modo automatico.

Lo script "perfetto" dovrebbe:

1) Iterare il gruppo indicato

2) Creare la mesh/bounding box intorno

3) Assegnarlgi un dato materiale.

Qualcuno conosce come realizzare questa procedura?

Grazie in anticipo,

Link to comment
Share on other sites

bn-top

2) Se l'engine che utilizzi è uno dei tanti , allora dovrebbe esserci già il comando che ti permette di creare il box di collisione sull'oggetto in automatico , se non lo fa da se basta che ti crei l'oggetto box da te con dimensioni x,y,z maggiori delle dimensioni totali dell'oggetto in x in y e in z e posizionarlo in modo che il box contenga l'oggetto associatogli.

Per i punti 1 e 3 posta almeno un esempio del tuo codice o almeno ,di quae linguaggio utilizzi , altrimenti non è facile aiutarti.

Ciao

Edited by DARKTy
Link to comment
Share on other sites

2) Se l'engine che utilizzi è uno dei tanti , allora dovrebbe esserci già il comando che ti permette di creare il box di collisione sull'oggetto in automatico , se non lo fa da se basta che ti crei l'oggetto box da te con dimensioni x,y,z maggiori delle dimensioni totali dell'oggetto in x in y e in z e posizionarlo in modo che il box contenga l'oggetto associatogli.

Per i punti 1 e 3 posta almeno un esempio del tuo codice o almeno ,di quae linguaggio utilizzi , altrimenti non è facile aiutarti.

Ciao

Ciao,

Scusa se non ho specificato, ma parlavo di Max script! Vorrei creare delle macro per facilitare il level building.

Siccome tutti e 5 i grafici, si smanazzano a creare tutte le superfici di collisione, non sarebbe male automatizzare il processo , anche se solo in parte.

Link to comment
Share on other sites

questo script crea i bounding box attorno ai gruppi selezionati

if classof selection == objectset then (

	for i = 1 to selection.count do (

		if classof selection[i] == dummy then (

			box width:selection[i].boxsize[1] length:selection[i].boxsize[2] height:selection[i].boxsize[3] pos:(selection[i].pos-[0,0,(selection[i].boxsize[3]/2)])

		)

	)

)
basta selezionare i gruppi e lanciarlo [update] questo è scritto un po' meglio e assegna, come nome del bounding box creato, bounding_nomegruppo
if classof selection == objectset then (

	for i = 1 to selection.count do (

		if classof selection[i] == dummy then (

			larghezza = selection[i].boxsize[1]

			lunghezza = selection[i].boxsize[2]

			altezza = selection[i].boxsize[3]

			posizione = selection[i].pos-[0,0,(selection[i].boxsize[3]/2)]

			nome = "bounding_" + selection[i].name

			box width:larghezza length:lunghezza height:altezza pos:posizione name:nome

		)

	)

)

: :  Youtube : : 

Link to comment
Share on other sites

seleziona gli oggetti singoli e lancia

for obj in selection do (

	larghezza = obj.max.x-obj.min.x

	lunghezza = obj.max.y-obj.min.y

	altezza = obj.max.z-obj.min.z

	posizione = obj.pos-[0,0,(altezza/2)]

	nome = "bounding_" + obj.name

	box width:larghezza length:lunghezza height:altezza pos:posizione name:nome

)

PS

il pivot degli oggetti deve essere centrato sulla geometria altrimenti il bounding non si allinea in altezza

PPS

non so se lo sai ma se copi lo script in una nuova finestra di script, selezioni il testo appena incollato e lo trascini sulla barra dei pulsanti (esistente o appositamente creata) ti compare un pulsante che, se schiacciato, lancia lo script

Edited by philix

: :  Youtube : : 

Link to comment
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.

 Share

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...