three+oimo实现三维打保龄球代码
代码语言:html
所属分类:三维
代码描述:three+oimo实现三维打保龄球代码,点击按钮发球。
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <style> html, body { background: black; margin: 0; padding: 0; font-family: verdana; overflow: hidden; } *, *:before, *:after { box-sizing: inherit; } canvas{ width: 100%; height: 100%; } button { position: fixed; bottom: 20px; right: 30px; outline: none; border: none; background: none; width: 50px; z-index: 100; } .button svg { width: 100%; fill: white; } #info{ position: absolute; bottom: 50px; left: 50%; transform: translateX(-50%); -webkit-transform: translateX(-50%); color:white; text-align: center; border: 3px solid white; border-radius: 3px; padding: 10px 20px; } #info:hover{ cursor: pointer; } </style> </head> <body translate="no"> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/three.124.js"></script> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/DeviceOrientationControls.126.js"></script> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/StereoEffect.js"></script> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/Projector.126.js"></script> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/jsonloader.126.js"></script> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/GLTFLoader.128.js"></script> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/oimo.1.0.9.js"></script> <div id="info">Click Me</div> <canvas id="container"></canvas> <!-- <button id='VR' class='button toggleVR' onclick='toggleVR()' title='Toggle VR Mode for Mobile Devices Only'> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" x="0px" y="0px" viewBox="0 0 62.7 52.375" enable-background="new 0 0 62.7 41.9" xml:space="preserve"><path d="M53.4,5.5h-44c-2.1,0-3.7,1.7-3.7,3.7v22.6c0,2.1,1.7,3.7,3.7,3.7h13.4c1.1,0,2.1-0.6,2.5-1.6l3-7.5c1.2-2.6,4.9-2.5,6,0.1 l2.6,7.3c0.4,1,1.4,1.7,2.5,1.7h13.9c2.1,0,3.7-1.7,3.7-3.7V9.3C57.2,7.2,55.5,5.5,53.4,5.5z M20.4,27c-3.2,0-5.7-2.6-5.7-5.7 s2.6-5.7,5.7-5.7s5.7,2.6,5.7,5.7S23.6,27,20.4,27z M42.4,27c-3.2,0-5.7-2.6-5.7-5.7s2.6-5.7,5.7-5.7s5.7,2.6,5.7,5.7 S45.6,27,42.4,27z"/><text x="0" y="56.9" fill="#000000" font-size="5px" font-weight="bold" font-family="'Helvetica Neue', Helvetica, Arial-Unicode, Arial, Sans-serif">Created by Nick Bluth</text><text x="0" y="61.9" fill="#000000" font-size="5px" font-weight="bold" font-family="'Helvetica Neue', Helvetica, Arial-Unicode, Arial, Sans-serif">from the Noun Project</text></svg> </button> --> <script > var player = { height: 75, speed: 3, turnSpeed: Math.PI * 0.02, canShoot: 0 }; //===================================================== canvas var canvas = document.getElementById("container"); var renderer = new THREE.WebGLRenderer({ canvas: canvas, precision: "mediump", antialias: true }); renderer.setSize(canvas.getBoundingClientRect().width, canvas.getBoundingClientRect().height); renderer.shadowMapEnabled = true; //Shadow renderer.shadowMapSoft = true; // Shadow renderer.shadowMapType = THREE.PCFShadowMap; //Shadow //===================================================== camera var scene = new THREE.Scene(); var camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 10000); camera.position.set(0, player.height, -525); camera.lookAt(new THREE.Vector3(0, player.height, 0)); //=========================================================================================== add VR renderer.setPixelRatio(window.devicePixelRatio); //VR var effect = new THREE.StereoEffect(renderer); //VR effect.setSize(window.innerWidth, window.innerHeight); //VR var VR = false; function toggleVR() { if (VR) { VR = false; camera.rotation.reorder('ZYX'); camera.lookAt(0, 0, 0); } else { VR = true; controls = new THREE.DeviceOrientationControls(camera); requestFullscreen(document.documentElement); } renderer.setSize(window.innerWidth, window.innerHeight); } //=======================================.........完整代码请登录后点击上方下载按钮下载查看
网友评论0