playcanvas制作3d地球

代码语言:html

所属分类:其他

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">

<title>ISS Tracker (PlayCanvas)</title>

<style>
  body {
  overflow: hidden;
  background-color: #000;
}

canvas {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#logo {
  z-index: 2;
  position: fixed;
  padding: 24px;
  top: 0;
  right: 0;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
</style>

</head>
<body translate="no">

<script type="text/javascript" src="http://repo.bfw.wiki/bfwrepo/js/playcanvas-1.22.0.js"></script>
<script >
      /**********************************************
* UTILS
**********************************************/
const fetchData = async endpoint => {
  const res = await fetch(endpoint);

  if (res.ok) {
    const data = await res.json();
    return data;
  }

  throw new Error('unexpected status', response);
};

const applyMaterialTextures = (textures, material, assetPrefix = 'root', cb) => {
  let count = 0;
  Object.entries(textures).forEach(([property, url], i, l) => {
    const asset = new pc.Asset(`${assetPrefix}-${property}`, 'texture', { url });
    app.assets.add(asset);
    app.assets.load(asset);
    asset.ready(() => {
      count++;
      material[property] = asset.resource;
      if (count === l.length) {
        if (typeof cb === 'function') cb(material);
      }
    });
  });
};

/**********************************************
      * SETUP
      * ---------------------------------------------
      * create canvas and add it to the DOM
      * create app and attach canvas and inputs
      * enable crossorigin asset loading
      * setup window resize listeners
      * setup canvasFillMode, canvasResolution
      * load slighly higher res sphere model
      **********************************************/
const canvas = document.createElement('canvas');
document.body.appendChild(canvas);

c.........完整代码请登录后点击上方下载按钮下载查看

网友评论0