Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conversion error (after >1 hour of converting) #33

Closed
mflux opened this issue Nov 24, 2016 · 2 comments
Closed

Conversion error (after >1 hour of converting) #33

mflux opened this issue Nov 24, 2016 · 2 comments
Labels

Comments

@mflux
Copy link

mflux commented Nov 24, 2016

Here is what I'm trying to convert: https://dl.dropboxusercontent.com/u/705999/Paris.zip

Command I ran
node node_modules/obj2gltf/bin/obj2gltf.js "Paris2010_0.obj" model.gltf -s

After seemingly stuck converting, I decided to let it run for the rest of the day. After about 1.5 hours or so, a js error finally came up:

    { Error
        at new DeveloperError (c:\Users\Flux\Documents\assetdev\Paris\node_modules\cesium\Source\Core\DeveloperError.js:44:19)
        at Object.Tipsify.tipsify (c:\Users\Flux\Documents\assetdev\Paris\node_modules\cesium\Source\Core\Tipsify.js:189:19)
        at Object.GeometryPipeline.reorderForPostVertexCache (c:\Users\Flux\Documents\assetdev\Paris\node_modules\cesium\Source\Core\GeometryPipeline.js:433:40)
        at optimizeForVertexCache (c:\Users\Flux\Documents\assetdev\Paris\node_modules\gltf-pipeline\lib\optimizeForVertexCache.js:93:38)
        at Function.Pipeline.processJSONWithExtras (c:\Users\Flux\Documents\assetdev\Paris\node_modules\gltf-pipeline\lib\Pipeline.js:95:5)
        at c:\Users\Flux\Documents\assetdev\Paris\node_modules\gltf-pipeline\lib\Pipeline.js:177:29
        at tryCatcher (c:\Users\Flux\Documents\assetdev\Paris\node_modules\gltf-pipeline\node_modules\bluebird\js\release\util.js:16:23)
        at Promise._settlePromiseFromHandler (c:\Users\Flux\Documents\assetdev\Paris\node_modules\gltf-pipeline\node_modules\bluebird\js\release\promise.js:504:31)
        at Promise._settlePromise (c:\Users\Flux\Documents\assetdev\Paris\node_modules\gltf-pipeline\node_modules\bluebird\js\release\promise.js:561:18)
        at Promise._settlePromise0 (c:\Users\Flux\Documents\assetdev\Paris\node_modules\gltf-pipeline\node_modules\bluebird\js\release\promise.js:606:10)
        at Promise._settlePromises (c:\Users\Flux\Documents\assetdev\Paris\node_modules\gltf-pipeline\node_modules\bluebird\js\release\promise.js:685:18)
        at Promise._fulfill (c:\Users\Flux\Documents\assetdev\Paris\node_modules\gltf-pipeline\node_modules\bluebird\js\release\promise.js:630:18)
        at Promise._resolveCallback (c:\Users\Flux\Documents\assetdev\Paris\node_modules\gltf-pipeline\node_modules\bluebird\js\release\promise.js:425:57)
        at Promise._settlePromiseFromHandler (c:\Users\Flux\Documents\assetdev\Paris\node_modules\gltf-pipeline\node_modules\bluebird\js\release\promise.js:516:17)
        at Promise._settlePromise (c:\Users\Flux\Documents\assetdev\Paris\node_modules\gltf-pipeline\node_modules\bluebird\js\release\promise.js:561:18)
        at Promise._settlePromise0 (c:\Users\Flux\Documents\assetdev\Paris\node_modules\gltf-pipeline\node_modules\bluebird\js\release\promise.js:606:10)
        at Promise._settlePromises (c:\Users\Flux\Documents\assetdev\Paris\node_modules\gltf-pipeline\node_modules\bluebird\js\release\promise.js:685:18)
        at Promise._fulfill (c:\Users\Flux\Documents\assetdev\Paris\node_modules\gltf-pipeline\node_modules\bluebird\js\release\promise.js:630:18)
        at PromiseArray._resolve (c:\Users\Flux\Documents\assetdev\Paris\node_modules\gltf-pipeline\node_modules\bluebird\js\release\promise_array.js:125:19)
        at PromiseArray._promiseFulfilled (c:\Users\Flux\Documents\assetdev\Paris\node_modules\gltf-pipeline\node_modules\bluebird\js\release\promise_array.js:143:14)
        at Promise._settlePromise (c:\Users\Flux\Documents\assetdev\Paris\node_modules\gltf-pipeline\node_modules\bluebird\js\release\promise.js:566:26)
        at Promise._settlePromise0 (c:\Users\Flux\Documents\assetdev\Paris\node_modules\gltf-pipeline\node_modules\bluebird\js\release\promise.js:606:10)
      name: 'DeveloperError',
      message: 'indices length must be a multiple of three.',
      stack: 'Error\n    at new DeveloperError (c:\\Users\\Flux\\Documents\\assetdev\\Paris\\node_modules\\cesium\\Source\\Core\\DeveloperError.js:44:19)\n    at Object.Tipsify.tipsify (c:\\Users\\Flux\\Documents\\assetdev\\Paris\\node_modules\\cesium\\Source\\Core\\Tipsify.js:189:19)\n    at Object.GeometryPipeline.reorderForPostVertexCache (c:\\Users\\Flux\\Documents\\assetdev\\Paris\\node_modules\\cesium\\Source\\Core\\GeometryPipeline.js:433:40)\n    at optimizeForVertexCache (c:\\Users\\Flux\\Documents\\assetdev\\Paris\\node_modules\\gltf-pipeline\\lib\\optimizeForVertexCache.js:93:38)\n    at Function.Pipeline.processJSONWithExtras (c:\\Users\\Flux\\Documents\\assetdev\\Paris\\node_modules\\gltf-pipeline\\lib\\Pipeline.js:95:5)\n    at c:\\Users\\Flux\\Documents\\assetdev\\Paris\\node_modules\\gltf-pipeline\\lib\\Pipeline.js:177:29\n    at tryCatcher (c:\\Users\\Flux\\Documents\\assetdev\\Paris\\node_modules\\gltf-pipeline\\node_modules\\bluebird\\js\\release\\util.js:16:23)\n    at Promise._settlePromiseFromHandler (c:\\Users\\Flux\\Documents\\assetdev\\Paris\\node_modules\\gltf-pipeline\\node_modules\\bluebird\\js\\release\\promise.js:504:31)\n    at Promise._settlePromise (c:\\Users\\Flux\\Documents\\assetdev\\Paris\\node_modules\\gltf-pipeline\\node_modules\\bluebird\\js\\release\\promise.js:561:18)\n    at Promise._settlePromise0 (c:\\Users\\Flux\\Documents\\assetdev\\Paris\\node_modules\\gltf-pipeline\\node_modules\\bluebird\\js\\release\\promise.js:606:10)\n    at Promise._settlePromises (c:\\Users\\Flux\\Documents\\assetdev\\Paris\\node_modules\\gltf-pipeline\\node_modules\\bluebird\\js\\release\\promise.js:685:18)\n    at Promise._fulfill (c:\\Users\\Flux\\Documents\\assetdev\\Paris\\node_modules\\gltf-pipeline\\node_modules\\bluebird\\js\\release\\promise.js:630:18)\n    at Promise._resolveCallback (c:\\Users\\Flux\\Documents\\assetdev\\Paris\\node_modules\\gltf-pipeline\\node_modules\\bluebird\\js\\release\\promise.js:425:57)\n    at Promise._settlePromiseFromHandler (c:\\Users\\Flux\\Documents\\assetdev\\Paris\\node_modules\\gltf-pipeline\\node_modules\\bluebird\\js\\release\\promise.js:516:17)\n    at Promise._settlePromise (c:\\Users\\Flux\\Documents\\assetdev\\Paris\\node_modules\\gltf-pipeline\\node_modules\\bluebird\\js\\release\\promise.js:561:18)\n    at Promise._settlePromise0 (c:\\Users\\Flux\\Documents\\assetdev\\Paris\\node_modules\\gltf-pipeline\\node_modules\\bluebird\\js\\release\\promise.js:606:10)\n    at Promise._settlePromises (c:\\Users\\Flux\\Documents\\assetdev\\Paris\\node_modules\\gltf-pipeline\\node_modules\\bluebird\\js\\release\\promise.js:685:18)\n    at Promise._fulfill (c:\\Users\\Flux\\Documents\\assetdev\\Paris\\node_modules\\gltf-pipeline\\node_modules\\bluebird\\js\\release\\promise.js:630:18)\n    at PromiseArray._resolve (c:\\Users\\Flux\\Documents\\assetdev\\Paris\\node_modules\\gltf-pipeline\\node_modules\\bluebird\\js\\release\\promise_array.js:125:19)\n    at PromiseArray._promiseFulfilled (c:\\Users\\Flux\\Documents\\assetdev\\Paris\\node_modules\\gltf-pipeline\\node_modules\\bluebird\\js\\release\\promise_array.js:143:14)\n    at Promise._settlePromise (c:\\Users\\Flux\\Documents\\assetdev\\Paris\\node_modules\\gltf-pipeline\\node_modules\\bluebird\\js\\release\\promise.js:566:26)\n    at Promise._settlePromise0 (c:\\Users\\Flux\\Documents\\assetdev\\Paris\\node_modules\\gltf-pipeline\\node_modules\\bluebird\\js\\release\\promise.js:606:10)' }

Any ideas on what could be going wrong? It's not that big of an obj (around 40 mb with 30 mb of textures).

@lilleyse
Copy link
Contributor

Something seems to be breaking in the optimizeForVertexCache stage of gltf-pipeline, which obj2gltf uses.

Whether or not there's an easy fix for that, we plan on adding an option to not optimize the gltf. This will significantly speed up conversion times. For something like this it should be less than a minute with that option.

@lilleyse
Copy link
Contributor

Partially fixed in #49 since gltf-pipeline is now off by default and it will not break at this stage.

A separate issue with this file is some faces have more than 4 vertices. There's a new issue open for that: #55

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants