three实现三维飞行孤岛小人行走动画效果代码
代码语言:html
所属分类:三维
代码描述:three实现三维飞行孤岛小人行走动画效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<style>
/**
* Author: Vinces
* Website: https://vinces.io
* v.0.1
*/
@import url("https://fonts.googleapis.com/css?family=BenchNine");
html,
body {
margin: 0;
padding: 0;
overflow: hidden;
font-family: BenchNine, sans-serif;
}
.world {
background: #2980b9;
/* fallback for old browsers */
background: -webkit-linear-gradient(to bottom, #2980b9, #6dd5fa, #ffffff);
/* Chrome 10-25, Safari 5.1-6 */
background: linear-gradient(to bottom, #2980b9, #6dd5fa, #ffffff);
/* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
}
.input-group {
position: absolute;
top: 5%;
right: 5%;
padding: 1rem;
color: black;
font-size: 18px;
z-index: 999;
}
.input-group > * {
display: block;
}
.input-group > * + * {
margin-top: 0.5rem;
}
.copy {
margin: 15px;
font-size: 14px;
font-weight: bold;
color: black;
position: absolute;
bottom: 0;
left: 0%;
z-index: 999;
}
.copy a {
color: #2980b9;
text-decoration: none;
font-size: 16px;
}
</style>
</head>
<body >
<canvas data-canvas class="world"></canvas>
<div class="input-group">
<label for="bothAngle">Move Character (Wip)</label>
<input type="range" min="-90" max="90" value='0' data-input-both id="bothAngle">
</div>
<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/three.123.js"></script>
<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/OrbitControls.min.js"></script>
<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/Stats-16.js"></script>
<script >
var container = { width: window.innerWidth, height: window.innerHeight };
/**
* HELPERS
* ------------------------------------------------------------------------
*/
// Rotate arms / legs
const degreesToRadians = degrees => {
return degrees * (Math.PI / 180);
};
// Add shadow support to object
const shadowSupport = group => {
group.traverse(object => {
if (object instanceof THREE.Mesh) {
object.castShadow = true;
object.receiveShadow = true;
}
});
};
// Get random number
const randomize = (min, max, float = false) => {
const val = Math.random() * (max - min) + min;
if (float) {
return val;
}
return Math.floor(val);
};
// Box Helper
const boxHelperSupport = group => {
const box = new THREE.BoxHelper(group, 0xffff00);
scene.add(box);
};
// Random MORE VERTICES
const map = (val, smin, smax, emin, emax) => (emax - emin) * (val - smin) / (smax - smin) + emin;
const jitter = (geo, per) => geo.vertices.forEach(v => {
v.x += map(Math.random(), 0, 1, -.........完整代码请登录后点击上方下载按钮下载查看
















网友评论0