Export from 3Ds Max to Standard material (and not PBR)

This is probably related to something else (and not the rotation). Want to share a scene for me to check?

My guess is that it is happening due to the pointerMove predicate (the constant rays sent in the direction of the laser pointer), but will be good to see a scene where it reduces the performance in such a way.

That’s corect, when I disable them with “xr.pointerSelection.detach();” it fixes it.
The controller pointing also has a sphere that shows up when you point at something, so this can also be some internal raycasting issue.

I cleaned up and uploaded the project for you here to take a look if you want: https://drive.google.com/file/d/1P7yFjRRfInRV72U6W4rUAWwX8851Nhp7
You can run a local https server via the “startServer.bat”. There’s a temp ssl in there. Then you can access it at https://[your local IP here]:8080/ . On line 95 you can see the current work around.

this is happening due to the complecity of the loaded meshes, and the fact that they are pickable. It is not because of the rotation, but because your models are all lower than the camera.

Set the meshes’ isPickable property to false, and you will stay at 72fps

The pointer selector is meant to be a selector for UI and “simple” objects, especially due to the fact that it is constantly casting rays into the scene. Of course, disabling it will not run the function and therefore will not reduce performance.

All in all, it is a feature you CAN use, but don’t have to.

I always thought of the default of true for isPickable seemed backwards, and possibly doing stuff I never asked it to do. Have just switched it to false for Blender, at least for myself.

Do not have a Quest at this point, so I keep a close eye on all topics involving them. Supply is vary flaky, so may need to take the plunge when the opportunity arises. Has anyone seen predictions that a $200 controller-less model is coming out soon? Guess you can add them on. Think this is to go along with arm tracking.

1 Like

This works well. In 3Ds Max Babylonjs Object properties there’s a toggle called “Pickable” which is toggled off before export, but I think it’s ignored. I added “meshes[meshIndex].isPickable = false;” to my loader mesh loop and now it’s not necesary to disable the controller selection via “xr.pointerSelection.detach();”. This is very good because in the future I will add some UI elements to control via the controller. @RaananW thank you for pointing this out!

2 Likes

Some other things which might help on a very small device is in the area of memory. The GPU on the SOC appears to be a Adreno 540. The amount of onboard RAM is 1mb. Seems like KTX textures could be a help here. While I have never seen much of any performance effect of KTX on my desktop, might worth looking into for small devices.

There is a playground which will tell you which compressed texture format to use. https://www.babylonjs-playground.com/index.html#1SCH7H#5

1 Like

Very useful playground!

So then what type did you get selected for Quest? Hopefully it is not PNG. That is the fallback when no compress texture format extensions are available.

ASTC. I’m using the newly released Texture exporter tool from Nvidia.

1 Like

That’s the one I was hoping.