three实现三维紫色六边形网格墙伸缩动画效果代码
代码语言:html
所属分类:动画
代码描述:three实现三维紫色六边形网格墙伸缩动画效果代码
代码标签: three 三维 紫色 六边形 网格 墙 伸缩 动画
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<style>
body {
overflow: hidden;
margin: 0;
}
</style>
</head>
<body>
<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/three.133.js"></script>
<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/OrbitControls.133.js"></script>
<script type="module" >
let scene = new THREE.Scene();
let camera = new THREE.PerspectiveCamera(75, innerWidth / innerHeight, 1, 1000);
camera.position.set(5, -3, 0).setLength(5);
let renderer = new THREE.WebGLRenderer({antialias: true});
renderer.setSize(innerWidth, innerHeight);
renderer.setClearColor(new THREE.Color(1, 0.875, 0.75));
document.body.appendChild(renderer.domElement);
let controls = new THREE.OrbitControls(camera, renderer.domElement);
controls.enableDamping = true;
controls.enablePan = false;
controls.minPolarAngle = THREE.MathUtils.degToRad(75);
controls.maxPolarAngle = THREE.MathUtils.degToRad(105);
controls.minAzimuthAngle = THREE.MathUtils.degToRad(75);
controls.maxAzimuthAngle = THREE.MathUtils.degToRad(105);
controls.minDistance = 5;
controls.maxDistance = 10;
let light = new THREE.DirectionalLight(0xffffff, 1);
light.position.set(13, 8, 0);
scene.add(light, new THREE.AmbientLight(0xffffff, 0.5));
const circleCount = 50;
let baseG = new THREE.CylinderGeometry(0.5, 0.5, 1, 6);
baseG.translate(0, 0.5, 0);
for(let i = 0; i < baseG.attributes.uv.count; i++){
baseG.attributes.uv.setY(i, baseG.attribute.........完整代码请登录后点击上方下载按钮下载查看
网友评论0