使用VKSession时如何获取camera的position?
发布于 5 年前 作者 yaoqiang 2615 次浏览 来自 问答

使用的API: wx.createVKSession

微信版本号:8.0.16

基础库版本号:2.21.3

使用了官方提供的示例代码:https://developers.weixin.qq.com/s/NYZcIJmZ7cvJ

只在上述示例代码的页面index2/index.js之中,在render方法的最后面,增加了如下所示代码:

const distance = this.model.position.distanceTo(this.camera.position);

console.log(disatnce);

我们的功能需要计算出camera和3d模型的距离。但发现无论我怎么移动手机,distance的值是恒定的不变。

想了解一下,是camera本身就不会移动,还是需要我怎么处理呢?

1 回复

微信的官方示例代码,确实有很多的边缘情况并未处理。

刚好你遇到了其中一个。

camera是会移动的,只是position数据并不在camera.position上而已,而是在viewMatrix。

只需要增加一行代码:

camera.position.setFromMatrixPosition(camera.matrixWorld)

推荐一个插件,基本上解决了很多的问题,可以直接使用:

https://mp.weixin.qq.com/wxopen/plugindevdoc?appid=wx12ad8a61f049ea02

回到顶部