babylon.js实现三维矩阵火燃烧动画效果代码

代码语言:html

所属分类:动画

代码描述:babylon.js实现三维矩阵火燃烧动画效果代码

代码标签: babylon.js 三维 矩阵 燃烧 动画

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

<!DOCTYPE html>
<html lang="en">

<head>

    <meta charset="UTF-8">

    <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/babylon-min.js"></script>
    <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/babylonjs.loaders.js"></script>
    <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/pep.js"></script>
    <meta name="viewport" content="width=device-width, initial-scale=1">



    <style>
        html,
        body {
          font: 1em sans-serif;
          overflow: hidden;
          width: 100%;
          height: 100%;
          margin: 0;
          padding: 0;
        }
        
        #renderCanvas {
          width: 100%;
          height: 100%;
          touch-action: none;
        }
        
        a {
          color: red;
        }
        
        #madeby {
          position: fixed; 
          left: 0; 
          bottom: 0; 
          background-color: #3c3c3c;
          color: white;
          padding: 0.7rem;
          border-top-right-radius: 8px;
        }
    </style>



</head>

<body>
    <canvas id="renderCanvas" touch-action="none"></canvas>



    <script>
        /*
    * References:
    * - https://fabiensanglard.net/doom_fire_psx/index.html
    * - https://github.com/filipedeschamps/doom-fire-algorithm
    */
    const canvas = document.getElementById('renderCanvas')
    const engine = new BABYLON.Engine(canvas, true)
    
    const fireWidth = 40
    const fireHeight = 40
    const fireVoxels = []
    const fireVoxelsIntensities = []
    
    const firePallete =  [
      [7, 7, 7],
      [31, 7, 7],
      [47, 15, 7],
      [71, 15, 7],
      [87, 23, 7],
      [103, 31, 7],
      [119, 31, 7],
      [143, 39, 7],
      [159, 47, 7],
      [175, 63, 7],
      [191, 71, 7],
      [199, 71, 7],
      [223, 79, 7],
.........完整代码请登录后点击上方下载按钮下载查看

网友评论0