three实现音频三维液态噪点可视化动画代码
代码语言:html
所属分类:三维
代码描述:three实现音频三维液态噪点可视化动画代码,可调节参数。
代码标签: three 音频 三维 液态 噪点 可视化 动画 代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Liquid Noise - Audio Reactive</title>
<style>
@import "https://fonts.googleapis.com/css2?family=Rajdhani:wght@500;600;700&family=Sora:wght@400;500;600&display=swap";
:root {
--bg-0: #171c25;
--bg-1: #1b212b;
--bg-2: #212936;
--ui-main-color: #3a3b42;
--surface: color-mix(in srgb, var(--ui-main-color) 82%, #0f1621);
--surface-hi: color-mix(in srgb, var(--ui-main-color) 90%, #ffffff);
--surface-lo: color-mix(in srgb, var(--ui-main-color) 66%, #0f1621);
--line: rgba(138, 157, 188, .16);
--line-strong: rgba(154, 173, 205, .24);
--text: #d5deeb;
--folder-title-color: #d2dbe9;
--muted: #8692a8;
--accent: #a8d2ff;
--slider-fill: #a8d2ff;
--ui-scale: 1;
--radius-panel: clamp(14px, calc(22px * var(--ui-bevel-strength)), 34px);
--radius-button: clamp(8px, calc(13px * var(--ui-bevel-strength)), 22px);
--elev-x: 8px;
--elev-y: 8px;
--elev-blur: 16px;
--elev-alpha: .58;
--hint-center-x: 50%
}
* { box-sizing: border-box }
html, body, #app { width: 100%; height: 100%; margin: 0 }
body {
overflow: hidden;
font-family: Sora, Segoe UI, sans-serif;
color: var(--text);
background: radial-gradient(120% 120% at 20% 12%, rgba(255,255,255,.05), transparent 44%),
radial-gradient(130% 130% at 84% 88%, rgba(101,132,185,.1), transparent 48%),
linear-gradient(155deg, var(--bg-0), var(--bg-1) 52%, var(--bg-2))
}
.app-shell { position: relative; width: 100%; height: 100% }
.app-shell:before {
content: "";
position: absolute;
inset: 0;
z-index: 0;
pointer-events: none;
background-image: linear-gradient(rgba(255,255,255,.015) 1px, transparent 1px),
linear-gradient(90deg, rgba(255,255,255,.015) 1px, transparent 1px);
background-size: 24px 24px;
opacity: .34
}
.viewport { position: absolute; inset: 0; z-index: 1 }
.viewport-canvas { display: block; width: 100%; height: 100%; outline: none; }
.overlay {
position: absolute;
inset: 0;
z-index: 2;
pointer-events: none;
display: flex;
flex-direction: column;
justify-content: space-between;
padding: 1rem
}
.panel-dock {
--ui-hide-btn-size: clamp(2.51rem, calc(2.84rem * var(--ui-scale)), 3.19rem);
position: relative;
width: fit-content;
pointer-events: none;
}
.panel-dock .panel, .panel-dock .ui-visibility-btn { pointer-events: auto }
.panel {
position: relative;
display: flex;
flex-direction: column;
gap: 0;
width: min(calc((470px * var(--ui-width-scale)) / var(--ui-scale)), 95vw);
max-height: calc((100vh - 2rem) / var(--ui-scale));
overflow-x: hidden;
overflow-y: auto;
pointer-events: auto;
transform-origin: top left;
transform: scale(var(--ui-scale));
border-radius: var(--radius-panel);
border: 1px solid var(--line);
background: linear-gradient(165deg, var(--surface-hi), var(--surface));
box-shadow: calc(var(--elev-x) * 2) calc(var(--elev-y) * 2) calc(var(--elev-blur) * 2) rgba(8,12,18,var(--elev-alpha)),
-12px -12px 28px #ffffff0a,
inset 1px 1px #ffffff14,
inset -1px -1px #00000061;
padding: 0 .94rem 0;
animation: panel-in .46s ease-out both;
}
.panel-dock[data-ui-hidden="true"] .panel {
transform: translate(calc(-100% - 1.1rem)) scale(var(--ui-scale));
opacity: .95;
pointer-events: none
}
.ui-visibility-btn {
position: absolute;
top: clamp(.7rem, calc(.84rem * var(--ui-scale)), 1.14rem);
left: clamp(.28rem, calc(.36rem * var(--ui-scale)), .58rem);
width: var(--ui-hide-btn-size);
min-height: var(--ui-hide-btn-size);
height: var(--ui-hide-btn-size);
padding: 0;
border-radius: var(--radius-button);
display: flex;
align-items: center;
justify-content: center;
z-index: 8;
.........完整代码请登录后点击上方下载按钮下载查看
















网友评论0