Кнопки на sketchfab - это не кнопки 3D, а кнопки HTML, добавленные в виде слоя HTML поверх холста, который визуализирует 3D. в каждом кадре обновляется позиция HTML.
Что-то вроде этого:
https://www.babylonjs-playground.com/debug.html#JUKXQD # 344
Обратите внимание, что проекция происходит на каждом кадре:
scene.onBeforeRenderObservable.add(() => {
pointArray.forEach(point => {
// project from the stored picked point to the 2D screen)
var p = BABYLON.Vector3.Project(point.position,
BABYLON.Matrix.Identity(),
scene.getTransformMatrix(),
camera.viewport.toGlobal(scene.getEngine().getRenderHeight(), scene.getEngine().getRenderHeight()));
point.element.style.top = (p.y - point.element.offsetHeight / 2) + "px";
point.element.style.left = (p.x + point.element.offsetWidth) + "px";
})
});