旋转相机并使用socket.io进行广播

xkftehaa  于 2021-09-29  发布在  Java
关注(0)|答案(0)|浏览(249)

我正在使用bebylon.js中的express+socket.io上传一个模型。该模型可以很好地上传,并在客户的所有场景中播放。现在我想更新所有场景中相机的旋转。例如,如果客户端1旋转摄影机,则客户端2应获取旋转摄影机的变换并将其应用于其摄影机。我该怎么做?
我使用的例子如下:
https://babylonjs.medium.com/share-3d-models-with-websockets-demo-a54f401c7f69
我该如何处理这件事?
index.html

  1. var camera = new BABYLON.FreeCamera('camera1', new BABYLON.Vector3(0, 5, -10), scene);
  2. //more code
  3. scene.onBeforeRenderObservable.add(() => { //Gets called each frame
  4. socket.emit('modelRotate');
  5. updateModel(scene);
  6. })
  7. socket.on('modelRotate', function () {
  8. updateModel(scene);
  9. });
  10. function updateModel(scene) {
  11. camera.node.rotation = new BABYLON.Vector3(camera.node.rotation.x, camera.node.rotation.y, camera.node.rotation.z);
  12. }

index.js

  1. //More code
  2. socket.on('modelRotate', () => {
  3. socket.broadcast.emit('modelRotate');
  4. });

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题