使用 socket.io 旋转相机和广播

问题描述

我在 Babylon.js 中使用 express + socket.io 上传模型。模型上传得很好,并在所有客户端的场景中播放。现在我想更新所有场景中相机的旋转。例如,如果客户端 1 旋转相机,则客户端 2 应获取旋转后的相机的变换并将其应用于其相机。我该怎么做?

我正在使用这里的示例:

https://babylonjs.medium.com/share-3d-models-with-websockets-demo-a54f401c7f69

我该如何处理?

index.html

var camera = new BABYLON.FreeCamera('camera1',new BABYLON.Vector3(0,5,-10),scene);

//more code

scene.onBeforeRenderObservable.add(() => { //Gets called each frame
        socket.emit('modelRotate');
        updateModel(scene);
      })

socket.on('modelRotate',function () {
        updateModel(scene);
      });

function updateModel(scene) {
      camera.node.rotation = new BABYLON.Vector3(camera.node.rotation.x,camera.node.rotation.y,camera.node.rotation.z);

    }

index.js

//More code

  socket.on('modelRotate',() => {
    socket.broadcast.emit('modelRotate');
  });

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)