Skocz do zawartości

PCHELA_Transform_Holder_2.0


pchela1313

Rekomendowane odpowiedzi

Witam

Przedstawiam materiał video pokazujący mój nowy skrypt do zapisywania transformacji dowolnego obiektu (przesunięcie, skala, obrót). Czyli można w nim zapisywać pozy np. dla całej postaci, dodatkowo automatycznie tworzony jest podgląd danej pozy (podobny jak w Bipedzie).

 

Jest to jeden z wielu skryptów stworzonych na potrzeby szkieletu nad którym aktualnie pracuje. Oczywiście cały skrypt jest niezależny od nazw, czyli wszystkie elementy w scenie mogą nazywać się tak samo, a skrypt nadal będzie działał.

 

Oto Trailer :)

 

www.pchela.pl

 

A tutaj drugi, pokazujący użycie skryptu do zapisania pozy już istniejącego szkieletu.

 

www.pchela.pl

 

Zaznaczam, że jest to ciągle wersja Beta i wiele elementów może ulec jeszcze zmianie.

 

Po skończeniu szkieletu jak i tego skryptu umieszczę go do ściągnięcia.

 

Czekam na opinie oraz jeżeli ktoś ma ochotę, to na propozycje nowych funkcji.

 

EDIT:

Lista rzeczy, które jeszcze znajdą się w skrypcie:

- Key All (Dodane)

- Reset All (Dodane)

- Zapisywanie do pliku wszystkich póz łącznie z podglądami (Dodane - pozy łącznie z podglądami zapisują się do jednego pliku, zapisane nazwy są niezależne od nazw, czyli po ich zapisaniu dalej można zmieniać nazwy dla wszystkich elementów s scenie)

- Zapisywanie do pliku wybranej pozy łączenie z jej podglądem

- Wczytywanie póz/pozy z zapisanego pliku (Dodane)

- Po wprowadzeniu pozy, której nazwa już istnieje pokaże się komunikat "Dany element już istnieje. Zastąpić go nowym? Tak/Nie" (Dodane)

- Nazwy zapisanych podglądów (nazwy zdjęć) będą dodawane na zasadzie "Nazwa Pivota"+"wpisana nazwa" (Dodane- nazwy zdjęć zmieniają się dynamicznie, zmiana nazwy pivota automatycznie zmienia nazwy plików z podglądem)

- Sortowanie póz (Dodane)

Edytowane przez pchela1313
  • Like 2
Odnośnik do komentarza
Udostępnij na innych stronach

  • Odpowiedzi 22
  • Created
  • Ostatniej odpowiedzi

Top Posters In This Topic

Witaj ;)

 

Miałem zaszczyć jako jeden z pierwszych przetestować ten oto skrypt napisany w całości przez Pcheła. :)

 

Jeśli ktoś tworzy riggi z maxowskich kości, czy też inne rzeczy gdzie potrzebuje gdzieś 'przechować' dany uklad sceny lub wybranych obiektów to ten plug mu to całkowicie ułatwi. Dodatkowo tak jak wspominasz podgląd uprzyjemnie prace z tymże modyfikatorem. Nie zapominając o tym, że radzi on sobie ze zmianami nazw po uprzednim dodaniu objektów do modyfikatora. Czyni go to bardzo wygodnym, bezproblemowym oraz jest prosty w obsłudze. Dodatkowo dałeś małą prezentacje w formie video + komentarz co pomoże każdemu nawet najbardziej początkującemu xD

 

Uważam, że jest to przydatna sprawa. :) Jeszcze to beta, dużo może sie zmienic to zależy już od twórcy :D

 

 

Pozdro!

Odnośnik do komentarza
Udostępnij na innych stronach

Bix- bardzo dziękuję za ciepłe słowa:) i to jeszcze od beta testera:P

 

sly- Tak pozy będzie można zapisywać do pliku. Będzie to plik tekstowy. Ta funkcja jeszcze nie jest dodana:P Informacje o pozach są przechowywane w scenie, a podglądy póz w katalogu projektu\sceneassets\image. Oczywiście po kasowaniu póz w skrypcie te podglądy też się usuwają.

Odnośnik do komentarza
Udostępnij na innych stronach

Witam. Rewelacja, taki penHolder z podgladem ;) Jedynie co mi przeszkadza i innym animatorom napewno tez by to bardzo przeszkadzalo, ze obiekty nie sa przechowywane w lokalnych transformacjach.. a jedynie w w lokalnej transformacji globala. Jest to na tyle nie wygodne, ze dla przykladu mamy zapisane pozy .. jakies.. przy animacji czesto global zostaje w jednym miejscu.. a biepd gdzies tam sobie leta po scenie.. wczytujac taka poze.. postac wroci nam do globala.. zamiast zostac w miejscu i przesunac konczyny wzgledem lokalnych swoich transformacji. Bardzo fajnie byloby.. gdybys mogl zrobic w tym SUBcharacter pose. Czyli przechowywanie pozy dla np. danej dloni bez potrzeby dodawania kolejnego skryptu dla innego globala. Tak czy siak rewelacja: szybkosc konfiguracji, podglad napewno czyni to bardzo uzytecznym narzedziem, tylko pytanie nasowa sie samo przez sie.. czy jak skonczysz to czy udostepnisz ludowi? Pozdrawiam

Odnośnik do komentarza
Udostępnij na innych stronach

SUPER_OKO- hmm, czy dobrze czytałeś i oglądałeś prezentację?:P to co na filmie pokazałem jako ten punkt, czyli baza jak ja to nazwałem to właśnie jest lokalny układ odniesienia, który możesz sobie sam wybrać. W szkielecie, nad którym aktualnie pracuje działa to tak: mam punkt, który ma Position Constrains na biodra postaci. Dzięki temu po zapisaniu pozy i jej wczytaniu to właśnie wszystko jest w układzie lokalnym. Nie wiem jak to dokładnie wyjaśnić, ale uwierz mi, że to działa właśnie tak jak chcesz:) Jak skończę ten skrypt to zrobię kolejną prezentację, w której zobaczysz że tak jest:)

 

A co do drugiego pytania...cytuję sam siebie:P "Po skończeniu szkieletu jak i tego skryptu umieszczę go do ściągnięcia." czyli tłumacząc- każdy kto będzie chciał to sobie go będzie mógł ściągnąć, dokładnie tak samo jak PEN_Attributes_Holder.

 

Pozdrawiam.

 

PS w pierwszym poście zrobię listę rzeczy jakie jeszcze planuje dodać, jak są jakieś inne propozycje to czekam:)

Odnośnik do komentarza
Udostępnij na innych stronach

Spoko na oko moze znowu zle wyjasnilem i nie doczytalem. Lokalny uklad odniesienia wedlug danego obiektu spowoduje .. dajmy na to przesuniemy cala postac po osi X o 100 jednostek w stosunku do lokalnego ukladu naszego glownego kontrloera... tam ustawimy poze jakas i ja zapiszemy.. nastepnie przesuniemy ta postac powiedzmy spowrotem -100 po osi x.. wczytamy poze.. to postax wroci nam na miejsce x = 100 dla kazdej konczyny bo taki jest uklad lokalny tegoz obiektu. Gdyby pozy byly zapisywane wedlug wlasnych lokalnych transformacji taka rzecz by nie miala miejsca gdyz dana poza.. mogla by byc wczytana w dowolnym miejscu bez wzgledu na polozenie globala.. tu lezy sek.. gdyz za kazdym razem jak zapiszemy poze w ktoryms miejscu.. wzgledem tego globala.. to nie wczytamy jej w dowolnym miejscu w scenie bo za kazdym razem charkter wroci do tego miejsa gdzie poza byla zapisana wzgledem lokalnego ukladu tegoz naszego "globala" hyh.. jezeli dalej sie myle to mozesz mnie poprawic jeszcze raz. Z tego co widzialem na prezentacji to tak wlasnie jest.. penHolder wlasnie dziala na zasadzie zapisywania transformacji lokalnych ale dla kazdego obiektu z osobna i wedlug ich lokalnych transformacji a nie wzgledem jakiegos obiektu ;) .. takze to takie moje bibeloty.. to co napisales z constraintem oczywiscie ma racje bytu i napewno dziala tak jak to opisales wyzej ale zawsze jest zawsze jakies ale ;) i zawsze da sie znalezc dziure w calosci ;) dobra mniejsza z tym, fajnie.. ze cos takiego napisales napewno sie przyda nie jednemu

Odnośnik do komentarza
Udostępnij na innych stronach

Pchela SUPER skrypcik - juz czekam na wersje do pobrania :) - bardzo by mi sie przydal juz w tej postaci w jakiej prezentowales na trailerze. A moze muglbym byc beta testerem :) ? kiedy masz zamiar go udostepnic spolecznosci ? :) pozdrawiam.

Odnośnik do komentarza
Udostępnij na innych stronach

W pierwszym poście dodałem link do drugiej prezentacji, w której pokazuje działanie skryptu przy zrobionym już szkielecie.

 

_LoGaN_-skrypt będzie można pobrać jak skończę szkielet, nad którym aktualnie pracuje. Na pewno można go się spodziewać w sierpniu. Wątpię, żebym skończył wszystko jeszcze w lipcu, chociaż kto wie:P Co do beta testera, to miejsce to jest już zajęte:P

Odnośnik do komentarza
Udostępnij na innych stronach

No i jest filmik na szkielecie :D Hehe super ;)

 

Oj no przykro, przykro beta tester już obsadzony przeze mnie :D

Mam ten zaszczyt i go nie oddam :D

 

 

Pozdrawiam ;)

Odnośnik do komentarza
Udostępnij na innych stronach

Witam, pracę nad skryptem trwają w najlepsze :) W pierwszym poście możecie sprawdzić co już zostało zrobione. Jeżeli nie napotkam większych problemów to skrypt zostanie udostępniony w pierwszej połowie sierpnia :D

 

W planach mam jeszcze dodania możliwości co chcemy wczytać w pozie, czyli będziemy mogli wybierać czy chcemy uwzględnić Pozycję, Obrót i Skalę. Ten ostatni element szczególnie przyda się przy kontrolerach dla postaci, gdzie skalowanie może tylko powodować blędy niż pomagać.

 

Pozdrawiam

Odnośnik do komentarza
Udostępnij na innych stronach

Nareszcie udało mi się skończyć ten skrypt:D

Po wielu nerwach i wyrwanych włosach doprowadziłem go do użytecznego stanu.

 

Chciałem aby on był użyteczny jak i też User friendly. Czy mi się to udało to już Wy powiecie:P

Od tego co pokazałem na początku tematu bardzo dużo się zmieniło, co zresztą można było zobaczyć czytając pierwszy post.

 

Oto screen skryptu:

Screen_small.jpg

 

Link do tutoriala:

www.pchela.pl

 

Oraz oczywiście link do samego skryptu:

PCHELA_Transform_Holder

 

Instalacja:

Skopiuj plik do katalogu 3ds max\Scripts\Startup

 

Pozdrawiam.

 

PS. Mimo usilnych prób wyłapania wszystkich błędów to i tak jakieś mogą się pojawić. Piszcie do mnie albo na forum to je poprawie.

Edytowane przez pchela1313
  • Like 1
Odnośnik do komentarza
Udostępnij na innych stronach

Rewelacja z mila checia przetestuje to cudo jak bede mial chwile czasu. Brakuje tylko jednej rzeczy do perfekcyjnosci tego skrypcika.. przynajmniej dla mnie. Sliderka kontrolujacego wage wczytywanej pozy (tak jak w PENah). Bardzo by sie to przydalo w szczegolnosci do kontrlowania danej dloni. Pozdrawiam.

Odnośnik do komentarza
Udostępnij na innych stronach

Witam, dzięki za komentarze:)

SUPER_OkO - wiem doskonale że tego brakuje;( Co najgorsza zrobiłem tą funkcję tylko kłopot jest w tym, że pozy zmieniają się liniowo, czyli jak mamy jakaś pozę w kościach i będziemy przesuwać suwak to blend poses będzie wyglądać tak:

 

Blad_small.jpg

 

Dzieje się tak dlatego ponieważ tutaj brane są pod uwagę całe trasnforamcje, a nie jak w PEN Atributes Holder poszczególne ścieżki. Przez to przy przesuwaniu suwaka, kość się skraca - tak samo jak przy stretchy bonesach. Działa to przy np szkielecie do twarzy ale do ogólnego zastosowania się nie nadaje;( Nie wiem jak sobie z tym poradzić, ale będę walczył:D

 

Łukasz Burnet - możesz dokładnie opisać co się dzieje? Byłoby bardzo fajnie jakbyś zagadał do mnie na gg.

 

Pozdrawiam.

Odnośnik do komentarza
Udostępnij na innych stronach

Naprawiłem błąd, który miał Łukasz Burnet. Pojawiał się on ponieważ scena nie była zapisana pod żadną nazwą. Link zmieniłem, jeśli ktoś ściągnął skrypt to proszę o jego aktualizacje.

 

Dla pewności jeszcze raz podaje link:

 

PCHELA_Transform_Holder

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

Przedstawiam PCHELA_Transform_Holder_2.0

Zmieniłem całkowicie sposób w jaki skrypt pozyskuje informacje do zapisywania póz. Co to znaczy dla zwykłego śmiertelnika :P ?

 

- Możliwość wybrania co ma być brane pod uwagę przy wczytywaniu póz. Czyli można ustalić dla każdego z obiektów czy Pozycja, Obrót i Skala mają być użyte. Np. jak mamy kontrolery (np. twarzy) których nie będziemy skalować to odznaczamy działanie skali na nie. Opcja to daje większe zastosowanie dla skryptu oraz przyśpiesza jego działanie (mniej obliczeń na poszczególny obiekt)

 

- Teraz co najważniejsze.... Pojawił się suwak do płynnego zmieniania póz :D Długo nad nim pracowałem, ale działa tak jak powinien:) Oczywiście przyciski "Position Fix" oraz "Rotation Fix" działają także dla sliderka.

Nowe okno konfiguracji:

 

Pchela_Transform_Holder_2.0_small.jpg

 

Link do skryptu:

PCHELA_Transform_Holder_2.0

 

Zapraszam do pobierania, oraz w razie wystąpienia błędów zgłaszania ich.

 

Uwaga

Ponieważ zmieniłem sposób w jaki gromadzone są transformacje, wcześniejsze pozy nie będą działać!!

Edytowane przez pchela1313
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