收藏
回答

使用VKSession时如何获取camera的position?

使用的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本身就不会移动,还是需要我怎么处理呢?

回答关注问题邀请回答
收藏

2 个回答

  • 好名字
    好名字
    2022-01-08

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

    刚好你遇到了其中一个。

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

    只需要增加一行代码:

    camera.position.setFromMatrixPosition(camera.matrixWorld)


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

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

    2022-01-08
    有用 6
    回复
  • 舞蹈特色社团
    舞蹈特色社团
    2022-04-01

    这个距离是物体到相机的真实距离吗?如果不是,有么有什么办法取到真实世界的距离呢?

    2022-04-01
    有用
    回复
登录 后发表内容