XaoC Napisano 17 Czerwiec 2010 Napisano 17 Czerwiec 2010 Witam!:) Oto screen: Chcialbym wiedziec jak sie robi taki fajny interface do animowania w maxie? Czy trzeba do tego napisac wlasny skrypcik? Zbytnio nie wiem jak mam zapytac google o to cos
SUPER_OkO Napisano 18 Czerwiec 2010 Napisano 18 Czerwiec 2010 (edytowane) Witam. http://www.max3d.pl/forum/showthread.php?t=43628 i tutaj video tutek http://rapidshare.com/files/177189910/facial_control_panel.rar.html - niestety nie mam zadnego serwera.. wiec tylko rapid, na koniec pokazowka jak to dziala http://www.youtube.com/watch?v=ZCWpj3zLeec. Pozdrawiam Edytowane 18 Czerwiec 2010 przez SUPER_OkO 1
guru Napisano 18 Czerwiec 2010 Napisano 18 Czerwiec 2010 (edytowane) Masz tu skrypcik na robienie tych malych kontrolek ktore mozna rozmiarowac. A edytujac width lub length mozesz uzywac go jako binarny suwak gora-dol lub lewo-prawo. rollout _controls "Kontrolka" width:180 ( group "Create Controls" ( spinner spn_ctrl_size "Size:" pos:[10,20] type:#float range:[1,10,1] button btn_create_Ctrl "Create" pos:[120,18] ) fn funk ctrlSize = ( rec =Rectangle length:ctrlSize width:ctrlSize angle:90 name:(uniqueName "Controler") wireColor:[200,0,0] cir=Circle radius:(ctrlSize*0.1) name:(uniqueName "CHandler") wireColor:[0,0,200] cir.parent = rec rec.rotation.x_rotation = 90 setTransformLockFlags cir #{3..9} flCtrl = cir.pos.controller flCtrl.X_Position.controller = float_limit() --Adding limit controller flCtrl.Y_Position.controller = float_limit() --Adding limit controller rec.width.controller = bezier_float() rec.length.controller = bezier_float() --Wireing parameters paramWire.connect rec.baseObject[#Width] cir.pos.controller.X_Position.controller[#Limits][#Upper_Limit] "Width/2" paramWire.connect rec.baseObject[#Width] cir.pos.controller.X_Position.controller[#Limits][#Lower_Limit] "-Width/2" paramWire.connect rec.baseObject[#Length] cir.pos.controller.Y_Position.controller[#Limits][#Upper_Limit] "Length/2" paramWire.connect rec.baseObject[#Length] cir.pos.controller.Y_Position.controller[#Limits][#Lower_Limit] "-Length/2" select rec ) on btn_create_Ctrl pressed do ( funk spn_ctrl_size.value ) ) createDialog _controls Majac to zwyczajnie z pomoca "Wire Params " łaczysz pozycje z rotacja czy czym innym. Edytowane 29 Czerwiec 2010 przez guru
CgBartosz Napisano 21 Czerwiec 2010 Napisano 21 Czerwiec 2010 guru, popraw moze swoj skrypt bo nie bedzie dzialal w aktualnej formie. Trzeba zdefiniowac funkcje ponad miejscem jej wywolania.
guru Napisano 21 Czerwiec 2010 Napisano 21 Czerwiec 2010 guru, popraw moze swoj skrypt bo nie bedzie dzialal w aktualnej formie. Trzeba zdefiniowac funkcje ponad miejscem jej wywolania. Dzieki faktycznie nie dzialal:P. Jeden nawiac za duzo na dole.
CgBartosz Napisano 29 Czerwiec 2010 Napisano 29 Czerwiec 2010 Powaznie? tego nie zauwazylem, jednak nadal wywolujesz funkcje "faceControler" przed jej definicja...
guru Napisano 29 Czerwiec 2010 Napisano 29 Czerwiec 2010 no tak ale widocznie maxscript funkcje pierwsze kompiluje. Funkcja jest poza rollout'em wiec pewnie dlatego. Zawsze tak robie i dziala:)
CgBartosz Napisano 29 Czerwiec 2010 Napisano 29 Czerwiec 2010 niezupelnie, uruchomilem maxa, wkleilem skrypt i przy kliknieciu guzika dostalem takie info: -- Error occurred in btn_create_Ctrl.pressed() -- Frame: -- faceControler: undefined >> MAXScript Rollout Handler Exception: -- Type error: Call needs function or class, got: undefined 1
guru Napisano 29 Czerwiec 2010 Napisano 29 Czerwiec 2010 (edytowane) niezupelnie, uruchomilem maxa, wkleilem skrypt i przy kliknieciu guzika dostalem takie info: -- Error occurred in btn_create_Ctrl.pressed() -- Frame: -- faceControler: undefined >> MAXScript Rollout Handler Exception: -- Type error: Call needs function or class, got: undefined Masz racje. Mam ta sama funkcje w innym kodzie i prawdopodobnie z pamieci pobral gdy wykonywalem inny kod. Juz poprawiam. Dzieki za uwage:) rollout _controls "Kontrolka" width:180 ( group "Create Controls" ( spinner spn_ctrl_size "Size:" pos:[10,20] type:#float range:[1,10,1] button btn_create_Ctrl "Create" pos:[120,18] ) fn funk ctrlSize = ( rec =Rectangle length:ctrlSize width:ctrlSize angle:90 name:(uniqueName "Controler") wireColor:[200,0,0] cir=Circle radius:(ctrlSize*0.1) name:(uniqueName "CHandler") wireColor:[0,0,200] cir.parent = rec rec.rotation.x_rotation = 90 setTransformLockFlags cir #{3..9} flCtrl = cir.pos.controller flCtrl.X_Position.controller = float_limit() --Adding limit controller flCtrl.Y_Position.controller = float_limit() --Adding limit controller rec.width.controller = bezier_float() rec.length.controller = bezier_float() --Wireing parameters paramWire.connect rec.baseObject[#Width] cir.pos.controller.X_Position.controller[#Limits][#Upper_Limit] "Width/2" paramWire.connect rec.baseObject[#Width] cir.pos.controller.X_Position.controller[#Limits][#Lower_Limit] "-Width/2" paramWire.connect rec.baseObject[#Length] cir.pos.controller.Y_Position.controller[#Limits][#Upper_Limit] "Length/2" paramWire.connect rec.baseObject[#Length] cir.pos.controller.Y_Position.controller[#Limits][#Lower_Limit] "-Length/2" select rec ) on btn_create_Ctrl pressed do ( funk spn_ctrl_size.value ) ) createDialog _controls Edytowane 29 Czerwiec 2010 przez guru
Rekomendowane odpowiedzi
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ę