- Symulator MaSzyna -
Symulator EU07 (i nie tylko) => Na warsztacie => Wątek zaczęty przez: firleju w 18 Maja 2015, 22:29:26
-
Witam,
Widząc pewne zapotrzebowanie wziąłem się za temat skryptów do eksportu modeli z Blendera do MaSzyny. W obecnej chwili działa eksport typu Mesh, jednak wielce prawdopodobne jest, że posiada on błędy dlatego w tej chwili jeszcze nie zostanie udostępniony.
Jeśli ktoś chce dostać skrypt do testów w takiej wersji jakiej jest proszę o PW.
Dodano: 19 Maja 2015, 18:27:46
Pytanie do modelarzy. Czy w projektach używa się obiektów typu Point? Bo Light owszem i to będzie.
-
Modelarz ze mnie żaden, ale z tego co się orientuję to Point Pivot i Point Helper jest jak najbardziej używany.
-
Czy w baaardzo odległych planach jest stworzenie skryptów do tworzenia scnenerii, eksportu i importu do .scm?
-
Plany obejmują eksport modeli. Do tworzenia scenerii powinny być inne narzędzia. Jak ktoś będzie się chciał szarpnąć to proszę bardzo.
-
Eksporter nabiera rumieńców. W związku z tym, że jestem na L4 to mam chwilkę na dokończenie projektu. Dzisiaj opanowałem automatyczną triangulację obiektów w trakcie eksportu, która nie dotyka samego obiektu. Do ustalenia z modelarzami jest czy parametry tekstury mają być brane z materiału czy z tekstury, gdyż się powtarzają.
Dodano: 03 Czerwca 2015, 09:39:39
Udostępniam skrypty w takiej wersji jakie są. Eksportują obiekty typu mesh oraz lamp.spotlight.
Dodano: 03 Czerwca 2015, 20:25:48
Jeszcze mała uwaga: działa na wersji 2.74 i późniejszych.
Dodano: 03 Czerwca 2015, 21:51:32
Poprawka na brak przypisanego pliku do tekstury powodujący wysyp. W takiej sytuacji będzie traktowane jako brak tekstury.
Powinno już działać także na wersjach wcześniejszych.
-
Wiem, że pewnie nie ma prawa działać, ale i tak sprawdziłem. Na wersji 2.43 nie działa. Pobiorę nowszą tj 2.74 i sprawdzę.
-
Min. wersja to jest ta z nowym interfejsem użytkownika.
Sposób instalacji: File->User preferences. W dolnym lewym rogu jest "Install from file". W górnym lewym rogu jest wyszukiwarka. Można tam wpisać maszyna i powinno nam pokazać zainstalowany skrypt. Jeśli jest ptaszek to wtedy jest aktywny.
Jeśli będzie poprawka to można zainstalować w ten sam sposób. Przeładowanie skyrptu odbywa się przez odkliknięcie i ponowne kliknięcie ptaszka lub restart blendera.
-
Jeszcze jedna poprawka na brak tekstury. Teraz sprawdza jeszcze czy tekstura jest typu "Image or videoclip".
Dodatkowo poprawka na brak zapisu exportu do pliku jeśli projekt nie został zapisany. Poprawnie też przechowuje nazwę exportu.
-
Hej,
Dzięki za skrypt. Tylko mam dwa pytania. Co się dzieje gdy w opcjach mesha w dziale Normals zaznaczy się Double Sided? Bo efektu nie widać w scenerii. Jest to kwestia maszyny czy nie eksportowania tej wartości?
Pozdrawiam.
Reg. obowiązki 16.
Pisz poziomo. Poprawiłem.
Benek
-
Maszyna nie obsługuje dwustronnego renderowania trójkątów. Trzeba je dublować z odwróconymi normalnymi.
-
Specyfikacja t3d nie ma takiego parametru.
-
Stworzył mi się błąd i nie mam pojęcia z czym on jest związany i co poprawić aby działało;/
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
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.
-
Nie miałeś zrobionego mapowania na teksturze. Na tym Ci wyłożył.
tmp.extend(mesh.uv_layers.active.data[face.loop_indices[i]].uv.to_tuple())
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.
-
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.
-
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.
-
Dzień dobry
Chciałbym zapytać czy ma pan skrypt do tarczy ostrzegawczej przejazdowej,gdyż bardzo to mi potrzebne><?
Reg. zakazy 10.
Pisz staranniej.
Benek
-
A co to jest skrypt tarczy ostrzegawczej? Jeśli Ci się bardzo spieszy, to możesz wstawić zwykłą tarczę ostrzegawczą i podmienić wpisy plików INC.
-
Skrypt służy do eksportu modeli. Nie ma w nim możliwości eksportu trasy, scenerii ani żadnych innych tego typu rzeczy.
-
Sorki pomyliło mi się chodziło mi o model do blendera.
Może pan ma bo mi potrzebne.
-
Ja w ogóle nie modeluję. Jestem tylko marnym programistą. Jako, że skrypty istnieją stosunkowo niedługo to liczba modeli wykonana w blenderze nie jest za wysoka. Można ewentualnie pokusić się o import z innych programów. Ja osobiście nie mam żadnych modeli.