I am working on a program that generates 3D models made up of instance meshes. Out of nowhere while working with it, all of the generated 3D objects added to the scene just do not display.
The program builds the 3D model and stores the parts in a object as seen here:
All of these instance meshes have visible set to true.
Within the index.js file I have the following code:
This then works with a function to generate materials and geometry based on data within the program that was already pre-generated:
I made a video showing my issue:
It sounds like fustrum culled issue
EDIT: to elaborate, objects outside of the camera fustrum are automatically not rendered, this can be an issue with certain models / geometries where normals are calculated in a different local space, setting the objects fustrum culled to false should render the objects regardless of wether or not they are outside of the cameras fustrum.
Here is the file that creates the Three.js scene.
This file has been truncated.
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
The objects themselves are within a few units of the camera and show be visible.
I set the frustrum of all objects to false but they are still not visible.
Actually the Geometry.boundingSphere dictates if the item is to be rendered or not.
I find using a video with user voice very refreshing. May I suggest adding highlight, line-number, and zoon-in effects to your video.
About the problem you having, if changing material to
Basic does not help, a JSFiddle with minimum coding would go along way.
Thank you for the advice. I used a JSFiddle and it turned out to be a missing geometry. I must’ve removed it while optimizing code.
It confused me because the instance meshes have geometry:
But I never passed one into the instance mesh (variable was undefined).
@Mugen87 , Is their a strict mode of Three.JS available that could help with debugging? If a geometry is passed into a mesh and it is undefined, it should stop the program.