Napisano 17 Czerwiec 201014 l 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
Napisano 18 Czerwiec 201014 l 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 201014 l przez SUPER_OkO
Napisano 18 Czerwiec 201014 l 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 201014 l przez guru
Napisano 21 Czerwiec 201014 l guru, popraw moze swoj skrypt bo nie bedzie dzialal w aktualnej formie. Trzeba zdefiniowac funkcje ponad miejscem jej wywolania.
Napisano 21 Czerwiec 201014 l 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.
Napisano 29 Czerwiec 201014 l Powaznie? tego nie zauwazylem, jednak nadal wywolujesz funkcje "faceControler" przed jej definicja...
Napisano 29 Czerwiec 201014 l no tak ale widocznie maxscript funkcje pierwsze kompiluje. Funkcja jest poza rollout'em wiec pewnie dlatego. Zawsze tak robie i dziala:)
Napisano 29 Czerwiec 201014 l 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
Napisano 29 Czerwiec 201014 l 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 201014 l przez guru
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto