@Evgeni_Popov This might not be enough information to go off of, but based off the conversation
I had done some work for Frame where it parses our environments automatically converting the instances to thin instances. Which is working for most situations. But now we have ran into a specific setup where not matter what we do the instances will not propagate but it works perfectly in a PG.
One thing that I noticed is that the seats all come up as “Negative:Negative” in the parser in the PG,
But in our Frame environment (which mind you in both the PG and in Frame the parent node has the same matrix) they come up as “Negative:Positive” which seems rather odd.
This is rather odd, as it works in all our other environments.
I know this is not a ton of information to go off of, but any insight as to what to look into would make me most grateful. Currently I’m thinking it something with the invertedBaseMesh not property rendering its instances, it shows up itself.
It looks like the world matrices could be wrong, as matrices with determinant == 0 will end up in the positive array… Can you debug it and see what the world matrices look like when you dispatch the instances in the negative/positive arrays? Also, try to call mesh.computeWorldMatrix(true) for all meshes to be sure their world matrix is up to date. If you have a live link somewhere, I could try to investigate further.
This is the environment. If you need any more information in the logs let me know Ill have to redeploy. There is a button at the top to open the inspector.
However, I can’t find how to set a breakpoint in Babylon.js code, as I can’t see Babylon sources in the “Sources” pane of Chrome? I tried to step into globalThis.scene.render() but I ended up in a wasm module…
Also, where is your code which converts all meshes to thin instances?
So, the world matrices of the meshes are incorrect: if you call computeWorldMatrix(true) on all meshes before looping over them in AutoThinInstancePlugin.Parse, it works: