BramStoutProductions / MiEx

A modern Minecraft Exporter
BSD 3-Clause "New" or "Revised" License
61 stars 9 forks source link

Extremely long import times when exporting with a resource pack. #18

Closed xboxer214 closed 7 months ago

xboxer214 commented 7 months ago

Has been about 10 minutes and am still at 43% on the USD import using Vanilla tweaks.

image image

BramStout commented 7 months ago

MiEx by default exports out into USD ASCII, which can cause slow downs, especially with large worlds. You can speed it up by pointing MiEx to a command-line tool called usdcat. This will allow MiEx to create binary USD files which can be much faster. You can read more about it here: https://github.com/BramStoutProductions/MiEx/wiki/6.-USD#usdcat Some applications that ship with USD, also ship with usdcat.

It could also take a while to import in the USD files because MiEx can generate many objects, which not all applications like. You can reduce the total amount of objects MiEx will generate by using bigger export chunks or by creating atlases, which will then reduce the total amount of textures used (because they get combined into atlases) and so also reduce the amount of objects.

xboxer214 commented 7 months ago

Sadly I don't have Maya or Houdini, so I'm out of luck when it comes to converting to USD Crate.

BramStout commented 7 months ago

You can always compile usdcat yourself. If you compile USD, then it will also create usdcat for you. You would need Visual Studio (the community version of free), but apart from that it should just be running a python file. https://github.com/PixarAnimationStudios/OpenUSD?tab=readme-ov-file#getting-and-building-the-code

USD will normally have a bin directory that contains usdcat and a lib directory that contains a bunch of files. Copy the contents of both directories into a folder called usdcat and place that folder next to the MiEx.jar file. That should place usdcat in the default search location that MiEx will look in, so you shouldn't have to set any environment variables.

It's obviously a bit trickier to compile it yourself, but it is doable.