body {
  margin: 0;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
}
/*
* https://deck.gl/docs/api-reference/core/orbit-view
*/
const {DeckGL, OrbitView, SimpleMeshLayer} = deck;
const {PLYLoader} = loaders;

new DeckGL({
  views: new OrbitView({
    orbitAxis: 'Y',
    // fovy: 50,
    // near: 0.1,
    // far: 1000,
    // orthographic: false
  }),
  initialViewState: {
    target: [0, 175, 0],
    zoom: -0.5,
    rotationOrbit: 145,
    rotationX: 65,
    minRotationX: -90,
    maxRotationX: 90,
    minZoom: -10,
    maxZoom: 10
  },
  controller: true,
  
  layers: [
    new SimpleMeshLayer({
      data: [0],
      mesh: 'https://raw.githubusercontent.com/visgl/deck.gl-data/master/examples/point-cloud-ply/lucy100k.ply',
      getPosition: [0, 0, 0],
      getColor: [200, 200, 200],
      loaders: [PLYLoader]
    })
  ]
});
  

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

  1. https://unpkg.com/@loaders.gl/ply@^3.0.0/dist/dist.min.js
  2. https://unpkg.com/deck.gl@latest/dist.min.js