Usando el marco Cesium para implementar panorama
En los últimos días, necesito cargar panoramas en escenas tridimensionales en el trabajo. He buscado en línea antes y todo lo que he hecho es combinarlos con otros marcos, como PhotoSphereViewer. Pero cuando necesitamos mejorar la visualización de datos (como la nube de puntos y la superposición panorámica) en un proyecto de Cesium, parece estar más allá de nuestras capacidades. Después de todo, PhotoSphereViewer se implementa en función de tres js. para controlar la cámara de Cesium y la cámara threejs. Por lo tanto, para lograr de manera más efectiva la superposición perfecta de la escena y el panorama en Cesium, Cesium necesita cargar el panorama. Quizás la superposición de la que hablo sea un poco abstracta, así que déjame explicarla con una imagen.
Una ventaja de superponerlo con datos de nubes de puntos es que cuando los datos de la nube de puntos se ven de cerca, la nube de puntos es relativamente escasa y la forma no se puede ver claramente en este momento, combinada con el panorama. el modelo en sí se puede presentar más claramente.
Entonces, ¿cómo cargar panoramas en cesio? En realidad es muy simple, resumido en los siguientes pasos:
1. Usa EllipsoidGeometry para dibujar una bola
2. Aplica textura a la bola, porque cuando la aplicamos, generalmente adjuntamos a la pelota La superficie, pero cuando la miramos, la perspectiva es desde el interior de la pelota hacia el exterior, por lo que necesitamos invertir la textura
3. Fija la posición de la cámara como el punto central de la bola, para que pueda girar. Haga clic y mire a su alrededor
He publicado el sombreador de textura utilizado aquí para su referencia:
Finalmente, aquí hay una representación superpuesta: p>