Skocz do zawartości

Featured Replies

Napisano

piszę skrypt do Motion Buildera. Mam problem z pętlą. Mianowicie:

 

[color=#0000BB][font=monospace]from pyfbsdk import [/font][/color][color=#007700][font=monospace]*

for [/font][/color][color=#0000BB][font=monospace]lMarker in FBSystem()[/font][/color][color=#007700][font=monospace].[/font][/color][color=#0000BB][font=monospace]Scene[/font][/color][color=#007700][font=monospace].[/font][/color][color=#0000BB][font=monospace]Components[/font][/color][color=#007700][font=monospace]:
       if [/font][/color][color=#0000BB][font=monospace]lMarker [/font][/color][color=#007700][font=monospace]and [/font][/color][color=#0000BB][font=monospace]lMarker[/font][/color][color=#007700][font=monospace].[/font][/color][color=#0000BB][font=monospace]ClassName[/font][/color][color=#007700][font=monospace]() == [/font][/color][color=#DD0000][font=monospace]"FBModelMarkerOptical"[/font][/color][color=#007700][font=monospace]:
           [/font][/color][color=#0000BB][font=monospace]lDone [/font][/color][color=#007700][font=monospace]= [/font][/color][color=#0000BB][font=monospace]lMarker
           [/font][/color][color=#007700][font=monospace]print [/font][/color][color=#0000BB][font=monospace]lDone[/font][/color][color=#007700][font=monospace].[/font][/color][color=#0000BB][font=monospace]LongName

//rezultat printa to nazwy wszystkich markerów w scenie
[/font][/color][color=#007700][font=monospace]>>>
[/font][/color][color=#0000BB][font=monospace]C3D[/font][/color][color=#007700][font=monospace]:[/font][/color][color=#0000BB][font=monospace]LBWT
C3D[/font][/color][color=#007700][font=monospace]:[/font][/color][color=#0000BB][font=monospace]RBWT
C3D[/font][/color][color=#007700][font=monospace]:[/font][/color][color=#0000BB][font=monospace]LFWT
C3D[/font][/color][color=#007700][font=monospace]:[/font][/color][color=#0000BB][font=monospace]LTHI
C3D[/font][/color][color=#007700][font=monospace]:[/font][/color][color=#0000BB][font=monospace]RFRM
C3D[/font][/color][color=#007700][font=monospace]:[/font][/color][color=#0000BB][font=monospace]RTHI
C3D[/font][/color][color=#007700][font=monospace]:[/font][/color][color=#0000BB][font=monospace]RWRB
C3D[/font][/color][color=#007700][font=monospace]:[/font][/color][color=#0000BB][font=monospace]RWRA
C3D[/font][/color][color=#007700][font=monospace]:[/font][/color][color=#0000BB][font=monospace]STRN
C3D[/font][/color][color=#007700][font=monospace]:[/font][/color][color=#0000BB][font=monospace]T10
C3D[/font][/color][color=#007700][font=monospace]:[/font][/color][color=#0000BB][font=monospace]RFIN
C3D[/font][/color][color=#007700][font=monospace]:[/font][/color][color=#0000BB][font=monospace]RUPA
C3D[/font][/color][color=#007700][font=monospace]:[/font][/color][color=#0000BB][font=monospace]LKNE
C3D[/font][/color][color=#007700][font=monospace]:[/font][/color][color=#0000BB][font=monospace]RKNE
C3D[/font][/color][color=#007700][font=monospace]:[/font][/color][color=#0000BB][font=monospace]LUPA
C3D[/font][/color][color=#007700][font=monospace]:[/font][/color][color=#0000BB][font=monospace]CLAV
C3D[/font][/color][color=#007700][font=monospace]:[/font][/color][color=#0000BB][font=monospace]LELB
C3D[/font][/color][color=#007700][font=monospace]:[/font][/color][color=#0000BB][font=monospace]RSHO
C3D[/font][/color][color=#007700][font=monospace]:[/font][/color][color=#0000BB][font=monospace]LFRM
C3D[/font][/color][color=#007700][font=monospace]:[/font][/color][color=#0000BB][font=monospace]LSHN
C3D[/font][/color][color=#007700][font=monospace]:[/font][/color][color=#0000BB][font=monospace]RSHN
C3D[/font][/color][color=#007700][font=monospace]:[/font][/color][color=#0000BB][font=monospace]LBHD
C3D[/font][/color][color=#007700][font=monospace]:[/font][/color][color=#0000BB][font=monospace]LFHD
C3D[/font][/color][color=#007700][font=monospace]:[/font][/color][color=#0000BB][font=monospace]RBHD
C3D[/font][/color][color=#007700][font=monospace]:[/font][/color][color=#0000BB][font=monospace]RFHD
C3D[/font][/color][color=#007700][font=monospace]:[/font][/color][color=#0000BB][font=monospace]RANK
C3D[/font][/color][color=#007700][font=monospace]:[/font][/color][color=#0000BB][font=monospace]LANK
C3D[/font][/color][color=#007700][font=monospace]:[/font][/color][color=#0000BB][font=monospace]RHEE
C3D[/font][/color][color=#007700][font=monospace]:[/font][/color][color=#0000BB][font=monospace]LHEE
C3D[/font][/color][color=#007700][font=monospace]:[/font][/color][color=#0000BB][font=monospace]LTOE
C3D[/font][/color][color=#007700][font=monospace]:[/font][/color][color=#0000BB][font=monospace]RTOE
C3D[/font][/color][color=#007700][font=monospace]:[/font][/color][color=#0000BB][font=monospace]LMT5
C3D[/font][/color][color=#007700][font=monospace]:[/font][/color][color=#0000BB][font=monospace]RMT5
C3D[/font][/color][color=#007700][font=monospace]:[/font][/color][color=#0000BB][font=monospace]RFWT
C3D[/font][/color][color=#007700][font=monospace]:[/font][/color][color=#0000BB][font=monospace]RELB
C3D[/font][/color][color=#007700][font=monospace]:[/font][/color][color=#0000BB][font=monospace]RBAC
C3D[/font][/color][color=#007700][font=monospace]:[/font][/color][color=#0000BB][font=monospace]LSHO
C3D[/font][/color][color=#007700][font=monospace]:[/font][/color][color=#0000BB][font=monospace]C7
C3D[/font][/color][color=#007700][font=monospace]:[/font][/color][color=#0000BB][font=monospace]LWRA
C3D[/font][/color][color=#007700][font=monospace]:[/font][/color][color=#0000BB][font=monospace]LFIN
C3D[/font][/color][color=#007700][font=monospace]:[/font][/color][color=#0000BB][font=monospace]LWRB
C3D[/font][/color][color=#007700][font=monospace]:[/font][/color][color=#0000BB][font=monospace]RBAC[/font][/color][color=#007700][font=monospace]-[/font][/color][color=#0000BB][font=monospace]1[/font][/color][color=#0000BB][font=monospace]
[/font][/color]

 

teraz jeżeli dam polecenie kopiuj wszystkie markery przy pomocy poniższego kodu to Motion Builder otrzymuje nieskończoną pętlę.

[color=#0000BB][font=monospace]from pyfbsdk import [/font][/color][color=#007700][font=monospace]*

for [/font][/color][color=#0000BB][font=monospace]lMarker in FBSystem()[/font][/color][color=#007700][font=monospace].[/font][/color][color=#0000BB][font=monospace]Scene[/font][/color][color=#007700][font=monospace].[/font][/color][color=#0000BB][font=monospace]Components[/font][/color][color=#007700][font=monospace]:
       if [/font][/color][color=#0000BB][font=monospace]lMarker [/font][/color][color=#007700][font=monospace]and [/font][/color][color=#0000BB][font=monospace]lMarker[/font][/color][color=#007700][font=monospace].[/font][/color][color=#0000BB][font=monospace]ClassName[/font][/color][color=#007700][font=monospace]() == [/font][/color][color=#DD0000][font=monospace]"FBModelMarkerOptical"[/font][/color][color=#007700][font=monospace]:
           [/font][/color][color=#0000BB][font=monospace]lDone [/font][/color][color=#007700][font=monospace]= [/font][/color][color=#0000BB][font=monospace]lMarker
[/font][/color][color=#0000BB][font=monospace]            lDuplicat [/font][/color][color=#007700][font=monospace]= [/font][/color][color=#0000BB][font=monospace]copy[/font][/color][color=#007700][font=monospace].[/font][/color][color=#0000BB][font=monospace]copy[/font][/color][color=#007700][font=monospace]([/font][/color][color=#0000BB][font=monospace]lDone[/font][/color][color=#007700][font=monospace])

[/font][/color][color=#007700][font=monospace]//jezeli dam break na koniec to po komendzie [/font][/color][color=#007700][font=monospace]print [/font][/color][color=#0000BB][font=monospace]lDone[/font][/color][color=#007700][font=monospace].[/font][/color][color=#0000BB][font=monospace]LongName [/font][/color][color=#007700][font=monospace]wyskoczy tylko 1 marker a nie tak jak wcześniej cała grupa [/font][/color][color=#0000BB][font=monospace]
[/font][/color][color=#007700][font=monospace]>>>
[/font][/color][color=#0000BB][font=monospace]C3D[/font][/color][color=#007700][font=monospace]:[/font][/color][color=#0000BB][font=monospace]LBWT[/font][/color][color=#0000BB][font=monospace]
[/font][/color]

 

Chciałbym się dowiedzieć jak zamknąć taką pętlę aby wykonała się tylko i wyłącznie 1 raz i zduplikowała wszystkie markery w scenie.

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

Top Posters In This Topic

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

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności