Skocz do zawartości

polyop vertex flags


mpiechota

Rekomendowane odpowiedzi

napisałem funkcję, która z założenia zaznacza wszystkie fejsy (face) przylegające do zaznaczonych edżów (edge) obiektów Editable Poly. Działa ok... wszystko ładnie... tylko czasem nie zaznaczy jakiegoś fejsa (face). Poszukałem błędu. Oto on:

 

tkwi w wartości level flags dla niektórych edżów (edge)

 

kawałek z MaxScript Listenera

 

polyop.getEdgeFlags poly 89

> 65545

polyop.setEdgeFlags poly 89 1

> OK

polyop.getEdgeFlags poly 89

> 65545

polyop.setEdgeFlags poly 89 0

> OK

polyop.getEdgeFlags poly 89

> 0

polyop.setEdgeFlags poly 89 1

> OK

polyop.getEdgeFlags poly 89

> 65545

 

Co to (niecenzuralne słowo) jest? :>

Bo zdębiałem.

Wyciąg z helpa:

 

bit 1: vertex is selected

bit 2: vertex is dead

bit 3: reserved

bit 4: indicates the vertex faces "backwards" in the current viewport

bit 5-24: reserved

bit 25-32: available for general use

 

i tak jest dla większości edżów :> czyli 1 dla zaznaczonych

0 dla nie zaznaczonych

To co to jest to 65545 dla niektórych zaznaczonych, bo ja nawet w google tego nie znalazłem :)

No i najważniejsze pytanie: Czemu ja tego nie mogę ustawić na 1??????

 

Wiecej szczegolow (chociaz niepotrzebnych):

obiekt: pionowy słup editable poly z poprzesuwanymi skryptem vertexami = 1/4 sklepienia krzyżowego

zaznaczony jest jeden edge i nastepnie edgeloop, no i jeden edge ma wartosc 65545 :>

w razie czego moge calosc skryptu wrzucic :>

Odnośnik do komentarza
Udostępnij na innych stronach

  • Odpowiedzi 2
  • Created
  • Ostatniej odpowiedzi

Top Posters In This Topic

Top Posters In This Topic

Troche poeksperymentowalem z get i setEdgeFlags ale nie udalo mi sie odtworzyc takiego bledu. Moze sprobuj po kazdm setEdgeFlags odswiezyc scene, mozliwe ze trzeba wymusic na obiekcie update jakiejs jego wewnetrznej informacji.

Odnośnik do komentarza
Udostępnij na innych stronach

Może coś z moją maszyną nie tak... no nie wiem...

 

testowałem to kilka razy i oznaczenie flagi po restarcie kompa dalej jest jakieś dziwne typu 63732 albo po kolejnym restarcie 63552

może jakiś bug

 

W każdym bądź razie problem omijam na razie tak:

- żeby dowiedzieć się czy krawęź jest zaznaczona

if (edge_flag == 1 or edge_flag > 32) do bla bla bla

 

i skrypt działa niezależnie od błędu

ale nie lubię takiej nieprzewidywalności

 

i tak dziękuję za pomoc

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