Skocz do zawartości

Featured Replies

Napisano

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 :>

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

Top Posters In This Topic

Napisano

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.

Napisano
  • Autor

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

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

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności