这是一款神经元信号传导的 3D 模拟场景,基于 Three.js 的自定义着色器、UnrealBloom 辉光后处理与粒子系统构建。中央是带凹凸质感的胞体,四周伸出十几条弯曲分叉的树突,拖动鼠标可自由环绕观察;点击画面任意位置触发一次电信号,光脉冲从输入端一路推进到胞体,胞体随即"放电"点亮整个结构。左侧 HUD 面板同步刷新膜电位、传导状态与信号强度,配合扫描线、暗角和自定义光标,是很扎实的科幻终端质感。
这款神经元 3D 可视化特效好在哪
结构是算出来的,不是建模的:每次刷新树突走向都不一样,不依赖任何外部模型文件。
发光靠后处理而非贴图:辉光随信号强度实时变化,脉冲经过哪里哪里才亮。
数据面板与 3D 联动:膜电位从 −70mV 冲到 +40mV 再回落,是跟着动画进度算出来的曲线。
单页运行、无后端依赖,配色与文案都在明面上,二次改造成本低。
WebGL 辉光与信号传导动画是怎么实现的
其一,树突是程序化生成的。它不是美术资源,而是先用随机游走生成主干曲线,再在主干的中段随机长出若干次级分支,分支粗细按剩余长度递减,末端自然收细,因此每次打开画面都不重样。想让神经元更繁茂,源码里只需调整一处循环次数。
其二,整条传导只靠一个数字驱动。脉冲位置是一个浮点 uniform,着色器拿它与当前片元的世界坐标比对,算出"离脉冲多远",再决定亮度与颜色;菲涅尔边缘光叠多层噪声,撑起细胞膜的流动质感:
float fresnel = pow(1.0 - max(dot(vNormal, viewDir), 0.0), 3.0);
几何体全程一动不动,每帧只更新一个数,所以画面这么复杂,性能开销却很小。
其三,HUD 与场景共用一套状态机。待机、传导中、放电、可再次触发四个阶段由同一个状态变量推进,面板上的电位数值、进度条和提示语都是这个状态的派生结果,不存在动画和数据对不上的情况。
怎么改成自己的配色与数据面板
三个文件即可运行。辉光强度、扩散范围在脚本顶部的后处理配置里集中定义,调低即可适配低配设备;结构主色由着色器中的调色函数控制,改一组参数就能从青蓝换成任意色系。
HUD 面板的标签文字在 HTML 里是普通元素,各阶段提示语在脚本的状态机中集中管理,源码已按模块分段并加注释,替换成自己的业务指标(比如设备状态、数据流量)也很直接。树突数量与粒子密度同样是可调参数。
运行提示:Three.js 与后处理模块通过 importmap 引入,字体走在线字体服务,需以本地服务器方式打开且首次加载需联网,详细运行方法请参见压缩包内的帮助文档。辉光后处理对显卡有一定要求,低配设备建议调低辉光强度。
关于这款神经元特效的常见问题
对电脑配置要求高吗?
辉光后处理是全屏渲染,对显卡有一定要求。近几年的独显或核显都能流畅运行;如果在老设备上发现掉帧,把辉光强度和树突数量调低即可明显改善,两个参数都在脚本顶部。
能改成其他配色吗?
可以。默认是青蓝科技风,结构主色由着色器里的调色函数控制,改一组参数就能整体换色;HUD 面板、扫描线、暗角的颜色则在样式表里,属于常规 CSS 改动。
可以做成自动循环播放吗?
可以。目前是点击触发一次传导,动画状态机跑完会回到待机。加一个定时器周期性触发同一个入口即可变成自动循环,适合无人值守的展厅大屏。
面板上的数据能换成自己的指标吗?
能。膜电位、传导状态这些标签在 HTML 里是普通文本,数值由状态机集中派发,换成设备温度、流量、进度等业务指标只需替换取值来源,布局不用动。
适用场景
适合生物医学科普、科研机构展示、科技展厅大屏、AI 与脑机接口类产品概念页,也可作为深色科技风网站的首屏背景。需 WebGL 支持,完整源码下载后可本地运行调试。