Skocz do zawartości

mScript. Zbieram pomysły na skrypty do ZBrusha!


Monio

Rekomendowane odpowiedzi

Hejo. Kilka miesięcy temu wciągnąłem się w pisanie skryptów do zetki w ZScripcie. Jak na razie zakodowałem sobie trochę przydatnych narzędzi przyśpieszających pracę z dynameshem oraz zrobiłem swoje mini-guziki do standardowych opcji zetki bo niektóre (dynamesh!!) są za duże żeby je wstawić do custom UI. Od czerwca spasowałem z ZScriptem na rzecz pythona i blender api ale mam plan do końca września zrobić pełny refractoring starego kodu i spłodzić mój własny plugin do zetki. :) Od razu zastrzegam że nie wiem jak u mnie z czasem więc mogę nie odpowiadać od razu i trudno mi podać terminy kończenia ficzerów.

 

Jeśli macie jakiś powtarzalny workflow którego nie da się zrobić zwykłym nagrywaniem macro albo w ogóle nie potraficie nagrywać macro to wpisujcie swoje pomysły. To co mogę zaskryptować operacje wykonywane guzikami które są w menusach. Nie pytajcie mnie z matematycznymi operacjami na vertexach bo takich cudów w samym zscripcie nie ma. Jeśli nie orientujecie się czy coś jest dla mnie możliwe czy nie to po prostu napiszcie o co chodzi i odpowiem czy jestem w stanie to zaprogramować.

 

Za przykład tego co mogę wykonać może posłużyć plugin zrobiony przez Nicka Millera. Niektóre z tych funkcji nawet już zaprogramowałem po swojemu tak dla sportu. ;) Jakby ktoś pytał o tutorial który nagrał dla Eat3D to polecam go tylko osobom które nie miały nigdy do czynienia z zscriptem. Ja kupiłem go już po paru miesiącach pisania skryptów i niestety nie dowiedziałem się wiele nowego. Jak kumasz jak sprawdzić czy obiekt jest zsferami albo umiesz dodać subtoola z kulką więcej niż 2 razy to wydaj te 170 zeta jakąś książkę o programowaniu (biorę po wypłacie).

 

############################

 

Tutaj będę wpisywał rzeczy które już zrobiłem, chce zrobić lub są w trakcie kodowania. Na dzień dzisiejszy lista jest niekompletna bo popełniłem grzech braku dokumentacji. Będę sukcesywnie edytował ten post w miarę przeglądania mojego kodu. Procenty wywróżyłem z fusów.

 

DONE:

Dynamesh Sphere - Tworzy zdynameshowaną kulkę i odpala mirrora. Idealne na szybki start roboty. :)

Dynamesh Cube - Jak wyżej tylko tworzy sześcian.

Add dynamesh Sphere - Dodaje jako subtool zdynameshowaną kulkę. Jeśli żaden tool nie jest edytowany to tworzy nową kulkę.

Add dynamesh Cube - Jak wyżej tylko cube.

Start resolution - Suwaczek którym ustawiamy jaką rozdzielczość początkową mają mieć obiekty stworzone 4 poprzednimi funkcjami.

Keep resolution - Obiekty dodane opcjami "Add..." będą miały rozdzielczość początkową taką jak obecny aktywny subtool.

 

WIP:

Bruteforce dynamesh - 80% - Dynameshuje obiekt niezależnie czy jest to zwykły mesh, mesh z maską, zsfery czy bryła prymitywna.

 

Adaptive Dynamesh - 80% - Dynameshuje mesh z rozdzielczością dostosowaną do ilości subdivów. Na pewno nie raz waz wkurzało jak weszliście w detal i dynamesh wam go rozwalił wypluwając bryłkę o niskiej rozdzielczości. No more! :D

 

Set Highest Dyna Res - 10% - Znajduje najwyższą rozdzielczość dynamesha wszystkich subtooli i ustawia ją dla wszystkich widocznych subtooli.

 

Merge and dyna - 20% - Łączy wszystkie widoczne subtoole w jeden zdynameshowany obiekt. Opcja będzie w sobie zawierała 3 wcześniejsze funkcje więc jednym klikiem stworzy obiekt o odpowiedniej rozdzielczości z subtooli z podziałami, maskami oraz zsfer i brył prymitywnych.

 

Brush/Material/Alpha Cycling - 60% - Za pomocą jednego guzika na kawiaturze przeskakuje pomiędzy pędzlami, materiałami albo alfami zdefiniowanymi przez użytkownika. Będzie po 8 slotów na każdy typ itemu. Można przypisać wybrane sloty jeśli ktoś chce skakać pomiędzy mniejszą liczbą itemów.

 

mColorify - 50% - Zmienia kolor pomarańczowych guzików na jeden z 8 zdefiniowanych lub taki wybrany przez użytkownika. Będzie poprawnie działał ze standardowymi schematami kolorystycznymi zetki. Skrypt mógłby być już gotowy ale rozważam dodanie losowania "ładnych" kolorów co może być trochę harkorowe mając do dyspozycji tylko składowe RGB.

 

Brush Size By Percent - 80% - Powiększa lub zmniejsza brusha o (wybrany przez urzytkownika) procent w stosunku do aktualnego rozmiaru. Przydane gdy często zmienia się wielkość brusha od małego do dużego bo w standardzie trzeba się naklikać w te nawiasy. :)

 

TODO:

BPR Turntable Render Passes - Podrasowany render turntabli. Będzie wypluwał do podkatalogów renderki z wybranymi przez użytkownika passami. Passy zaznaczane switchami, ilość klatek do ustawienia za pomocą suwaka.

 

Fixed Brush Sizes - Zapamiętuje wielkość pędzla. Kilka slotów między którymi będzie można przeskakiwać.

 

Auto SSS - Ustawia materiał i render z SSSem na podstawie minimalnej ilości suwaków. Może jakieś presety.

 

Folder Batch Render - Renderuje wszystkie pliki ztl z wybranego folderu do obrazków o wybranej rozdzielczości. Możliwość ustawienia paru presetów z setupem światła i widokiem kamery. Jak macie folder z wip-stepami albo z nieposegregowanymi plikami to stworzy podglądowe obrazki z nazwami takimi jak pliki ztl.

 

Jutro wieczorem wytnę niepotrzebny kod i skompiluje plugin z rzeczami co do których działania jestem pewien. Liczę na feedback z waszej strony, nie bójcie się pytać i pisać. :)

Odnośnik do komentarza
Udostępnij na innych stronach

  • Odpowiedzi 11
  • Created
  • Ostatniej odpowiedzi

Top Posters In This Topic

Ja juz raz tobie mowilem, ze takie cos:

 

Importuje paskudnego mesha. Np 200 obiektow przecinajacych sie, ktore chcesz polaczyc razem. Appendujesz je (czy jak to sie nazywa w zetce) w jeden mesh > dynamesh na wysokiej rozdzialce > Decimation Master. I w ten sposob masz jednorodną ładna siatke ktora mozesz uzywac do wszelakich symulacji :)

Odnośnik do komentarza
Udostępnij na innych stronach

Decimation master nie daje jednorodnej łądnej siatki.

 

Fajna inicjatywa Monio. Przydałby się GoZ który nie zmieniałby renderera na mentalray w maksie i nie nadawałby materiały przerzuconym obiektom.

Edytowane przez deshu
Odnośnik do komentarza
Udostępnij na innych stronach

Fajna sprawa. Co by się przydało imo:

- insert mesh - wqrwia mnie, że działa tylko na meszach bez subdivisionlevelsów. Jak byś to jakoś obszedł, że np. tworzy tymczasową kopię toola, bez subdivisionów i po kliknięciu na button 'XXX' dostajemy wszystkie insertmeshe jako odzielnego subtoola, bez tymczasowej kopii, to by było git.

 

- dynamesh polygon count - zamiast ustawiać abstrakcyjny parametr 'dynamesh resolution' który dodatkowo zależy od skali obiektu, wolałbym definiować docelową gęśtość siatki. Tak, że np. ustawiając dynamesh polygon count' na 500k, dostajemy zdynameshowny mesh o gęśtości 0,5 miliona trójkątów.

Jeżli się nie da to mógłbyś proszę chociaż, dać jakiś parametr detalu, który bezie dzielił obiekt niezależnie od jego skali. Tak że np. dając 'Dynamesh detail' na 500 będę miał z góry przewidywalną gęstość siatki na np. głowie - niezależnie czy ta głowa jest mała czy duża. Teraz to czasami ustawienie dynamesha na 2k daję za małą gęstość siaty, a czasami już 0,5k robi bardzo topologię.

 

- jeszcze może opcje kopiowania ustawień 'mask by cavity' na inne subtoole. Taki ficzer jest np. w noise makerze, że można skopiować ustawienia noisemakera_plugin do schowka i wkleić do nowego subtoola. Ale już ustawień maski nie można skopiować i wkleić na drugiego subtooa.

 

- aa i jeszcze listę np. 3 ostatnich zprojectów, abym nie musiał za każdym razem szukać projektu po dysku. To by było pod menu 'File'

 

Dużo wymagam, ale wydaje mi się to przydatne.

Edytowane przez JoseConseco
Odnośnik do komentarza
Udostępnij na innych stronach

Chej, bardzo fajny wątek, też chciałem nauczyć się postaw zscript ale jak zawsze zabrakło czasu.

 

Co mi ostatnio było potrzebne

 

1. Chciałem powiększyć palete Layer i wyciągnąć przycisk nagrywania oddzielnie a najlepiej dać mu shortcut. Nie dało się nawet robiąc custom palete layery nadal gnieżdżą się na małe przestrzeni i trzeba je przesuwać suwakiem. Może Ty to ogarniasz?

 

2. Inną rzeczą którą chciałem się nauczyć to jest przesuwanie i skalowanie wielu obiektów o dokładnie ten sam parametr. Nie udało mi się nagrać macra. Przerzucałem obiekty do Maya i tam łatwo było nagrać skrypt i zrobić z niego button. Jednym przyciskiem powtarzało się zapisaną transformację.

 

Dzięki za taki przydatny wątek

Odnośnik do komentarza
Udostępnij na innych stronach

stary postawie ci duza flache za zrobienie zoomowania pod dowolnym klawiszem .

tak ze jezeli sie przytrzymuje ten klawisz to jest wlaczony tryp zoom

 

edit

 

Jak sie nazywa ten plugin co mi kiedys poleciles co zamienia na navigacje majowa ?

Pamietam ze byl problem z tym ze dzialal tylko z jedna wersja zbrusha. Jak bys cos takiego przepisal na

nowego r6

 

edit 2

jestes w stanie zrobic tak ze w vieprocie krecisz kamera a nie obiektem tj w cywilizowanym sofcie 3d

 

 

edit 3 .

przydala by sie podobna opcja ala : "fit mesh to vew" standartowo pod klaiszem f , tylko ze

do aktualnie znajdujacego sie pedzla (kursora)

albo ostatniego wgniecenia .

W mayi cos podobnego nazywa sie frame selekted

Mam pomysl jaby sie to moglo odbywac .Mozna by to zrobic w formie specjalnego brusza gdzie sobie

ustalasz wielkosc .Przesuwajac go po obiekcie teoretycznie mozesz odczytac vektor dzieki ktoremu mozna by prosopadle przylozyc do tego widok a z wielkosci brusha brac informacje jak daleko ma byc obiekt od kamery .Troche to chaotycznie opisalem jak nie zrozumiesz to moge zrobic pare prostych wizualizacji

 

 

edit 4

Krecenie vieporem wedug jednej osi . Podobnie jak w mayi alt + shift.

Edytowane przez jacenty
Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się



×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności