Skocz do zawartości

Kroopson

Members
  • Rejestracja

  • Ostatnia wizyta

Zawartość dodana przez Kroopson

  1. Popieram. To jest bardziej zabawka do pokazania na targach niż produkcyjne narzędzie.
  2. Kroopson odpowiedział makak → na temat → Aktualności (mam newsa)
    Nie jedynym - Blender ma mechanizm akcji które enkapsulują animację per obiekt (a w Blenderze możesz mieć riga w przestrzeni jednego obiektu), możesz sobie akcje przełączać na postaci np idle/walk/attack itd.
  3. Kroopson odpowiedział Traitor → na temat → Aktualności (mam newsa)
    Polecam najpierw książkę - jest genialna Zaraz... to Juice... o szacun! :)
  4. może ma za krótką skórę i na potrzeby prezentacji na tyle mocno spiął d.pę że mu się tak oczy rozdziawiły :) Dodałbym coś na temat ficzersów ale w sumie nie ma o czym mówić.
  5. ale czad :)
  6. Hmm... ma swoje "ups and downs", generalnie im dalej tym lepiej. Trochę miałem wrażenie że ktoś przegiął z noisem na kamerze i niestety symulacje włosów trochę poległy. Ale tak poza tym bardzo fajne, końcówka wizualnie już broni się nawet bez brania poprawki że "to przecież w darmowym sofcie".
  7. Najpierw pomyślałem "łeeeee... gdzie tu jakość" a potem zobaczyłem iOS/Android :| mother of graphics
  8. Kroopson odpowiedział KrzyM → na temat → Programs Languages
    Tak na szybko odnośnie 2 - nie używam prawie nigdy UI generowanego z kodu, staram się zawsze zaszywać je w plikach .ui. Da się tego używać w designerze ale nie jest to takie oczywiste. Musisz kliknąć sobie "Promote to" na widget'cie i dalej to już dłuższa historia :)
  9. Trzeba przyznać że H2O się nieźle rozpędziło. Wielki szacun :)
  10. Kroopson odpowiedział KrzyM → na temat → Programs Languages
    Robisz QGroupBox z ustawionymi flagami flat i checkable, wstawiasz w niego jeden QWidget który będzie kontenerem na całą zawartość, robisz połączenie między sygnałem "toogled(bool)" group box'a a "setVisible(bool)" kontenera. Pakujesz sobie do kontenera wszystkie widgety których potrzebujesz. Teraz pozostaje tylko ostylować checkbox'a i voila.
  11. Kroopson odpowiedział KrzyM → na temat → Programs Languages
    Jeśli chodzi o same widgety i layouty to bardzo Ci polecam nauczyć się używać QtDesignera i ładowania plików .ui prosto na QWidget - odchodzi Ci babranina z budowaniem UI oraz jeśli trzeba zmienić coś w wyglądzie to jest to 10 minut a nie 10 godzin. PS. w tym kodzie na pastebin'ie masz jakoś strasznie długie te wcięcia - standard w pythonie to 4 spacje na jeden poziom wcięcia - niby pierdoła ale aż boli patrzenie na to :) - - - Połączono posty - - - a - jeszcze ikona. Spróbuj najpierw sprawdzić czy tak naprawdę znajduje Ci prawidłowy plik, w drugiej kolejności po stworzeniu instancji QIcon sprawdź sobie jej rozmiary. Qt ma to do siebie że nie wyrzuca wyjątku jeśli nie uda mu się otworzyć obrazka tylko zwraca pusty obrazek.
  12. Kroopson odpowiedział KrzyM → na temat → Programs Languages
    Odpowiedzi zacznę od końca: 4: najczęściej robię coś QLineEdit i QPushButton - zaznaczasz obiekt, klikasz button i nazwa zaznaczonego obiektu pojawia się w line edit. 3: to jest dość mętne, może mieć kilka przyczyn i generalnie nie jestem pewien czy dobrze to rozumiem. Generalnie reload jest dość niebezpieczny, zwłaszcza w kontaktach z PySide. Jeżeli wrapujesz sobie wskaźnik na główne okno majki shibokenem i tą instancję trzymasz w zmiennej w scope modułu, to musisz pamiętać, że reload() spowoduje nadpisanie tego wskaźnika, zostanie stworzona nowa instancja PySide.QtGui.QWidget a stara zostanie skasowana przez garbage collector. Niestety widget który jest aktualnie odpalony potrzebuje nadal tego obiektu który został scollectowany, przez co albo Maya się wywala albo okno już nie działa prawidłowo (wypada z pętli głównego wątku QApplication etc.) Żeby temu zapobiec używam najczęściej prostej implementacji wzorca Singleton w module, którego nigdy nie przeładowuję reloadem, a który trzyma listę wszystkich wskaźników do okienek jakie tworzę w sesji majki. Jak znajdę się w pracy a sobie nie poradzisz z tym to znajdę snippet z kodem. Cheers.
  13. Kerbal space program - powinna być klinika która z tego leczy. Genialna gierka :)
  14. Ot dziś w internetach znalazłem coś takiego: Bardzo fajne wg mnie :)
  15. "Python od podstaw" - fajna książka i jeszcze o pythonie 2.x (Python 3 nie jest na razie nigdzie implementowany oprócz Blendera chyba). Tak. PySide to open source PyQt. Ma kilka ograniczeń ale jest wpychane wszędzie ponieważ nie trzeba za niego płacić. Oba wrappery tak naprawdę robią to samo - wywołują kod z bibliotek Qt.
  16. Możesz też zrobić taki patent jak myśmy zrobili w Platige'u - przed wypuszczeniem riga na produkcję musieliśmy wykonać na nim kilka stratnych operacji, co powodowało własnie co jakiś czas utratę części pracy przez ctrl+s. Dlatego do skryptu który "czyścił" rig dodaliśmy to: scene_name = cmds.file(sn=True, q=True) file_path, extension = str(scene_name).rsplit(".", 1) cmds.file(rn=file_path + "_cleaned." + extension) Wtedy nawet jak ktoś się rypnął w niewłaściwym momencie to scena się zapisywała z inną nazwą.
  17. Reanimator włącz sobie incremental save to przestaniesz się bać nadpisania sobie sceny bo będziesz mógł wrócić do poprzedniego stanu.
  18. a nie lepiej jeszcze tak? plugins.py class PluginBase(object): def generate_ui(self): # ui creation pass class RiggingTool(PluginBase): def generate_ui(self): # override this here __init__.py import plugins from plugins import PluginBase def plugin_factory(plugin_name): result = getattr(plugins, plugin_name) if issubclass(result, PluginBase): return result plugin = plugin_factory("RiggingTool") PS. Polecam Ci jednak robić takie rzeczy w PySide a nie w standardowym majkowym UI
  19. Nie wszyscy :) Ale wydaje mi się że wszyscy powinni.
  20. no ale już brakuje naprawdę bardzo niewiele.
  21. NICE!!!! Gratulacje :)
  22. Wargaming!?!?!?!?! Omfg!!!!!111one No to czekamy
  23. Kroopson odpowiedział ElementalX7 → na temat → Maya
    sprawdź sobie czy normale masz jednorodne, nie masz podwójnych vertexów/faceów etc

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności