<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Vite on 拾光集</title>
        <link>https://www.tood.win/tags/vite/</link>
        <description>Recent content in Vite on 拾光集</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh</language>
        <lastBuildDate>Thu, 27 Aug 2026 12:53:55 +0800</lastBuildDate><atom:link href="https://www.tood.win/tags/vite/index.xml" rel="self" type="application/rss+xml" /><item>
            <title>ITom Dev：可在浏览器中行走的开源 3D WebGL 作品集</title>
            <link>https://www.tood.win/posts/itom-dev-ke-zai-liu-lan-qi-zhong-hang-zou/</link>
            <pubDate>Mon, 03 Aug 2026 19:57:00 +0800</pubDate>
            <guid>https://www.tood.win/posts/itom-dev-ke-zai-liu-lan-qi-zhong-hang-zou/</guid>
            <description>&lt;p&gt;ITom Dev 是一个开源的沉浸式 3D 开发者作品集。它没有采用常见的卡片式简历页面，而是把个人介绍、项目案例和联系方式放进了一条可以交互探索的手绘走廊中。&lt;/p&gt;&#xA;&lt;p&gt;访问者可以在浏览器里移动视角，进入 Gallery、Studio、About 和 Contact 等不同房间，查看作者的项目、个人介绍与联系方式。项目由 Tomasz “ITom” Szmajda 开发，源码已经公开在 GitHub。&lt;/p&gt;&#xA;&lt;h2 id=&#34;项目特色&#34;&gt;项目特色&#xA;&lt;/h2&gt;&lt;p&gt;ITom Dev 最特别的地方，是把传统作品集的信息结构改造成了一个可探索的 3D 空间。&lt;/p&gt;&#xA;&lt;p&gt;主要特点包括：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;手绘铅笔风格的墙面、门、走廊和作品画框&lt;/li&gt;&#xA;&lt;li&gt;可在浏览器中移动和切换房间&lt;/li&gt;&#xA;&lt;li&gt;使用 WebGL 实时渲染 3D 场景&lt;/li&gt;&#xA;&lt;li&gt;使用 GSAP 控制转场和交互动画&lt;/li&gt;&#xA;&lt;li&gt;根据设备性能调整分辨率、抗锯齿和纹理加载&lt;/li&gt;&#xA;&lt;li&gt;为搜索引擎提供独立的语义化 HTML 内容&lt;/li&gt;&#xA;&lt;li&gt;支持桌面端和移动端访问&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;ITom Dev：可在浏览器中行走的开源 3D WebGL 作品集&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://www.tood.win/uploads/2026/08/QQ20260803-200045-18147cd1.jpg&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;它比较适合用来制作：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;前端开发者个人作品集&lt;/li&gt;&#xA;&lt;li&gt;创意设计师个人网站&lt;/li&gt;&#xA;&lt;li&gt;WebGL 项目展示页面&lt;/li&gt;&#xA;&lt;li&gt;互动式个人简历&lt;/li&gt;&#xA;&lt;li&gt;数字艺术展览或品牌展示网站&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;主要技术栈&#34;&gt;主要技术栈&#xA;&lt;/h2&gt;&lt;p&gt;项目主要使用以下前端技术：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;React&lt;/li&gt;&#xA;&lt;li&gt;Vite&lt;/li&gt;&#xA;&lt;li&gt;Three.js&lt;/li&gt;&#xA;&lt;li&gt;React Three Fiber&lt;/li&gt;&#xA;&lt;li&gt;GSAP&lt;/li&gt;&#xA;&lt;li&gt;WebGL&lt;/li&gt;&#xA;&lt;li&gt;GLSL Shader&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;ITom Dev：可在浏览器中行走的开源 3D WebGL 作品集&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://www.tood.win/uploads/2026/08/QQ20260803-195943-60f953f4.jpg&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;其中，React Three Fiber 用于在 React 中组织和管理 Three.js 场景，GSAP 负责页面动画与交互过渡，WebGL 和 GLSL Shader 则用于实现实时渲染和特殊视觉效果。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;ITom Dev：可在浏览器中行走的开源 3D WebGL 作品集&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://www.tood.win/uploads/2026/08/QQ20260803-195954-27848691.jpg&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;本地部署教程&#34;&gt;本地部署教程&#xA;&lt;/h2&gt;&lt;h3 id=&#34;1-准备运行环境&#34;&gt;1. 准备运行环境&#xA;&lt;/h3&gt;&lt;p&gt;建议先安装：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Git&lt;/li&gt;&#xA;&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.tood.win/tags/node-js/&#34; &gt;Node.js&lt;/a&gt; 20 或更高版本&lt;/li&gt;&#xA;&lt;li&gt;npm&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;可以通过下面的命令检查版本：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git --version&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;node --version&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm --version&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;h3 id=&#34;2-克隆-github-仓库&#34;&gt;2. 克隆 GitHub 仓库&#xA;&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git clone https://github.com/ITomPoland/portfolio-itom.git&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; portfolio-itom&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;h3 id=&#34;3-安装项目依赖&#34;&gt;3. 安装项目依赖&#xA;&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm install&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;h3 id=&#34;4-启动开发服务器&#34;&gt;4. 启动开发服务器&#xA;&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm run dev&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;启动成功后，根据终端提示打开本地地址，通常为：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;http://localhost:5173&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;h3 id=&#34;5-测试生产版本&#34;&gt;5. 测试生产版本&#xA;&lt;/h3&gt;&lt;p&gt;项目包含较多高清纹理和 WebGL 资源，开发模式下第一次加载可能需要等待几秒。&lt;/p&gt;&#xA;&lt;p&gt;需要测试接近正式部署环境的性能时，可以运行：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm run build&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm run preview&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;官方 README 也建议在测试性能时使用生产构建，而不是只观察开发模式下的加载速度。&lt;/p&gt;&#xA;&lt;h2 id=&#34;浏览器设置建议&#34;&gt;浏览器设置建议&#xA;&lt;/h2&gt;&lt;p&gt;&lt;img alt=&#34;ITom Dev：可在浏览器中行走的开源 3D WebGL 作品集&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://www.tood.win/uploads/2026/08/QQ20260803-200033-95deb485.jpg&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;由于项目依赖 WebGL 实时渲染，建议在 Chrome、Edge 或其他现代浏览器中开启硬件加速。&lt;/p&gt;&#xA;&lt;p&gt;以 Chrome 为例：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;打开浏览器设置。&lt;/li&gt;&#xA;&lt;li&gt;进入“系统”。&lt;/li&gt;&#xA;&lt;li&gt;开启“使用图形加速功能”。&lt;/li&gt;&#xA;&lt;li&gt;重启浏览器。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;如果电脑显卡性能较弱，或者浏览器关闭了硬件加速，可能出现加载缓慢、动画掉帧或纹理显示异常。&lt;/p&gt;&#xA;&lt;h2 id=&#34;二次开发需要修改哪些内容&#34;&gt;二次开发需要修改哪些内容&#xA;&lt;/h2&gt;&lt;p&gt;这个项目可以作为 3D 作品集的技术基础，但不建议直接修改几段文字后上线。&lt;/p&gt;&#xA;&lt;p&gt;至少需要替换以下内容：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;作者姓名和个人介绍&lt;/li&gt;&#xA;&lt;li&gt;头像与个人照片&lt;/li&gt;&#xA;&lt;li&gt;项目封面和案例图片&lt;/li&gt;&#xA;&lt;li&gt;联系方式与社交账号&lt;/li&gt;&#xA;&lt;li&gt;房间中的介绍文字&lt;/li&gt;&#xA;&lt;li&gt;品牌名称和 Logo&lt;/li&gt;&#xA;&lt;li&gt;3D 纹理与手绘素材&lt;/li&gt;&#xA;&lt;li&gt;网站标题、描述和 &lt;a class=&#34;link&#34; href=&#34;https://www.tood.win/tags/seo/&#34; &gt;SEO&lt;/a&gt; 信息&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;还需要检查代码中是否存在作者自己的统计工具、接口地址、Sanity 配置、社交链接或部署环境变量。&lt;/p&gt;&#xA;&lt;h2 id=&#34;许可证与素材版权&#34;&gt;许可证与素材版权&#xA;&lt;/h2&gt;&lt;p&gt;项目程序代码采用 MIT License，可以在遵守许可证要求的前提下使用、修改和发布。&lt;/p&gt;&#xA;&lt;p&gt;但需要特别注意：MIT 许可证主要适用于仓库中的程序代码，并不代表作者的所有素材都可以自由使用。&lt;/p&gt;&#xA;&lt;p&gt;GitHub README 明确说明，作者的个人素材、3D 纹理、图片和文案仍归 Tomasz Szmajda 所有，未经明确授权不得复制或重新发布。&lt;/p&gt;&#xA;&lt;p&gt;因此，二次开发时应当：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;保留 MIT License 要求的版权与许可证声明&lt;/li&gt;&#xA;&lt;li&gt;替换作者的个人图片&lt;/li&gt;&#xA;&lt;li&gt;替换原有项目案例&lt;/li&gt;&#xA;&lt;li&gt;替换手绘纹理和品牌素材&lt;/li&gt;&#xA;&lt;li&gt;重写所有个人介绍与页面文案&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;比较稳妥的做法是学习它的场景结构、交互方式和性能优化思路，再使用自己的视觉素材重新设计。&lt;/p&gt;&#xA;&lt;h2 id=&#34;是否适合普通个人网站&#34;&gt;是否适合普通个人网站&#xA;&lt;/h2&gt;&lt;p&gt;ITom Dev 的视觉效果很有辨识度，但它并不适合所有个人网站。&lt;/p&gt;&#xA;&lt;p&gt;比较适合：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;希望展示 WebGL 或创意前端能力的开发者&lt;/li&gt;&#xA;&lt;li&gt;需要突出交互设计能力的设计师&lt;/li&gt;&#xA;&lt;li&gt;有时间优化纹理、模型和移动端性能的用户&lt;/li&gt;&#xA;&lt;li&gt;希望把作品集本身作为项目案例的人&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;不太适合：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;只需要快速上线一份在线简历的人&lt;/li&gt;&#xA;&lt;li&gt;以文章阅读和搜索流量为主的博客&lt;/li&gt;&#xA;&lt;li&gt;主要面向低性能移动设备的项目&lt;/li&gt;&#xA;&lt;li&gt;不熟悉 React、Three.js 或 WebGL 的初学者&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;如果网站主要目标是获得搜索流量或让招聘人员快速查看经历，可以保留一个普通 HTML 作品列表或简历页面，3D 场景作为增强版入口。这样既能展示创意，也能避免所有信息都依赖 WebGL Canvas。&lt;/p&gt;&#xA;&lt;h2 id=&#34;项目地址&#34;&gt;项目地址&#xA;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;GitHub 源码：&lt;a class=&#34;link&#34; href=&#34;https://github.com/ITomPoland/portfolio-itom&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;ITomPoland/portfolio-itom&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;在线演示：&lt;a class=&#34;link&#34; href=&#34;https://itomdev.com/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;ITom Dev Interactive 3D Portfolio&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;</description>
        </item></channel>
</rss>
