threejs打造三维草坪效果
代码语言:html
所属分类:三维
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <style> body { background-color: #fff; margin: 0; overflow: hidden; } .label { position: absolute; top: 0; left: 0; padding: 5px 15px; color: #fff; font-size: 13px; background-color: rgba(0, 0, 0, .15); } .instructions { position: absolute; bottom: 0%; left: 0; padding: 5px 15px; color: #fff; font-size: 13px; background-color: rgba(0, 0, 0, .15); } canvas { display: block; } </style> </head> <body> <canvas id="canvas"></canvas> <div class="label"> GRASS </div> <div class="instructions"> DRAG TO MOVE CAMERA </div> <script type="text/javascript" src="http://repo.bfw.wiki/bfwrepo/js/three.js"></script> <script src="http://repo.bfw.wiki/bfwrepo/js/OrbitControls.js"></script> <script src="http://repo.bfw.wiki/bfwrepo/js/perlin.js"></script> <script type="text/javascript" src="http://repo.bfw.wiki/bfwrepo/js/stats-min.js"></script> <script> var canvas = document.getElementById("canvas"); var TWO_PI = Math.PI * 2; const mobile = (navigator.userAgent.match(/Android/i) || navigator.userAgent.match(/webOS/i) || navigator.userAgent.match(/iPhone/i) || navigator.userAgent.match(/iPod/i) || navigator.userAgent.match(/BlackBerry/i) || navigator.userAgent.match(/Windows Phone/i)); //Variables for blade mesh var joints = 5; var w_ = 0.12; var h_ = 1; //Patch side length var width = 120; //Number of blades var instances = 50000; if (mobile) { instances = 10000; width = 50; } //Camera rotate var rotate = false; //Initialise three.js var scene = new THREE.Scene(); var renderer = new THREE.WebGLRenderer({ antialias: true, canvas: canvas }); renderer.setPixelRatio(window.devicePixelRatio); renderer.setSize(window.innerWidth, window.innerHeight); renderer.setClearColor(0x66deff, 1); distance = 400; var FOV = 2 * Math.atan(window.innerHeight / (2 * distance)) * 90 / Math.PI; //Camera var camera = new THREE.PerspectiveCamera(FOV, window.innerWidth / window.innerHeight, 1, 20000); camera.position.set(-50, 10, 50); scene.add(camera); window.addEventListener('resize', onWindowResize, false); function onWindowResize() { camera.aspect = window.innerWidth / window.innerHeight; camera.updateProjec.........完整代码请登录后点击上方下载按钮下载查看
网友评论0