spline-3d-integration - REACT_INTEGRATION
React / Next.js / Vue 集成React / Vite安装npminstallsplinetool/react-spline基本用法import Spline from splinetool/react-spline; export default function App() { return ( div style{{ width: 100%, height: 100vh }} Spline scenehttps://prod.spline.design/REPLACE_ME/scene.splinecode / /div ); }带对象交互 事件监听器import { useRef } from react; import Spline from splinetool/react-spline; export default function App() { const splineRef useRef(); function onLoad(splineApp) { splineRef.current splineApp; } function triggerAnimation() { splineRef.current.emitEvent(mouseHover, Cube); } function onSplineEvent(e) { console.log(Object interacted:, e.target.name); } return ( div Spline scenehttps://prod.spline.design/REPLACE_ME/scene.splinecode onLoad{onLoad} onMouseDown{onSplineEvent} / button onClick{triggerAnimation}Trigger/button /div ); }懒加载推荐用于性能优化import { lazy, Suspense } from react; const Spline lazy(() import(splinetool/react-spline)); export default function Hero() { return ( Suspense fallback{div style{{ background: #0a0a0a, width: 100%, height: 100vh }} /} Spline scenehttps://prod.spline.design/REPLACE_ME/scene.splinecode / /Suspense ); }Next.js安装npminstallsplinetool/react-spline使用/next导入以获得 SSR 支持 自动模糊占位import Spline from splinetool/react-spline/next; export default function Page() { return ( Spline scenehttps://prod.spline.design/REPLACE_ME/scene.splinecode / ); }使用动态导入如果遇到水合错误import dynamic from next/dynamic; const Spline dynamic(() import(splinetool/react-spline/next), { ssr: false, loading: () div style{{ background: #0a0a0a, width: 100%, height: 100vh }} / }); export default function Page() { return Spline scenehttps://prod.spline.design/REPLACE_ME/scene.splinecode /; }Vue安装npminstallsplinetool/vue-splinetemplate Spline scenehttps://prod.spline.design/REPLACE_ME/scene.splinecode spline-loadedonLoaded mouseDownonClick / /template script import Spline from splinetool/vue-spline; export default { components: { Spline }, methods: { onLoaded(spline) { const obj spline.findObjectByName(Cube); obj.position.x 10; // NOTE: radians for rotation, not degrees }, onClick(e) { console.log(Clicked:, e.target.name); } } } /script全页背景Reactimport Spline from splinetool/react-spline; import { useState } from react; export default function HeroSection() { const [loaded, setLoaded] useState(false); // Skip Spline on mobile / low-end devices const isMobile typeof window ! undefined window.innerWidth 768; const isLowEnd typeof navigator ! undefined navigator.hardwareConcurrency 2; return ( div style{{ position: relative, width: 100vw, height: 100vh }} {/* Fallback background — always rendered, hidden once Spline loads */} div style{{ position: absolute, inset: 0, background: #0a0a0a, zIndex: 0, opacity: loaded ? 0 : 1, transition: opacity 0.5s ease }} / {/* Spline scene — only load on capable devices */} {!isMobile !isLowEnd ( Spline scenehttps://prod.spline.design/REPLACE_ME/scene.splinecode onLoad{() setLoaded(true)} style{{ position: absolute, top: 0, left: 0, width: 100%, height: 100%, zIndex: 0 }} / )} {/* Content sits on top */} div style{{ position: relative, zIndex: 1 }} h1Your Content Here/h1 /div /div ); }React 属性参考Prop类型说明scenestring场景 URL必填onLoadfunction加载完成时调用参数为 splineApponMouseDownfunction在对象上按下鼠标/触摸onMouseUpfunction鼠标/触摸释放onMouseHoverfunction悬停在对象上onKeyDownfunction按键按下onKeyUpfunction按键释放onStartfunction场景开始onScrollfunction滚动事件styleobject画布的 CSS 样式classNamestringCSS 类名完成前请参阅 PERFORMANCE.md 和 COMMON_PROBLEMS.md。

相关新闻

Java麻将胡牌算法:组合约束求解与状态压缩DP实现

Java麻将胡牌算法:组合约束求解与状态压缩DP实现

简介:本资源是一套面向Java游戏开发与AI算法学习者的麻将核心算法实现合集,聚焦胡牌判定、AI决策、查胡校验、手牌评估及智能出牌五大关键模块,适用于希望深入理解棋牌类游戏逻辑、提升算法工程能力的中高级开发者。压缩包共52个文件&#xf…

2026/10/18 23:30:30 阅读更多 →
零基础入门ProE模型练习:从临摹100例到独立设计

零基础入门ProE模型练习:从临摹100例到独立设计

简介:这是一套面向Pro/E初学者与进阶者的实战模型练习合集,围绕参数化三维建模的核心技能展开,帮助读者在动手实践中熟悉旋转、扫描、曲面操作等常用特征,逐步建立从简单几何体到复杂装配的设计思路。资源包共352个文件&#xff0…

2026/10/18 23:29:30 阅读更多 →
YOLOv11集成CoT Attention:小目标检测精度提升实战

YOLOv11集成CoT Attention:小目标检测精度提升实战

1. 从 YOLOv8 换到 YOLOv11,我为什么非要折腾注意力机制先交代一下背景。之前我的检测项目一直跑在 YOLOv8 上,模型大小、推理速度、精度都调到了一个相对满意的状态。但去年的目标检测榜单里,YOLOv11 相继放出来后,COCO 精度又往…

2026/10/18 23:29:30 阅读更多 →

最新新闻

AI原生开发平台架构规划与落地实操指南

AI原生开发平台架构规划与落地实操指南

做技术交流的时候,被问得最多的一个问题,差不多就是标题这句:AI原生开发平台到底是什么、架构怎么规划、怎么落地。说实话,每次回答完我都觉得还有话没说完,因为这三个问题其实是层层递进的——概念不清就谈不上规划&a…

2026/10/19 7:38:21 阅读更多 →
diagram-design:从草图到可维护图示系统的设计方法论

diagram-design:从草图到可维护图示系统的设计方法论

1. 从一张草图到一套系统:diagram-design 到底在解决什么问题第一次听到“diagram-design”这个词,很多人会以为它只是“画图工具”的另一个说法。但真正在项目里摸爬滚打过的人都知道,图这件事从来不是“画出来”那么简单。它背后牵扯的是信…

2026/10/19 7:38:21 阅读更多 →
MCP 三种传输方式全解析:stdio、SSE、Streamable HTTP 选型实战

MCP 三种传输方式全解析:stdio、SSE、Streamable HTTP 选型实战

聊 MCP 的三种传输方式之前,先承认一件事:大多数人在看 MCP 文档的时候,最容易卡住的就是传输层这一节。stdio、SSE、Streamable HTTP 三个词单独拎出来都认识,合在一起却不知道它们为什么同时存在、各自解决什么问题。这不怪你&a…

2026/10/19 7:38:21 阅读更多 →
AI论文降重指令实战:6类提示词破解查重与AIGC检测

AI论文降重指令实战:6类提示词破解查重与AIGC检测

2025年的毕业季明显比前几年多了一道坎:不只是查重率,还多了AI检测。我身边好几个准备答辩的朋友,论文初稿写得很顺,结果一查重,标红一片;好不容易把重复率压下来了,送审前又被提醒“部分段落机…

2026/10/19 7:38:21 阅读更多 →
rea模块开发指南:从命名解析到高复用架构设计与性能优化

rea模块开发指南:从命名解析到高复用架构设计与性能优化

1. 从“rea”这个标题说起:一个被低估的通用缩写第一次看到“rea”这个标题的时候,我脑子里蹦出来的第一反应是——这大概率又是一个被缩写玩坏了的项目名。在技术圈混久了你会发现,越是短到只有三个字母的标题,背后藏的东西往往越…

2026/10/19 7:38:21 阅读更多 →
diagram-design:从设计令牌到语义化图表的系统化设计方法

diagram-design:从设计令牌到语义化图表的系统化设计方法

1. 从一张草图到一套系统:diagram-design 到底在解决什么问题第一次听到 “diagram-design” 这个词,很多人会以为它只是“画图工具”的另一个说法。但真正在项目里被图表折磨过的人知道,问题从来不是“画不出来”,而是“画得乱、…

2026/10/19 7:37:20 阅读更多 →

日新闻

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

简介:本资源为电源技术方向的学术研究文档,聚焦介质阻挡放电型臭氧发生器电源的频率跟踪型PWM控制策略,面向电力电子、高压电源及臭氧应用领域的科研人员与工程技术人员。针对负载呈容性、等效电容随外加电压升高而增大、谐振频率随之漂移的难…

2026/10/19 0:00:47 阅读更多 →
Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 0:00:47 阅读更多 →
HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

【免费下载链接】HundredCV-Chat 项目地址: https://ai.gitcode.com/hf_mirrors/Jax-dan/HundredCV-Chat 点击查看 免费下载 HundredCV-Chat 是一个由 100 位青年简历数据开发而来的中文多轮对话数据集,共包含 24,750 组日常闲聊对话和 4,871 个话题标签…

2026/10/19 0:00:47 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/19 1:30:52 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 2:54:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →