Autor Wątek: Skrypt do Pass ID  (Przeczytany 15329 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Offline mortom.ckm

Skrypt do Pass ID
« dnia: 30.06.2019 17:29:08 »
Witam
Chciałem sobie ułatwić życie i stworzyć prosty skrypt do automatycznego przydzielania Material ID

Gdzieś w necie znalazłem prosty skrypt:
Kod: [Zaznacz] [nofollow]
x=0
for mat in bpy.data.materials:
mat.pass_index = x
x = x+1

Chciałbym trochę go zmodyfikować:
gdy x osiągnie wartość 32 zeruję się i odnowa przydziela ID od 0  i tak w koło macieju dopóki nie skończą się materiały.
Programować nie potrafię i wiem, że to banalna funkcja ale nie wiem jak się za to zabrać.

Pozdr.


Po jakimś czasie wpadłem na taki kod:
Kod: [Zaznacz] [nofollow]
import random
x = 0
for mat in bpy.data.materials:
    mat.pass_index = x
    x = random.choice(range(32))

ale nadal wolałbym aby przydzielanie odbywało się co 1 a nie randomowo
« Ostatnia zmiana: 30.06.2019 17:50:49 wysłana przez mortom.ckm »
Każda porażka jest nawozem sukcesu :)
-------------------------------------------------------------------------------
www.3dworks.pl [nofollow]
 

Offline winhelp

Odp: Skrypt do Pass ID
« Odpowiedź #1 dnia: 30.06.2019 19:32:37 »
A gdyby x było resztą z dzielenia przez 32?

Offline mortom.ckm

Odp: Skrypt do Pass ID
« Odpowiedź #2 dnia: 30.06.2019 20:06:54 »
Cytuj
A gdyby x było resztą z dzielenia przez 32?
a jak to zapisać?
Każda porażka jest nawozem sukcesu :)
-------------------------------------------------------------------------------
www.3dworks.pl [nofollow]
 

Offline winhelp

Odp: Skrypt do Pass ID
« Odpowiedź #3 dnia: 30.06.2019 23:00:39 »
Podobno procentem czyli:
x=(x+1)%32Ha! I nawet działa.
>>> x=32
>>> print (x)
32

>>> x=(x+1)%32
>>> print (x)
1

>>> x=64
>>> x=(x+1)%32
>>> print (x)
1

Offline mortom.ckm

Odp: Skrypt do Pass ID
« Odpowiedź #4 dnia: 01.07.2019 16:28:51 »
OKi dzięki!!!!!!!!!!!!!!!!!!!

a jak by ktoś takiego potrzebował to kod skryptu ma się tak (i działa):

Kod: [Zaznacz] [nofollow]
x = 0
for mat in bpy.data.materials: 
    mat.pass_index = x % 32
    x = x + 1
Każda porażka jest nawozem sukcesu :)
-------------------------------------------------------------------------------
www.3dworks.pl [nofollow]
 

 

Emission Pass i szkło

Zaczęty przez MortusDział Montaż i postprodukcja

Odpowiedzi: 6
Wyświetleń: 23569
Ostatnia wiadomość 26.10.2018 10:07:21
wysłana przez Mortus

* Wszystko dobre...

...co się dobrze kończy.
1998-2024
Dziękuję wszystkim, którzy pomagali tworzyć i rozwijać Blenderownię w tym czasie. Dziękuję użytkownikom za chęć korzystania z serwisu. Nawiększą satysfakcję mam z tego, że kilka karier zawodowych zaczęło się na tym forum. Oraz z tego, że Blender jest oprogramowaniem mainstreamowym.

Wasz były administrator
Mad Max

* Zaloguj




* Losowy obrazek