Skocz do zawartości
View in the app

A better way to browse. Learn more.

Max3D.pl

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

Napisano

Witam!:)

 

Oto screen:

 

skrypcik.jpg

 

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

  • Odpowiedzi 8
  • Wyświetleń 1,3k
  • Created
  • Ostatniej odpowiedzi

Top Posters In This Topic

Napisano

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 przez guru

Napisano

guru, popraw moze swoj skrypt bo nie bedzie dzialal w aktualnej formie.

Trzeba zdefiniowac funkcje ponad miejscem jej wywolania.

Napisano
  CgBartosz napisał:
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

Powaznie? tego nie zauwazylem, jednak nadal wywolujesz funkcje "faceControler" przed jej definicja...

Napisano

no tak ale widocznie maxscript funkcje pierwsze kompiluje. Funkcja jest poza rollout'em wiec pewnie dlatego.

Zawsze tak robie i dziala:)

Napisano

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
  CgBartosz napisał:
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 przez guru

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.