Skocz do zawartości

ca mel

Members
  • Liczba zawartości

    755
  • Rejestracja

  • Ostatnia wizyta

  • Wygrane w rankingu

    6

Zawartość dodana przez ca mel

  1. Fajnie ze sie podoba ;] Bareja to chyba w koncu zerwal z mają, ale moze zajzy do watku i sie skusi zeby cos dopisac. Chociaz laczenie skryptow z interfejsem ma taka wade ze po zmianie wersji zwykle trzeba zmieniac skrypt. Laczenie polega na dopisaniu do istniejacego juz pliku np linii statusu, wiec jak wyjdzie nowa wersja mayi to trzeba uaktualniac. Ale moze warto ;] Destroyer: Te guziczki specjalnie zrobilem takie waskie bo chcialem wersje minimalistyczną zajmujaca jak najmniej miejca na ekranie. Jesli chcesz sobie sam ustalic szerokosci butonow to musisz pogrzebac w szerokosci kolumn rowColumnLayout'a. Tu jest wersja z poszerzonym okienkiem, z guziczkami na dole i bez ksywek ;] /// stad /// global float $myMaxTime; global float $initialTime; global float $nextWarningTime; global string $progressControl; global string $autoWindowName; global string $mySaveBtn; global int $progressToShow; global int $scriptJobID; proc cmlCheckTimeForAutoSave() { global float $initialTime; global float $myMaxTime; global string $progressControl; global string $autoWindowName; global string $mySaveBtn; global int $progressToShow; global float $nextWarningTime; float $currentTime = `timerX`; $progressToShow = 100 * ($currentTime - $initialTime) / ($nextWarningTime - $initialTime); if ($progressToShow > 100) $progressToShow = 100; if (`progressBar -exists $progressControl`) $aaa = `progressBar -edit -progress $progressToShow $progressControl`; if ($currentTime >= $nextWarningTime) showAutoSaveWindow(); }//proc proc showAutoSaveWindow() { global float $initialTime; global float $myMaxTime; global string $progressControl; global string $autoWindowName; global int $progressToShow; global string $mySaveBtn; if (`window -exists przypominacz`) { deleteUI przypominacz; } $autoWindowName = `window -s true -title "Save timer" -wh 270 106 przypominacz`; columnLayout -adj true; separator -h 10; rowColumnLayout -columnWidth 1 250 -nc 1 -parent przypominacz; $progressControl = `progressBar -minValue 0 -maxValue 99 -progress $progressToShow -width 120`; separator -h 16; rowColumnLayout -columnWidth 1 50 -columnWidth 2 50 -columnWidth 3 50 -columnWidth 4 50 -columnWidth 5 50 -nc 5 -parent przypominacz; button -label "Hide" -width 50 -height 10 -command ("deleteUI przypominacz"); $mySaveBtn = `button -label "Save" -width 50 -command mySaveButtonCommand -bgc 0.25 0 0`; button -label "Reset" -width 50 -command myResetButtonCommand -bgc 0 0.25 0; textField -fn "smallBoldLabelFont" -text $myMaxTime -changeCommand ("$myMaxTime = `textField -q -text timeViever`") -enterCommand ("$myMaxTime = `textField -q -text timeViever`") timeViever; button -label "Edit" -width 50 -command ("$myMaxTime = `textField -q -text timeViever`; myResetButtonCommand;") -bgc 0 0 0.25; if ($progressToShow >= 100) button -edit -label "SAVE" -width 50 -command mySaveButtonCommand -bgc 0.9 0 0 $mySaveBtn; showWindow; } proc myResetButtonCommand() { global float $initialTime; global float $nextWarningTime; global float $myMaxTime; global string $progressControl; global string $mySaveBtn; global int $progressToShow; progressBar -edit -progress 0 $progressControl; $initialTime = `timerX`; $nextWarningTime = $initialTime + $myMaxTime * 60; $progressToShow = 0; showAutoSaveWindow(); } proc mySaveButtonCommand() { global float $initialTime; global float $nextWarningTime; global float $myMaxTime; global string $progressControl; global string $mySaveBtn; global int $progressToShow; progressBar -edit -progress 0 $progressControl; $initialTime = `timerX`; $nextWarningTime = $initialTime + $myMaxTime * 60; $progressToShow = 0; showAutoSaveWindow(); file -f -save; } string $scriptJobList[] = `scriptJob -listJobs`; int $czyJest = 0; for ($scriptJobDescription in $scriptJobList) if (`gmatch $scriptJobDescription "*cmlCheckTimeForAutoSave*"`) $czyJest = 1; if (!$czyJest) { $myMaxTime = 10; $progressToShow = 0; $initialTime = `timerX`; $nextWarningTime = $initialTime + $myMaxTime * 60; $scriptJobID = `scriptJob -event "SelectionChanged" "cmlCheckTimeForAutoSave"`; } cmlCheckTimeForAutoSave(); showAutoSaveWindow(); // scriptJob -kill $scriptJobID -force; /// fine ///
  2. Super fajny pomysl z tym paskiem, na tyle ze pokusilem sie zeby napisac cos takiego ;] Jeszcze w wersji beta, nie przetestowane we wszystkich sytuacjach ale pod 2009 dziala. /// stad /// global float $myMaxTime; global float $initialTime; global float $nextWarningTime; global string $progressControl; global string $autoWindowName; global string $mySaveBtn; global int $progressToShow; global int $scriptJobID; proc cmlCheckTimeForAutoSave() { global float $initialTime; global float $myMaxTime; global string $progressControl; global string $autoWindowName; global string $mySaveBtn; global int $progressToShow; global float $nextWarningTime; float $currentTime = `timerX`; $progressToShow = 10 * ($currentTime - $initialTime) / ($nextWarningTime - $initialTime); if ($progressToShow > 10) $progressToShow = 10; if (`progressBar -exists $progressControl`) $aaa = `progressBar -edit -progress $progressToShow $progressControl`; if ($currentTime >= $nextWarningTime) showAutoSaveWindow(); }//proc proc showAutoSaveWindow() { global float $initialTime; global float $myMaxTime; global string $progressControl; global string $autoWindowName; global int $progressToShow; global string $mySaveBtn; if (`window -exists przypominacz`) { deleteUI przypominacz; } $autoWindowName = `window -s false -title "Zapisz Fikolku" -wh 160 90 przypominacz`; columnLayout -adj true; separator -h 7; rowColumnLayout -columnWidth 1 130 -columnWidth 2 14 -nc 2 -parent przypominacz; $progressControl = `progressBar -minValue 0 -maxValue 9 -progress $progressToShow -width 120`; button -label "R" -width 10 -command myResetButtonCommand -bgc 0 0.25 0; separator -h 7; rowColumnLayout -columnWidth 1 48 -columnWidth 2 48 -columnWidth 3 36 -columnWidth 4 14 -nc 4 -parent przypominacz; button -label "Hide" -width 34 -height 10 -command ("deleteUI przypominacz"); $mySaveBtn = `button -label "Save" -width 34 -command mySaveButtonCommand -bgc 0.25 0 0`; textField -fn "smallBoldLabelFont" -text $myMaxTime -changeCommand ("$myMaxTime = `textField -q -text timeViever`") -enterCommand ("$myMaxTime = `textField -q -text timeViever`") timeViever; button -label "E" -width 10 -command ("$myMaxTime = `textField -q -text timeViever`; myResetButtonCommand;") -bgc 0 0 0.25; if ($progressToShow >= 10) button -edit -label "SAVE" -width 34 -command mySaveButtonCommand -bgc 0.9 0 0 $mySaveBtn; showWindow; } proc myResetButtonCommand() { global float $initialTime; global float $nextWarningTime; global float $myMaxTime; global string $progressControl; global string $mySaveBtn; global int $progressToShow; progressBar -edit -progress 0 $progressControl; $initialTime = `timerX`; $nextWarningTime = $initialTime + $myMaxTime * 60; $progressToShow = 0; showAutoSaveWindow(); } proc mySaveButtonCommand() { global float $initialTime; global float $nextWarningTime; global float $myMaxTime; global string $progressControl; global string $mySaveBtn; global int $progressToShow; progressBar -edit -progress 0 $progressControl; $initialTime = `timerX`; $nextWarningTime = $initialTime + $myMaxTime * 60; $progressToShow = 0; showAutoSaveWindow(); file -f -save; } string $scriptJobList[] = `scriptJob -listJobs`; int $czyJest = 0; for ($scriptJobDescription in $scriptJobList) if (`gmatch $scriptJobDescription "*cmlCheckTimeForAutoSave*"`) $czyJest = 1; if (!$czyJest) { $myMaxTime = 10; $progressToShow = 0; $initialTime = `timerX`; $nextWarningTime = $initialTime + $myMaxTime * 60; $scriptJobID = `scriptJob -event "SelectionChanged" "cmlCheckTimeForAutoSave"`; } cmlCheckTimeForAutoSave(); showAutoSaveWindow(); // scriptJob -kill $scriptJobID -force; /// fine /// Wystarczy wrzucic na shelfa i odpalic. Znaczenia guziczkow chyba latwo sie domylic ;] Brakuje jeszcze wylaczenia autosave ale nie wiem czy zrobic to jeszcze dodatkowym malym guziczkiem czy zamienic Hide z Resetem i w miejscu malego resetu wstawic wylaczenie, czy moze ustawiony licznik minut na 0 wylaczy auto, trzeba pouzywac i zobaczyc. Fajnie by bylo wkomponowac to pozyteczne narzedzie w interface, np w gorna belke ale to juz wyzsza szkola jazdy ;] Oczywiscie wszelkie sugestie mile widziane. Pozdr.
  3. ca mel

    Maya 2009 trial na ponad 30 dni?

    Co cwansze programy stawiaja sobie znacznik triala na nieuzywanych sektorach dysku wiec format czy ghost moga nic nie poradzic.
  4. ca mel

    Monitor 24

    A ja to nei rozumiem po co kupowac 27" ktore rozdzielczosc ma taka sama jak 24" Bedzie na tym wiekszy pixel czyli mniej 'dokladny' obraz. Za ta sama cene masz 24 Eizo ktore ma napewno znacznie lepsza matryce i kolory a tą samą rozdzielczosc. Jesli zalezy Ci na malo dokladnym, prezentacyjnym monitorze to juz lepiej dolozyc pare groszy i kupic telewizor 32" z full HD. Pozdr.
  5. Masz racje, przepraszam. Inne w wątku minibitwy są na tyle podobne ze wydawało mi się że Twoja praca tez jest wśród nich. ;]
  6. Ten pentium D chyba nie ma domyslnej szyny 283 Mhz ? ;] Skoro przetaktowales procesor i cala szyne danych to prawdopodobnie ktorys z kontrolerow dyskow zaczal zapisywac niekonicznie to co powinien i zepsul pliki wazne dla windowsa. Wina kontrolera albo pamieci ktora zawierala w chwili zapisu uszkodzone dane. Sprobuj przywracania systemu w trybie awaryjnym a jesli nie pomoze to format ;] Pozdr.
  7. Nie no, oczywiscie. Ale odpisalem swoje 3 grosze na temat zdziwienia ze nikt nie komentuje i porady autorki o pisaniu z sensem. Obrazek ladny, technicznie poprawna wizualizacja, ale jako praca malo ciekawa i juz byla w innym wątku wsród innych łudząco podobnych. Ot, tyle ;] Pozdrawiam!
  8. Ja sprawdzilem i tez nie wiem co tu komentowac. Obrazek jest malo interesujacy, wlasciwie taki sam jak reszta w tamtym watku. Oswietlenie i materialy w porzadku ale naprawde nie wiem po co znalazlo sie to w galerii. Kazdy tu chyba liczy na cos interesujacego a nie prace ktora juz byla w innym watku ;] Pozdrawiam
  9. ca mel

    Arch & Design Material w Maya

    Mia material jest jedna z najlepiej opisanych rzeczy w maya'owym helpie. Jest opisany kazdy szczegol z dokladnym opisem wszystkich parametrow, sa nawet obrazki;] Nie wiem czy sciezka bedzie u Ciebie taka sama, u mnie jest pod takim lokalnym adresem C:\Program Files\Autodesk\Maya2008\docs\Maya2008\en_US\ArchGuide\arch_mtl.html albo w ff: file:///C:/Program%20Files/Autodesk/Maya2008/docs/Maya2008/en_US/ArchGuide/arch_mtl.html Metal bedzie się bardzo dobrze prezentowal pewnie nawet na standardowym presecie. mia material ma dodatkowa zalete ze mozna mu podlaczyc wezel zaokraglajacy rogi i krawedzie podczas renderingu. A presetow szukaj w attr. edytorze, miax ma ich troche mniej, choc to ten sam szader z kilkoma dodatkami (wiecej opcji bump i barwione AO). Pozdr.
  10. ca mel

    troszke z modelowania

    Mozesz wykorzystac fakt ze maya wykonuje polecenia tylko na zaznaczonych rzeczach. Wiec jesli zaznaczysz wierzcholki czy krawedzie i odwrocisz zaznaczenie (np edit/invert selection) to nastepne polecenie lub narzedzie podziala tylko wlasnie na nie. A wygladzic mozesz na kilka sposobow - narzedziem scupt polygon i jego opcja flood smooth albo poleceniem average vertices. Pozdr.
  11. ca mel

    Problem z krawędźmi

    Przytrzymaj W i lewy klawisz myszy poczym z menu ktore sie pojawi wylacz soft selection. Pozdr.
  12. Mozna smialo polaczyc lapanie wodki z grą na zimowe wieczory ;]
  13. A tu taka gra na dlugie zimowe wieczory. Chcialem umiescic w co gracie i polecacie, ale jedak bedzie tutaj ;]
  14. ca mel

    Pęknięcie balonu

    Jesli chodzi o realistyczną symulacje ze wszystkimi detalami typu slow motion to mysle ze spisalaby sie metoda recznego podzielenia balonu na mniejsze czesci i przypisanie skrecajacych sie kosci do co wiekszych kawalkow. Do tego wszystkiego softbody podazajace jako cel za oryginalna geometria z podmalowanymi przypadkowo wagami. Moglby sie tez spisac blastcode ktory wygenerowalby mniejsze kawalki. To oferuje najwieksza kontrole nad caloscia. A jesli ma to wygladac niekoniecznie realistycznie - to oczywiscie ncloth z pomalowaną mapą pekniec i pole silowe w srodku.
  15. ca mel

    Volumetric light maya 2009 x64

    Tam w opcjach cienia depth przy filtrze masz tez sample dla mgly. W zalacznikach jest taki stary projekt jeszcze za czasow soft renderow. Pamietam ze to swiatlo blizsze ustawialem ze mialo chyba z 70 sampli i nie ma sladu po ziarnach. A to dalsze, bardziej w srodku jest standardowe i rzeczywiscie pojawia sie szum.
  16. ca mel

    Volumetric light maya 2009 x64

    W maya software light fog zadziala Ci tylko z cieniami depth. A z tym tutorialem mentalowym - pamietam ze dzialalo to w m4.5, a juz w 7.0 nie chcialo.
  17. No i rozkminilem to ustrojstwo. Okazalo sie ze z nieznanych mi przyczyn material w viewporcie jest polaczony z szaderem przez tajemnicze atrybuty 'message' a nie jego tekstura i jest tak tylko w przypadku wlasnie surface shadera. Jesli komus przyda sie skrypt zamianiajacy bliny lamberty czy phongi z podlaczoną incandescence albo color na wlasnie surface shadera z poprawnym wyswietlaniem to jest on tu: /// lecimy /// string $polaczenie_do_zmian; string $nasztyp_nodu; string $nowy_SurfaceShader; string $nowy_SurfaceShader_nowszy; string $nasza_selekcja_do_zmian[] = `ls -sl`; string $nasza_selekcja_do_zapisu[]; clear $nasza_selekcja_do_zapisu; string $listaPolaczen[]; int $pozycjoner_do_zapisu = 0; string $polaczony_z[]; for ($nasz_selektor in $nasza_selekcja_do_zmian) { $nasztyp_nodu = `nodeType $nasz_selektor`; switch ($nasztyp_nodu) { case "blinn": case "phong": case "lambert": clear $polaczony_z; $polaczenie_do_zmian = $nasz_selektor + ".color"; $polaczony_z = `listConnections $polaczenie_do_zmian`; $polaczony_z_cale = $polaczony_z[0] + ".outColor"; //print $polaczony_z_cale; if ($polaczony_z_cale == ".outColor") { $polaczenie_do_zmian = $nasz_selektor + ".incandescence"; $polaczony_z = `listConnections $polaczenie_do_zmian`; $polaczony_z_cale = $polaczony_z[0] + ".outColor"; } if ($polaczony_z_cale == ".outColor") break; $nowy_SurfaceShader = `shadingNode -asShader surfaceShader`; $nowy_SurfaceShader_nowszy = "surfMy_" + $nasz_selektor; $nowy_SurfaceShader_nowszy_planowany = $nowy_SurfaceShader_nowszy; $nowy_SurfaceShader_najnowszy = `rename $nowy_SurfaceShader $nowy_SurfaceShader_nowszy`; $shader_counter = 0; while ($nowy_SurfaceShader_najnowszy != $nowy_SurfaceShader_nowszy) { $shader_counter++; $nowy_SurfaceShader_nowszy = $nowy_SurfaceShader_nowszy_planowany + "_" + $shader_counter; $nowy_SurfaceShader_najnowszy = `rename $nowy_SurfaceShader_najnowszy $nowy_SurfaceShader_nowszy`; } $nasza_selekcja_do_zapisu[$pozycjoner_do_zapisu++] = $nowy_SurfaceShader_najnowszy; $na_co_zmienic = $nowy_SurfaceShader_najnowszy + ".outColor"; connectAttr -force $polaczony_z_cale $na_co_zmienic; hyperShade -objects $nasz_selektor; string $nasza_selekcja[] = `ls -sl`; if ( (size($nasza_selekcja) == 1) && ($nasza_selekcja[0] == $nowy_SurfaceShader_najnowszy )) break; else for ($przypisywacz in $nasza_selekcja) hyperShade -assign $nowy_SurfaceShader_najnowszy; clear $listaPolaczen; $listaPolaczen = `listConnections $nowy_SurfaceShader_najnowszy`; for ($polaczenie in $listaPolaczen) if (`objectType $polaczenie` == "materialInfo") { disconnectAttr ($nowy_SurfaceShader_najnowszy + ".message") ($polaczenie + ".texture") -nextAvailable; connectAttr ($polaczony_z[0] + ".message") ($polaczenie + ".texture") -nextAvailable; break; } break; default: break; } //switch }; select -r $nasza_selekcja_do_zapisu; /// fine /// Sam rozpoznaje selekcje wiec jak zaznaczymy cos za duzo to nie szkodzi, do tego usuwa filtr z zaznaczonych tekstur. W zalacznikach wklejam przyklad wykorzystania metody wypalanie + zmiana na surface shader. Do tej pory uzywalem do podgladu czegos takiego trybu high quality - predkosc odswierzania jak widac na pierwszych dwoch skrinach nie jest imponujaca. Za to surface shadery przy tej samej jakosci dzialaja kilkukrotnie szybciej. Takze warto hehe. Nie moge Ci dac repa panie Destroyerze bo mi forum pisze ze najpierw musze rozdac pare innych... Ale sie nalezy. Swietny skrypt, napewno sie przyda i troche mnie naprowadzil na te atrybuty '.message' ;] Jeszcze raz dzieki i pozdrawiam!
  18. Lecz to wlasnie na tym polega istota mojego problemu. Zeby zmienaic to nie uzywajac Att edytora, lecz nacisnac jeden guzik i poczekac az sie zrobi samo;] Bo to jeszcze porządna firma pisała ;]
  19. Oczywiscie ze mozna. Warunkiem jest tylko to zeby nie pokrywaly sie uv zaznaczonych obiektow. Mozesz w tym celu zrobic sobie nawet oddzielną projekcję ktora potraktujesz uv layoutem co zapewni ze nie pokryją sie i ktora bedzie uzyta do wynikowej mapy. W lightning/shading jest polecenie batch bake ktoremu zaznacz opcje 'bake to one map'. Po jakims czasie (zaleznym od ustawionego samplingu i rozdzielczosci) powstanie kilka nowych materialow, w zaleznosci od ilosci uzytych. Wszystkie beda podlaczone do tej samej tekstury wiec wybierz sobie jeden z nich i przypisz jezczcze raz do obiektu. Njlpiej przygotuj sobie przed wypalaniem hypershade w ktorym wyladuja nowe wypalone materialy. Pozdr.
  20. O ba, swietny skrypt! Super to dziala, bardzo przydatne jest w takiej postaci, bo czasem warto miec wczytane niskiej jakosci tekstury zeby nie zapchac karty graficznej. No ale automatu nie zastapi. Co do szita - ja to nie mam nawet rozdzielczosci w zakladkach dla surface shadera. Dopiero jak podgladam atrybuty pliku z tekstura to laskawie pojawia sie rozdzielczosc ;] Ale oczywiscie nic w przypadku surf shadera nic nie zmienia. Pewnie z jakis powodow zrobione jest tak specjalnie. Po cichu zaczynam liczyc na to ze wpadnie tu bareja i machnie pare linijek ;/ Tak czy inaczej dzieki za odzew, ten skrypt ktory podeslales wyglada bardzo obiecujaco, moze da sie cos z niego wyciagnac. Pozdr.
  21. Wie ktos moze jak zmieniac skryptem rozdzielczosc hardwarowej tekstury w viewporcie pokazywanej przez surface shader ? Napisalem sobie skrypt ktory masowo zmienia lamberty z wypaloną teksturą (w kanale koloru albo zarzenia) na surface shadery i przypisuje je w miejsce lambertow. Wszystko dziala bardzo pieknie, lecz problem pojawia sie gdy chce obejzec w viewporcie rozklad koloru czy swiatla bo domyslnie surface shader pokazuje wszystko w ultra malej rozdzielczosci i zamiast wypalonych tekstur widac rozmazane plamy. Mozna to z latwoscia zmienic recznie otwierajac attr edytor i zmienic ustawienie w zakladce hardware texturing. Lecz pojawia sie pytanie - jak zrobic to skryptem jesli jest np 100 takich shaderow? Zmiana atrybutu ".resolution" w teksturze (czy dodanie takiego gdy go nie ma) nie pomaga. I dodatkowe pytanie - powiedzmy ze jakis lambert ma dwie tekstury, np. w kanalach color i ambient. Jak zmieniac skryptem pokazywany w viewporcie kanal ? Jakby ktos wpadl jak dokonac tych dwoch rzeczy byłbym bardzo wdzieczny ;] Pozdr.
  22. Dokladnie, zwykle wine ponosza szadery. Mental nie lubi majowych materialow, po to zrobione sa mentalowe zeby ich uzywac. Czesto przeszkadzaja tez jpg w teksturach ktore trzeba rozkompresowywac w pamieci i tracic na to dodatkowe zasoby. Najlepiej uzywac plikow .map powyzej rozdzielczosci 1024, sa do pobrania bardzo przyjemnie dzialajace managery plikow ktore potrafia w locie zamieniac pliki na .map. Ostatni robilem sporo duzych scen i zauwazylem ze bardzo przydaja sie referencje polaczone z instancerem i - wypalanie map batch bake tam gdzie sie da. Uzywajac potem surface shadera bardzo upraszczaja sie obliczenia. No i liczenie duzych scen z linii komend to podstawa ;] Pozdr.
  23. ca mel

    S1366 czy więcej ramu

    Moim zdaniem placenie dwa razy wiekszej sumy za to zeby komputer byl 20% szybszy to lekka przesada. W tej sytuacji kupilbym 2 xeony serii 54xx. Cena tez dwa razy wieksza ale przyrost mocy 90%. Pozdrawiam!
  24. Sprawdz czy nie poodwracay Ci sie normane na tej czesci geometrii.
  25. ca mel

    lustrzane odbicie - laczenie

    jest, zaznacz obiekt, wcisnij shift z prawym myszy i wybierz mirror polygon. Jest tam kilka zdefiniowanych typow odbicia. pozdr.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności