Skocz do zawartości

Pomoc przy skrypcie automatyzacja pracy


claude

Rekomendowane odpowiedzi

Mam około 400 obiektów dla których muszę zrobić tą samą czynność.

 

stworzyć ogranicznik/zawias constriaint point-point i ustawić parent space w punkcie 0,0,0

 

Próbuje zrobić to maxrecorderem ale nic mi nie wychodzi

 

 

 

macros.run "reactor" "rctCreatePointPoint" -- tutaj tworze point-pioint z zaznaczonych obiektów

$.hasParent = off -- tutaj wyłączam parenta

 

 

subobjectLevel = 1

modPanel.setCurrentObject $.baseObject

subobjectLevel = 2

modPanel.setCurrentObject $.baseObject -- tutaj ustawiam parent i object space na 0,0,0

-- Unknown property: "baseObject" in $selection - dlaczego to wyskakuje, kiedy próbuje uruchomić skrypt dlaczego nie tworzy się obiekt POMOCY

Odnośnik do komentarza
Udostępnij na innych stronach

  • Odpowiedzi 13
  • Created
  • Ostatniej odpowiedzi

Top Posters In This Topic

Popular Days

Top Posters In This Topic

Nie wiem czy to o to chodzi ale na poczatku musisz inaczej tworzyc poin-point.

 

pp = point_point() -- tutaj tworze point-pioint z zaznaczonych obiektów

pp.hasParent = off -- tutaj wylaczam parenta

 

 

subobjectLevel = 1

modPanel.setCurrentObject $.baseObject

subobjectLevel = 2

modPanel.setCurrentObject $.baseObject

  • Like 1
Odnośnik do komentarza
Udostępnij na innych stronach

pp = point_point() -- tutaj tworze point-pioint z zaznaczonych obiektów -- samego point_point zrobiło

pp.hasParent = off

-- Runtime error: Attempt to access deleted scene object - tu wyskoczył błąd

 

Nie znam sie na skryptach i to mnie zabija

Jak wrzucam pierwsza linijke to tworzy sie się obiekt ale juz druga linijka nie działa

Jak to powinno sie zapisywać aby jedna opcja działała po drugiej bo w tej chwili opcje działają jakby osobno

 

Pozdrawiam

Odnośnik do komentarza
Udostępnij na innych stronach

do point to point chyba musz byc przypisane obiekty. Child i Parent lub tylko child jesli maja dyndac w worldspace. chcesz stworzyc constraint ktory nic nie robi ?

 

Chyba nie umiem tego opisać.

 

Chce do 400 obiektó przypisać ten point-point i zeby wszystkie obracały się wokół początku współrzędnych

 

ale nie chce robic to dla każdego z osobna

Odnośnik do komentarza
Udostępnij na innych stronach

tamten skrypt mi dzialal. A druga linijka o ile nie skasowales obiektu tez powinien dzialac.

 

Nie znam reaktora ani tego point-point wiec ciezko mi pomoc.

A nie moze to byc cos takiego ze parentuje twoje obiekty do zwykłego Point Helpera ktory jest tworzony w [0,0,0]. A potem sterujac obiektem wszysktie beda sie opraca/poruszac z nim? o to chodzi??

Odnośnik do komentarza
Udostępnij na innych stronach

Nie mam pojęcia o co chodzi ale dostaje niezłego doła wiem że to się da zrobić i nie umiem.

 

guru - tak, chcę aby wszystkie obiekty obracały się wokó jednego punktu nie ważne czy to będzie helper czy kula czy punkt początkowy

 

Nie rozumiem tego. Może trzeba coś napisać zeby wyselekcjonował tego nowo powstałego point-point

Odnośnik do komentarza
Udostępnij na innych stronach

fn ParentAll obj =
(
local p = Point box:on cross:on WireColor:[0,150,0] size:0.5 	
for x in obj do (	x.parent = p )	
print "Parent All objects"
select p

)
parentall $

 

Czy to o to chodzi??

Zaznacz obiekty ktore chcesz przylaczyc i wykonaj ten kod.

Odnośnik do komentarza
Udostępnij na innych stronach

wybierz obiekty i odpal to. Testowalem tylko na kulkach w maxie 2009 i dziala nromalnie.

 

fn AddPointToPointConstraintToSelectionOfObjects = (

   objs_arr = selection as array

   constraintSolver = CSolver()
   rigidBodyCollection = RBCollection()
   constraintSolver.rbCollection =     rigidBodyCollection

   for i=1 to objs_arr.count  do (

       PointToPoint = Point_Point()
       PointToPoint.hasParent = false
       PointToPoint.childBody = objs_arr[i]
       constraintSolver.AddConstraint PointToPoint
       rigidBodyCollection.AddRigidBody objs_arr[i]
       PointToPoint.parentTransform =  matrix3 1
       PointToPoint.alignToParentSpace()

   )

   for Bodyindex=1 to rigidBodyCollection.rigidBodies.count  do (

       RBCollectionInterface = rigidBodyCollection.rctRBCollectionInterface
       rigidBodyObject = RBCollectionInterface.getRigidObject Bodyindex
       rigidBodyObject.mass = 10

   )
)
AddPointToPointConstraintToSelectionOfObjects()

Odnośnik do komentarza
Udostępnij na innych stronach

Hej CgBartosz

 

To prawie działą ale robi dodatkowe RBcollection i CSolver i podwójnie ten ogranicznik point-point co mi komplikuje scene bo ja juz mam Rig body collection a CSolver też

 

jakby dało się wyłączyć tworzenie tych dodatkowych obiektów to git by był?

 

guru mi zrobił skrypcik, który działa musze tylko przy zaznaczaniu obiektów pierwsze klikać na ten parent a później na child

Wielkie Dzięki jesteś prawdziwym GURU

Ideałem byłoby żeby te 400 obiekty się automatycznie tak przetworzyły.

 

 

pp = point_point()

pp.hasParent = false

 

par = selection[1]

chi = selection[2]

 

poz = chi.transform.pos

 

pp.parentBody = par

pp.childBody = chi

 

pp.parentTransform = (matrix3 [1,0,0] [0,1,0] [0,0,1] [0,0,0])

pp.childTransform = (matrix3 [1,0,0] [0,1,0] [0,0,1] [-poz.x,-poz.y,-poz.z])

 

select pp

Edytowane przez claude
Odnośnik do komentarza
Udostępnij na innych stronach

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ę



×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności