Skocz do zawartości

Opscript


deshu

Rekomendowane odpowiedzi

Hejka!

 

Czy ktoś mógłby mi powiedzieć, czy da się zmusić houdiniego do odtworzenia nodów na podstawie pliku zapisanego dzięki Opscript?

 

Przykład: mam jakieś wykombinowane kilka nodów. Chce je zapisać do pliku tekstowego, żeby kolega mógł automatem odtworzyć sieć u siebie, w innym projekcie.

 

Ewentualnie, czy jest jakiś inny sposób przenoszenai częsci nodów miedzy plikami .hipnc, aby dało się je nadal edytować?

Odnośnik do komentarza
Udostępnij na innych stronach

  • Odpowiedzi 8
  • Created
  • Ostatniej odpowiedzi

Top Posters In This Topic

Popular Days

Top Posters In This Topic

Hejka!

 

Czy ktoś mógłby mi powiedzieć, czy da się zmusić houdiniego do odtworzenia nodów na podstawie pliku zapisanego dzięki Opscript?

 

Przykład: mam jakieś wykombinowane kilka nodów. Chce je zapisać do pliku tekstowego, żeby kolega mógł automatem odtworzyć sieć u siebie, w innym projekcie.

 

Ewentualnie, czy jest jakiś inny sposób przenoszenai częsci nodów miedzy plikami .hipnc, aby dało się je nadal edytować?

 

 

Jasne, oto obie metody:

 

hscript:

opscript -r /obj/geo1 > /tmp/geo1.cmd

i dalej:

source /tmp/geo1.cmd

Python:

mynodes = hou.node("/obj/geo1").asCode()

i dalej po prostu:

exec mynodes 

 

 

Ograniczeniem tej metody są dane binarne potencjalnie przechowywane przez niektóre nody, takie jak EditSOP, które się nie przeniosą (podobnie jak nody z flagą lock).

Odnośnik do komentarza
Udostępnij na innych stronach

Bardzo proszę, jasne pełne, najlepiej czeskie... dziękuję ;)

Ah wiec 'source'!

To pochodzi ze skryptów powłoki, z którego hscript się wywodzi (a może raczej tcl?). Tak czy tak, Linux pomaga w Houdinim.

Odnośnik do komentarza
Udostępnij na innych stronach

W momencie kiedy robisz ctrl+c houdini w swoim tempie tworzy plik .cpio do ktorego zrzuca aktualnie zaznaczone nody dla danego kontekstu.

 

ctrl+c:

nodes = hou.selectedNodes()
hou.copyNodesToClipboard(nodes)

 

metoda na partyzanta to wyjecie tego pliku z tempa i wklejenie go w tempie na innym komputerze i wykonanie ctrl+v. Zaleta tego rozwiazania jest taka ze przechowuje on zalockowane nody, klucze, inne informacje np z nodow paint, comb, edit

 

inne podobne rozwiazanie to:

 

saveChildrenToFile()

loadChildrenFromFile()

 

np:

#zapis
obj = hou.node('obj')
nodes = []
nodes.append(obj.node('geo1'))
obj.saveChildrenToFile(nodes, (), 'C:/plik.cpio')

#odczyt:
obj.loadChildrenFromFile('C:/plik.cpio')

 

dziala identycznie jak ctrl+c i ctrl+v, musi zgadzac sie tylko kontekst w ktorym ladujesz plik z jego zawartoscia, masz tez wieksza kontrole gdzie wyladuje plik, i skad go ladujesz przez co mozesz sobie napisac proste narzedzie (python) do przerzucania nodow po sieci, jak dorzucisz do tego np dropboxa (bedziesz z automatu wrzucal .cpio do katalogu dropboxa, oba komputery beda zsynchronizowane z tym samym kontem) bedziesz mogl wymieniac sie z kolega nodami przez internet za pomoca 2 przycioskow

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

Johny, Ty hackerze!

 

Czy przypadkiem cpio, które jest kawałkiem hipa (który de facto jest plikiem cpio) nie zamieni sceny na Apprentice? Zwykły Ctrl+C->Ctrl+V właśnie tak zrobi, a tu chyba właśnie o to chodzi, żeby nie robił - oczywiście w celach niekomercyjnych!

 

Tak czy tak, niezły trick, dzięki!

Odnośnik do komentarza
Udostępnij na innych stronach

Rzeczywiscie tak bedzie, ctrl+c ctrl+v nie dzialalo w takiej sytuacji, pamietam ze z plikow hipnc musialem recznie przepisywac expressiony, odwzorowywac caly setup do nodow w wesji odpalonej na normalnej licencji :) no ale, w innym wypadku mysle ze rozwiazanie calkiem spoko :)

 

pozdrawiam btw :)

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