Podczas eksportowania modeli 3ds max do Three.js użyciu skryptu [convert_obj_three.py][1]
, mały stopień automatyzacji można osiągnąć za pomocą następującego polecenia w cmd promt:
cd C:\Python27 &
python convert_obj_three.py -i _obj\chromeBand.obj -o _json\chromeBand.js &
python convert_obj_three.py -i _obj\controlPanelCover.obj -o _json\controlPanelCover.js
Napisałem skrypt 3ds max, który wydrukuje polecenie skryptu phyton dla wielu modeli, a także json z odpowiednimi wzorcami adresów i współrzędnych. Json jest przydatny do umieszczania wielu modeli w prawidłowej pozycji w scenie.
(
local inputPath = "D:\Archive\Work\_Dev\_Convert\Obj\\"
local outputPath = "C:\Server\htdocs\viewer\assets\models\my-project\\"
local jsonPath = "assets/models/my-project/"
local myListEntry = "\n"
for o in selection do
(
myListEntry +=
"\"" + o.name + "\": {\n" +
"\t\"url\": \"" + jsonPath + o.name + ".js\",\n" +
"\t\"position\": {\n" +
"\t\t\"x\": \"" + o.position.x as string + "\",\n" +
"\t\t\"y\": \"" + o.position.z as string + "\",\n" +
"\t\t\"z\": \"" + (o.position.y * -1) as string + "\"\n" +
"\t}\n" +
"},\n"
)
myListEntry += "\n\n\n=== Run this using cmd promt: ===\n"
myListEntry += "cd C:\Python27 &\n"
for o in selection do
(
myListEntry += "python D:\Archive\Work\_Dev\_Convert\convert_obj_three.py -i " +
inputPath + o.name + ".obj -o " +
outputPath + o.name + ".js & \n"
)
myListEntry += "exit \n"
print myListEntry
actionMan.executeAction 0 "40472"
)
- Utwórz nowy plik txt, zmień jego nazwę na
coordinates.mcr
i przeciągnij plik do okna programu 3ds Max. Automatycznie otworzy okno MaxScript Listener i wydrukuje wyniki. Skopiuj wklej polecenie Pythona w cmd. Użyj wydrukowanego json do załadowania swoich modeli w projekcie.
- Skrypty można również przypisać do przycisków na paskach narzędzi 3dsMax, aby uzyskać szybki dostęp.
- Powyższy skrypt może wymagać dalszych modyfikacji. To nie jest najlepsze rozwiązanie, ale przynajmniej przyspiesza, z nadzieją. Skrypt
- Skorzystaj Jos Balcaen za exporting obj files in batch (3ds max)
Edit:
Po eksperymentach trochę ze skryptem Zrobiłem konfigurację, która pozwala mi eksportować swoje modele (licząc ponad 20) w ciągu 1 minuty od 3ds max, aby otworzyć kartę przeglądarki. Oczywiście, być może trzeba dostosować wyjście json do swoich potrzeb. Mam nadzieję, że okaże się to przydatne.
możliwe duplikat [Jak mogę przekonwertować plik maya do pliku json i używać go z three.js] (http://stackoverflow.com/questions/14919219/how-could-i-convert-a-maya-file-into-a-json-file-and-use-it-with-three-js) ... prosto z paska bocznego. –
lub, od konwersji na obj, można użyć OBJLoader lub OBJMTLLoader do załadowania go prosto do three.js – gaitat
ive wypróbowałem OBJLoader bt otrzymuję błąd typu: THREE.MTLLoader nie jest ramieniem. Ale OBJLoader jest dołączony – user2259103