Почему этот код для хранения мешей babylonjs вызывает ошибку? - PullRequest
0 голосов
/ 28 мая 2019

Я загружаю файл .obj, содержащий сетки цифр. Я хочу спрятать каждую сетку под ее именем, чтобы потом создавать экземпляры.

Код работает нормально, если я удаляю строку, которая фактически скрывает сетку в «оригиналах». Однако, когда я оставляю его в нем, создается впечатление, что исключение выдается и перехватывается внутри Babylon с сообщением «BJS - [12:17:50]: невозможно загрузить ресурсы из /threedee/InputMonoNumerics.obj: ошибка в обратном вызове onSuccess».

originals = {}
BABYLON.SceneLoader.LoadAssetContainer(assetPath, assetName, scene, (container) ->
  container.addAllToScene()
  for i in[0...scene.meshes.length]
    mesh = scene.meshes[i]
    if (mesh.name.startsWith('numeral'))
      character = mesh.name.charAt('numeral_'.length)
      originals["_#{character}"] = mesh
      console.log("This line is never reached.")
      mesh
)

Это исходный код, но переданный код выглядит точно так, как вы ожидаете

1 Ответ

1 голос
/ 30 мая 2019

Да - большое спасибо caffeinated.tech - очевидно (теперь вы упомянули об этом), попробуйте и поймайте, чтобы увидеть основную ошибку!

... то, что я добавил в отладочные операторысправка вызвала ошибку, вызвав JSON.stringify для объектов Babylon Mesh - которые являются круглыми - я думаю, потому что они имеют ссылку на своего родителя, который, конечно, имеет ссылку на Mesh.

Это больше неПонятно, в чем была изначальная проблема - но это не проблема.

...