微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决使用 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 举报,一经查实,本站将立刻删除。