three实现鼠标按住不放可加速的高速彩色线条流光动画效果代码
代码语言:html
所属分类:动画
代码描述:three实现鼠标按住不放可加速的高速彩色线条流光动画效果代码
代码标签: three 鼠标 按住 不放 加速 高速 彩色 线条 流光 动画 代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Night Highway</title>
<style>
body {
margin: 0;
overflow: hidden;
background-color: #000;
}
canvas {
display: block;
}
#instructions {
position: absolute;
top: 20px;
width: 100%;
text-align: center;
color: rgba(255, 255, 255, 0.5);
font-family: sans-serif;
pointer-events: none;
z-index: 10;
transition: opacity 0.5s;
}
</style>
</head>
<body>
<div id="instructions">Hold mouse or touch to speed up</div>
<script type="importmap">
{
"imports": {
"three": "https://unpkg.com/three@0.160.0/build/three.module.js",
"three/addons/": "https://unpkg.com/three@0.160.0/examples/jsm/"
}
}
</script>
<script type="module">
import * as THREE from 'three';
import { EffectComposer } from 'three/addons/postprocessing/EffectComposer.js';
import { RenderPass } from 'three/addons/postprocessing/RenderPass.js';
import { UnrealBloomPass } from 'three/addons/postprocessing/UnrealBloomPass.js';
// --- Configuration ---
const config = {
distortion: "turbulentDistortion",
length: 400,
roadWidth: 10,
islandWidth: 2,
lanesPerRoad: 4,
fov: 90,
fovSpeedUp: 150,
speedUp: 2,
carLightsFade: 0.4,
totalSideLightSticks: 20,
lightPairsPerRoadWay: 40,
shoulderLinesWidthPercentage: 0.05,
brokenLinesWidthPercentage: 0.1,
brokenLinesLengthPercentage: 0.5,
lightStickWidth: [0.12, 0.5],
lightStickHeight: [1.3, 1.7],
movingAwaySpeed: [60, 80],
movingCloserSpeed: [-120, -160],
carLightsLength: [400 * 0.03, 400 * 0.2],
carLightsRadius: [0.05, 0.14],
carWidthPercentage: [0.3, 0.5],
carShiftX: [-0.8, 0.8],
carFloorSeparation: [0, 5],
colors: {
roadColor: 526344,
islandColor: 657930,
background: 0,
shoulderLines: 16777215,
brokenLines: 16777215,
leftCars: [14177983, 6770850, 12732332],
rightCars: [242627, 941733, 3294549],
sticks: 242627
}
};
// --- Utility Functions ---
const randomInRange = (val) => Array.isArray(val) ? Mat.........完整代码请登录后点击上方下载按钮下载查看















网友评论0