Skocz do zawartości

Featured Replies

Napisano

Hej

 

Zrobiłem właśnie animowane schody ruchome. Każdy stopień przypisany 'Path constrait' do linii. 100 stopni, wobec czego musiałem 100 razy zmienić parametr '% along spline'.... Wie ktoś jak można to zrobić prościej/szybciej/elastyczniej?

 

Jeśli komuś takie schody się przydadzą to dajcie znać. H-600cm.

 

ukłony

uke

  • Odpowiedzi 7
  • Wyświetleń 1,2k
  • Created
  • Ostatniej odpowiedzi

Top Posters In This Topic

Napisano

hihihi.. ale spamujesz...

żarcik.

pozdrawiam.

 

polecam tutorial o drucie kolczastym... tam chyba było coś o automatycznym rozmieszczaniu.. mam nadzieję..

Napisano

Zrobiłem Ci narzędzie, którego szukasz.

Skopiuj ten kod i wklej do "max script editor" i daj na "evaluate all" lub "ctrl + e"

Ten skrypt dodaje path constraint jak i umożliwia zmianę procentową.

 

- wybierasz spline

- zaznaczasz stopnie czy inne elementy

- jeżeli nie masz jeszcze dodanych path constraint to wciskasz "Add path constraint"

- następnie suwakiem ustawiasz co ile mają być odstępy schodów na splinie i wciskasz "set along path val". Czyli jak masz np 5 stopni i ustawisz suwak na 25 to pierwszy stopien bedzie na 0 kolejny na 25 itd

- jeżeli później chcesz zmienić wartość na splinie to tylko zmieniasz wartość suwakiem i jeszcze raz wciskasz "set along path val"

 

try (destroyDialog pathConstraint) catch ()
rollout pathConstraint "Path Constraint Setup"
(
group "Spine Select"
(
pickbutton pickSplineB "Pick Spline"
edittext curSpline "Current Spline:"   readOnly:true
)
Group "Path Vonsraint"
(
button addPathCons "Add Path Constraint"
)
group "Path Value"
(
button setPercVal "Set Along Path val"
spinner addPathPerc "Set Steps"
)
local SplineB,s
on pickSplineB picked elem do
(
	curSpline.text=elem.name
	SplineB=elem
)
on addPathCons pressed do
(
	try(
	s=selection as array
	for o in s do
	(
		o.position.controller=position_list()
		num=o.position.controller.count+1
		o.position.controller[num].controller=path_constraint()
		o.position.controller.active=num
		o.position.controller[#Path_Constraint].path=SplineB
	)
	)catch()
)
on setPercVal pressed do
(
	try(
	s=selection as array
	for i = 1 to s.count do
	(
		o=(i-1)*addPathPerc.value
		s[i].position.controller[#Path_Constraint].percent=o
	)
	)catch()
)
)
createDialog pathConstraint

Napisano

Jeżeli chcesz łatwo animować schody to teraz też masz taką możliwość:

 

- w grupie "Animate Percent" wpisujesz o ile mają się przesunąć

- wciskasz auto key i następnie "Move Along Path"

 

nowy kod

try (destroyDialog pathConstraint) catch ()
rollout pathConstraint "Path Constraint Setup"
(
group "Spine Select"
(
pickbutton pickSplineB "Pick Spline"
edittext curSpline "Current Spline:"   readOnly:true
)
Group "Path Vonsraint"
(
button addPathCons "Add Path Constraint"
)
group "Path Value"
(
button setPercVal "Set Along Path val"
spinner addPathPerc "Set Steps"
)
Group "Animate Percent"
(
button animPerc "Move Along Path"
spinner AnimPercVal "Set Steps"
)
local SplineB,s
on pickSplineB picked elem do
(
	curSpline.text=elem.name
	SplineB=elem
)
on addPathCons pressed do
(
	try(
	s=selection as array
	for o in s do
	(
		o.position.controller=position_list()
		num=o.position.controller.count+1
		o.position.controller[num].controller=path_constraint()
		o.position.controller.active=num
		o.position.controller[#Path_Constraint].path=SplineB
	)
	)catch()
)
on setPercVal pressed do
(
	try(
	s=selection as array
	for i = 1 to s.count do
	(
		o=(i-1)*addPathPerc.value
		s[i].position.controller[#Path_Constraint].percent=o
	)
	)catch()
)
on animPerc pressed do
(
	try(
	s=selection as array
	for i = 1 to s.count do
	(
		o=AnimPercVal.value
		s[i].position.controller[#Path_Constraint].percent +=o
	)
	)catch()
)
)
createDialog pathConstraint

Napisano
  • Autor

Mistrzu, genialnie!

 

Wielkie dzięki. Teraz muszę jakość dojść jak to działa. Masz jakieś godne polecenia samoukowi źródła wiedzy o skryptach w maxie? Tutków jest masa, ale rozsądnych niewiele. A może ty coś już napisałeś? Ściągnąłem ten o riggowaniu Indiego, wydawałeś inne dzieła?

 

Jeszcze raz wielkie dzięki

 

pozdrawia

uke

Napisano

Hehe, proszę bardzo.

Nie, ja żadnych tutków nie robiłem. Cieszę się, że podobają ci się moje rzeczy:)

Jeżeli chcesz zacząć bawić się skryptowaniem to oczywiście polecam tutoriale z cgacademy. Jeżeli nie robisz szkieletów i nie chcesz sobie zaprzątać głowy macierzami to spokojnie starczą te z poziomu intermediate. Generalnie bardzo dużo rzeczy idzie się dowiedzieć z F1. Od maxa chyba 6 zajmuję się nim Bronisław "Bobo" Petrov, który bardzo dobrze go napisał.

 

Pozdrawiam

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

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności