Skocz do zawartości

Featured Replies

Napisano

Jakiś czas temu napisałem sobie skrypcik dzięki ktormu nie musiałem siedzieć całą noc i włączać render z kolejnej kamery. Teraz chciałem troszkę ten skrypcik zmniejszyć objętościowo i zamiast powtarzających się komend dla każdej kamery, zrobić jednąpętlę. Niestety nie mogę ustawić widoku kamery w ViewPorcie. W czasie wykonywania scryptu wywala mi błąd, że niemoże wybranego obiektu zamienić na . Niżej podaje fragmęt scryptu, przepuszczam że przyczyną problemów może być w sposobie selekcji, ale jak do tej pory nie znalazłem właściwego.

 

 

c = cameras.count

 

for i = 1 to c do

(

Viewport.setCamera (\"Camera0\" + char)

)

 

 

 

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

Top Posters In This Topic

Napisano

Tak troche OT: nie mozesz ustawic kolejki w Video Post i stamtad renderowac? :)

Napisano
  • Autor

Mógłbym. Ale po co jeszcze bawić się w ustawianie kolejki w Video Post kiedy moge zreobić to jedym kliknięciem?

Napisano

Niepotrzebnie odwolujesz sie do kamer przez nazwe, przeciez wszystkie sa w tablicy cameras. Wystarczy podac numer elementu.

 

for i = 1 to cameras.count do

(

Viewport.setCamera cameras

)

Napisano
  • Autor

No i zadziałało. Dzięki Lechoo.

Poniżej przedstawiam mój scrypcik.

 

c = cameras.count

for i = 1 to c do

(

Viewport.setCamera cameras

cam = cameras

b = BitMap 160 120 filename:(\"D:\\\\RenderFiles\\\\Render_\" + cam.name as string + \".bmp\")

render 160 120 camera:cam to:b

save b

)

 

Dalej będe w nim dłubał. Chce dożucić mu ustawianie wielkości obrazka, format zapisu, ścieżke itp. Jakby ktoś miał jakieś pomysły co tu jeszcze wrzucić to chętnie posłucham.

 

Napisano
  • Autor

No i znowu utkęłem w martwym punkcie. W tablicy kameras umieszczane są też \"Camera.target\" i z tej pozycji jest render oczywiście nikomu do niczego nie potrzebny. Nie bardzo wiem jak pominąć render z tego widoku. Odwoływanie się do nich po imieniu mija się z celem. Prubowałem to zrobić za pomocą .type ale to też mi nie wypalilo. Wywala mi błąd typu :

Unknown property: \"type\" in $Target:Camera01.Target .

 

Mój główny problem to przedewszystkim to jak sprawdzić czy dany element tablicy cameras jest obiektem TargetCamera.

Napisano

Tak chyba bedzie najprosciej

 

if (classOf cameras == Targetcamera or classOf cameras == Freecamera) then... renderujesz

else... nie renderujesz

 

Mozesz tez sprawdzac czy dany obiekt jest targetem.

 

if (classof selection[1] == Targetobject) then...

else...

Napisano
  • Autor

Korzystając z chwilki czasu uaktalniłem skrypcik. Może to nie wiele ale powoli zaczyna byc użyteczny.

 

 

 

 

rollout kamera \"Kamera\"

(

group\"Rozmiar obrazka\"

(

spinner so \"szerokosc\" range:[8,4098,160] scale:1 pos:[40,24] width:80

spinner wo \"wysokosc \" range:[8,4098,120] scale:1 pos:[160,24] width:80

)

group \"lokaliozacja i nazwa renderów\"

(

edittext edt1 \"lokalizacja\" text:\"D:/rendery/\"

edittext edt2 \"nazwa \" text:\"obrazek\"

)

button rnd \"Render\"

on rnd pressed do

(

nr = 0

c = cameras.count

wob = wo.value

sob = so.value

for i = 1 to c do

(

cam = cameras[ i]

if classOf cam != Targetobject do

(

nr += 1

Viewport.setCamera cam

b = BitMap sob wob filename:(edt1.text + edt2.text + nr as string + \".bmp\")

render camera:cam to:b

save b

)

)

)

)

rollfloater = newRolloutFloater \"\" 300 175

addrollout kamera Rollfloater

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

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności