Vai al contenuto
Federico27

Extrude variation

Recommended Posts

Buonasera scrivo qui, sperando sia la sezione adatta, per un dubbio che mi è sorto guardando qualche video di CInema4D.

Premetto che il software lo conosco appena, io utilizzo prevalentemente 3dsMax, ma ho notato che per alcuni aspetti Cinema sembra essere parecchio più versatile. 

Tralasciando tutte le cose che invidio che 3dsMax non fa o fa in maniera molto meno intuitiva, quello che ho notato guardando i video è nel corrispettivo in Cinema del semplice Extrude su facce poligonali di 3dsMax: ho visto che l'estrusione di Cinema possiede un parametro aggiuntivo Variation che da quel che ho capito non fa altro che aggiungere una variazione casuale al valore dell'estrusione, in maniera da riuscire ad estrudere diverse facce allo stesso tempo ma di valori tutti diversi tra loro.

Cercando su google un modo per ottenere risultati simili ho trovato solo una marea di script, il migliore dei quali riusciva in effetti ad estrudere casualmente come in Cinema ma con la sola possibilità di applicare l'effetto a tutte le facce del modello insieme, senza poter selezionare solo le facce che servono a me.

Ora, io mi occupo principalmente di render di interni e quest'operazione di estrusione casuale di sicuro non mi è indispensabile, ma dopo tante ricerche ormai sono veramente curioso di capire se si possa ottenere un effetto simile e se veramente sia necessario che qualcuno programmi uno script per qualcosa che in Cinema si fa con un semplice parametro.

A questo punto, ma non ci metterei la mano sul fuoco non essendo esperto in materia, mi verrebbe da dire che qualcuno che si occupa di animazione in 3dsMax potrebbe essere più adatto a risolvere il dubbio, ho cercato anche qualche tutorial in merito ma ogni volta che infilo in google l'associazione random+3dsMax mi rimanda a tutti quegli script...

Qualcuno accora in mio aiuto perchè sennò non ne esco più :lol:: c'è un modo, selezionando ed estrudendo più facce di uno stesso modello, di applicare una variazione casuale a tale estrusione?

 

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Certamente c'è il modo ed è uno script :)

 

3ds Max è personalizzabilissimo mediante script, fatti da altri o scritti ad hoc non devi far altro che scegliere se attingere a quello che ti mettono a diposizione gli altri sull'internet o cercare di imparare lo scripting e crearteli da solo.

Basta una base veramente esigua di scripting per aumentare la velocità di esecuzione di tante procedure in 3ds max.

Io in passato me ne scono scritti alcuni di cui non riuscirei mai a farne a meno.

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Grazie per la risposta anche se speravo in qualcos'altro...:lol:

Probabilmente il fatto che google mi rimandasse unicamente a degli script parlava da se :rolleyes:

In realtà ho già una base piuttosto solida di programmazione, ma in 3dsMax non ho mai scritto una riga di codice.

Ho visto diversi script in c++, ma mi pare di capire che MaxScript stia anche per il linguaggio nativo proprio del programma.

Ad oggi in quale dei due linguaggi converrebbe scrivere uno script?C'è qualche risorsa particolare in rete per imparare?

Per ora ho trovato la sezione 'Learning MAXScript' sul sito di Autodesk che mi sembra sia abbastanza precisa almeno per quel che riguarda le nozione di base, appena ho un po' di tempo vedo di approfondire!

 

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Max script e Python attualmente vengono usati in 3dsMax. Io ti consiglio di vedere Python dato che è un linguaggio più comune. MaxScript è semplice/duro da seguire.

 

Comunque sotto uno script la quale puoi selezionare e randomizzare l'estrusione di poligoni (EditPoly) scritto dall'utente le1setreter  in ScriptSpot...

 

rollout faceExtr "Face Extrude" width:230 (
 
	local extrMin = 0.0
	local extrMax = 100.0
 
 
	fn doExtrusions = (
 
		sfBit = #{}
		sf = for i in $.selectedFaces collect i.index
 
		undo on (
 
			for m in sf do (
 
				polyop.setFaceSelection $ #{m}
				$.extrudeFaces (random extrMin extrMax)
 
				append sfBit m
 
			) -- end for
 
			$.SetSelection #Face sfBit
		) --end undo
 
	) -- end fn
 
 
	spinner minExtr "minimal extrusion:"  align:#right width:150 range:[-2000,2000,0] type:#float
	spinner maxExtr "maximal extrusion:"  align:#right width:150 range:[-2000,2000,0] type:#float
 
	button extr "Random Extrude Faceselection" tooltip:"Do Extrusion!" width:160
	button extrUndo "Undo last step" tooltip:"Undo" width:160
 
 
 
	on minExtr changed val do(
			extrMin = val
	)
 
	on maxExtr changed val do(
			extrMax = val
	)
 
 
	on extr pressed do (
		doExtrusions()
	)
 
	on extrUndo pressed do (
		max undo
	)
 
 
)	
 
createDialog faceExtr

 

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Grazie mille! 

Mi sono dato un occhiata ai fondamentali di MaxScript e allo script che hai condiviso, mi sono fatto il mio ma senza interfaccia grafica e gli "undo" di cui non ho approfondito il significato, ma con in più il fatto di mantenere selezionate tutte le facce dopo l'estrusione per poter essere usato più volte :lol:

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.

×