Vai al contenuto
jumbott

aiuto script

Recommended Posts

ciao a tutti

scrivo questo post nella speranza che qualcuno mi dia una dritta , credo abbastanza veloce

cerco uno script per poter modificare il valore reflection in tutti i sottomateriali di un multimateriale

mi interesserebbe poter portarli tutti a zero , ma anche uncheccare il valore reflection andrebbe bene

mi capita spesso di importare oggetti con multimateriale , ma avendo questo valore attivo ed a 100 in tutti e 30 o 40 i sottomateriali converrete che azzerarli uno alla volta è un lavoro lungo e tedioso

avevo trovato uno script per azzerare la specularità , ho tentato di adattarlo al mio fabbisogno , ma non ha funzionato

ho cercato qua e la in rete , ma "3ds max multimaterial script all submaterial maps reflections to zero"

è un tipo di ricerca che non mi ha portato a niente

vi ringrazio per il vostro tempo

jumbott

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
Inviata (modificato)

sono abbastanza arrugginito con lo scripting quindi probabilmente non funziona bene


for obj in geometry do (

	if isProperty $.material #count then (

		for i = 1 to obj.material.count do (

				if isProperty obj.material[i] #reflection then obj.material[i].reflection = color 0 0 0

			)

		) else if isProperty obj.material #reflection then obj.material.reflection = color 0 0 0

)

Dovrebbe azzerare tutte le proprietà reflection nei materiali assegnati alle geometrie in scena. Se si dovesse bloccare su tutta la scena puoi sempre usare questo

for obj in selection do (

	if isProperty $.material #count then (

		for i = 1 to obj.material.count do (

				if isProperty obj.material[i] #reflection then obj.material[i].reflection = color 0 0 0

			)

		) else if isProperty obj.material #reflection then obj.material.reflection = color 0 0 0

)

Che funziona sui materiali delle geometrie selezionate

PS

lo script non toglie le mappe dagli slot, azzera solo l'RGB dello slot reflection


Modificato da philix

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

sono abbastanza arrugginito con lo scripting quindi probabilmente non funziona bene


for obj in geometry do (

	if isProperty $.material #count then (

		for i = 1 to obj.material.count do (

				if isProperty obj.material[i] #reflection then obj.material[i].reflection = color 0 0 0

			)

		) else if isProperty obj.material #reflection then obj.material.reflection = color 0 0 0

)

Dovrebbe azzerare tutte le proprietà reflection nei materiali assegnati alle geometrie in scena. Se si dovesse bloccare su tutta la scena puoi sempre usare questo

for obj in selection do (

	if isProperty $.material #count then (

		for i = 1 to obj.material.count do (

				if isProperty obj.material[i] #reflection then obj.material[i].reflection = color 0 0 0

			)

		) else if isProperty obj.material #reflection then obj.material.reflection = color 0 0 0

)

Che funziona sui materiali delle geometrie selezionate

PS

lo script non toglie le mappe dagli slot, azzera solo l'RGB dello slot reflection

grazie per l'attenzione anzitutto

ma il primo mi da un errore ed il secondo non cambia una virgola

se tu apri il material editor e prendi un multimateriale appare una lista di sottomateriali , premendo il pulsante submaterial posso accedere al materiale nello specifico , nel menu c'è la voce maps e sotto c'è una fila di parametri con box di spunta , nome parametro e valore parametro , quello di cui ho bisogno è uno script che porti il valore reflection da 100 a 0 o che mi tolga la spunta dal box (sempre del valore reflection)

meglio sarebbe togliere la spunta in modo che qualunque cosa sia in reflection (dal valore alla map) non venga piu' considerata

ma nell'eventualità che questo non fosse possibile mi va bene anche azzerare il valore sopra descritto , in modo che anche se l'effetto c'è , comunque non si vede

possibilmente lo script deve funzionare ad oggetto selezionato , in modo che abbia effetto solo sull'oggetto in questione e non vada ad incidere su altri oggetti che possono avere detto parametro/valore attivo ed in misura superiore a 0

ancora una volta ringrazio per l'attenzione , e devo dire anche per la celerità

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

come dicevo , avevo trovato uno script per azzerare gli speculars te lo porto da esempio

m = $.material

for i=1 to m.count by 1 do m.specularLevel=0

for i=1 to m.count by 1 do m.glossiness=0

nella mia ignoranza ho provato a cambiare SpecularLevel con Reflection , purtroppo mi da errore : unknown property material in undefined

se eliminiamo la seconda riga , è possibile aggiustare la prima in modo da ottenere l'effetto che desidero ?

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.

×