应用场景:用于标记显示物体属性,如将一个三维坐标动态赋予给div标签。
借鉴threejs原理https://blog.csdn.net/qq_4174...
api文档
https://doc.babylonjs.com/api...
借鉴案例
https://www.babylonjs-playgro...
function ScreenToWorld(point, camera)
{
var viewport = camera.viewport.toGlobal(engine.getRenderWidth(), engine.getRenderHeight());
return BABYLON.Vector3.Unproject(new BABYLON.Vector3(point.x, point.y, 0), viewport.width, viewport.height, BABYLON.Matrix.Identity(), camera.getViewMatrix(), camera.getProjectionMatrix());
}
function worldToScreen(point, camera, scene,engine) {
return BABYLON.Vector3.Project(point,
BABYLON.Matrix.Identity(),
scene.getTransformMatrix(),
camera.viewport.toGlobal(engine.getRenderWidth(), engine.getRenderHeight()));
}
方法调用
//位置一定是模型的相对空间位置
carScene.registerBeforeRender(function () {
if(carScene.meshes[37]){
var pos = worldToScreen(carScene.meshes[37].absolutePosition,
carScene.activeCamera,carScene,carEngine);
$('#qundban').removeClass('hide').css({
'top': pos.y + 'px',
'left': pos.x + 'px'
});
}
})
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。