connectScreen.js 972 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import * as THREE from '../lib/three.module.js'
  2. import math from './math.js'
  3. class connectScreen extends THREE.EventDispatcher {
  4. constructor(app) {
  5. super()
  6. app.displayMode = 'panorama' //只能根据漫游点行走
  7. }
  8. init(panos) {
  9. //暂时共用一套漫游点
  10. panos = panos.map(e => {
  11. return {
  12. position: math.convertVector.YupToZup(e.position),
  13. quaternion: math.convertQuaternion.YupToZup(e.quaternion)
  14. }
  15. })
  16. }
  17. receive(data) {
  18. let quaternion, position
  19. if (data.quaternion) {
  20. quaternion = math.convertQuaternion.YupToZup(data.quaternion)
  21. }
  22. if (data.position) {
  23. position = math.convertVector.YupToZup(data.position)
  24. }
  25. app.setView({
  26. position,
  27. quaternion
  28. })
  29. }
  30. send() {
  31. let data = {}
  32. }
  33. }