Symulator EU07 (i nie tylko) > Na warsztacie

 Skrypty do Blender-a

<< < (3/4) > >>

firleju:
Specyfikacja t3d nie ma takiego parametru.

Jeremi:
Stworzył mi się błąd i nie mam pojęcia z czym on jest związany i co poprawić aby działało;/

--- Kod: ---for face in mesh.polygons:
                    i = 0 #liczymy kazdy wierzcholek w kazdym face od 0 do 2
                    if face.use_smooth:
                        file.writelines(list_smooth_groups[0][face.index].__str__() + lend)
                    else:
                        file.writelines("0" + lend)
                    for vert_index in face.vertices:
                        tmp = list(mesh.vertices[vert_index].co.to_tuple())
                        if has_texture:
                            tmp.extend(mesh.uv_layers.active.data[face.loop_indices[i]].uv.to_tuple())
                        else:
                            tmp.extend((0,0))
                        file.writelines("%.6f %.6f %.6f %.6f %.6f \n" % tuple(tmp)[:])
                        i+=1

--- Koniec kodu ---
Jak rozumiem jest to powiązane z mapowaniem tekstur... Zaczęło się eksportować jak wywaliłem teksturę z materiału, tyle że teraz tekstura się nie nakłada w Maszynie. Miałem obiekt, który korzystał z materiału i tekstury w innym obiekcie ale nie miał zrobionego mapowania UV do tej tekstury, po dodaniu innego materiału, zaczęło działać.
Dodatkowo skrypt wywala się przy odznaczeniu widoczności obiektu.

firleju:
Nie miałeś zrobionego mapowania na teksturze. Na tym Ci wyłożył.

--- Kod: ---tmp.extend(mesh.uv_layers.active.data[face.loop_indices[i]].uv.to_tuple())
--- Koniec kodu ---
W tym przypadku błąd był w braku obecności obiektu uv_layers (NoneType) więc nie mógł się odwołać do active_data (rzutuje na aktywną mapę uv). Po dodaniu mapy UV będzie działać.
Pytanie: dodać zabezpieczenie? Bo szczerze nie za bardzo wiem jak exe będzie się zachowywać bez mapy.

Jeremi:
Jeżeli można dodać aby używało materiał źródłowy (kopiowało?) i nie korzystało z tekstury lub ją pomijało przy nie zmapowanym obiekcie, to może byłby w tym sens. Pytanie czy nie stworzy to problemu, że później nie będzie wiadomo czemu nie ma tekstur na obiektach. ;) Ewentualnie jeżeli dany obiekt nie ma mapowania, to jeżeli da się go zidentyfikować, to aby wywalało błąd który to obiekt.

firleju:
Wiesz, ja napisałem eksporter nie za bardzo wiedząc jak się z tego korzysta ;) Mogę ewentualnie zrobić w tym miejscu pułapkę i wyrzucać do log-a na którym obiekcie mi wywaliło. Nie wiem czy się uda z opisem błędu, no ale powiedzmy, że twórca już dojdzie po strukturze danych :D
  Dodano: 07 Lutego 2016, 21:35:35 Popatrzyłem sobie w kod. Jeśli się zdarzy taki błąd trzeba otworzyć konsolę (menu window) i tam jest napisany jaki obiekt jest aktualnie eksportowany. Może nawet lepiej, że się sypie. Jeśli komuś wadzić będzie to proszę sobie dopisać i wystawić w wątki dla potomności.

Nawigacja

[0] Indeks wiadomości

[#] Następna strona

[*] Poprzednia strona

Idź do wersji pełnej
Powered by Advanced Topic Prefix Pro
Powered by SMFPacks Likes Pro Mod