Three.js + React 实战系列 : 从零搭建 3D 个人主页

news2025/4/25 17:18:13

可能你对tailiwindcss毫不了解,别紧张,记住我们只是在学习,学习的是作者的思想和技巧,并不是某一行代码。

在之前的几篇文章中,我们已经熟悉了 Three.js 的基本用法,并通过 react-three-fiber 快速构建了一个完整场景。

本篇将正式开启我们的 3D 个人主页实战系列 🚀

完整项目:
github项目地址:https://github.com/SunACong/three-practice.git

教程仓库:
gitcode地址:https://gitcode.com/sunbyte/three-profile.git

前置知识:

  • ✅ tailiwindcss

本篇聚焦以下几个目标:

  • ✅ 规划整个项目的基础目录结构
  • ✅ 明确资源(模型/贴图)存放位置
  • ✅ 明确各个文件夹的作用以及内容

这是构建你专属 3D 主页的第一步,让我们开始吧!

部署效果地址:https://three-profile-one.vercel.app/

在这里插入图片描述


🗂️ 项目基础目录结构


建议将项目结构清晰划分,便于后续维护与模块化开发:
three-profile/ 
├── public/ # 静态资源(模型、贴图、icon) 
│ ├── models/ # .glb / .gltf 模型资源 
│ ├── textures/ # 贴图(背景、材质贴图等) 
│ └── assetss/ # 图标icon资源
├── src/ 
│ ├── components/ # 3D 场景组件(Avatar, Card, Icons...) 
│ ├── constans/ # 常量定义 
│ ├── sections/ # 构成主页部分的section 
│ ├── App.jsx # 应用主入口 
│ └── main.jsx # React 挂载入口 
│ └── index.css # 引入全局css配置入口
├── index.html 
└── vite.config.js

🛠️ 搭建项目

  1. 初始化 react 项目
npm create vite@latest three-profile -- --template react

npm install

npm run dev
  1. 💻 安装Tailiwindcss

虽然tailiwindcss已经更新到v4版本,但是为了不在环境配置上浪费时间,请使用v3版本。

"autoprefixer": "^10.4.20",	
"postcss": "^8.4.41",
"tailwindcss": "^3.4.10",

将上面依赖复制到package.json中执行

npm install 安装依赖即可
  1. 配置项目
根目录执行 npx tailwindcss init 生成 tailiwindcss.config.js

在仓库Readme-代码片段中复制 tailiwindcss.config.js 代码片段

根目录创建postcss.config.js,在仓库Readme-代码片段中复制 postcss.config.js 代码片段

在仓库ReadMe文件中复制 index.css 覆盖 src/index.css

删除 App.css

👋 Hello ThreeJS!!

🎥 01 · 项目框架与资源准备:你的 3D 主页起点

✅ 小结

我们已经完成了以下工作:

  • ✅ 初始化项目结构

  • ✅ 安装并配置核心依赖

  • ✅ 梳理项目资源

    • GLB转换为React代码:https://gltf.pmnd.rs/
    • 捏脸网址:https://readyplayer.me/
    • GLB转换为FBX:https://products.aspose.app/3d/conversion/glb-to-fbx#
    • 为你的3D模型添加动作:https://www.mixamo.com/#/
    • 免费部署网址:https://vercel.com/

🔮 下一篇预告

  • Navbar 导航栏 ✅

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2342585.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何用大模型技术重塑物流供应链

摘要 在数字化转型加速的背景下,大模型技术凭借其强大的数据分析、逻辑推理和决策优化能力,正成为物流供应链领域的核心驱动力。本文深入探讨大模型如何通过需求预测、智能调度、供应链协同、风险管控等关键环节,推动物流行业从 "经验驱…

【银河麒麟高级服务器操作系统】磁盘只读问题分析

系统环境及配置 系统环境 物理机/虚拟机/云/容器 虚拟机 网络环境 外网/私有网络/无网络 私有网络 硬件环境 机型 KVM Virtual Machine 处理器 Kunpeng-920 内存 32 GiB 整机类型/架构 arm64 固件版本 EFI Development Kit II / OVMF 软件环境 具体操作系统版…

机器视觉的智能手机屏贴合应用

在智能手机制造领域,屏幕贴合工艺堪称"微米级的指尖芭蕾"。作为影响触控灵敏度、显示效果和产品可靠性的关键工序,屏幕贴合精度直接决定了用户体验。传统人工对位方式已无法满足全面屏时代对极窄边框和超高屏占比的严苛要求,而Mast…

AIM Robotics电动胶枪:智能分配,让机器人点胶涂胶精准无误

在现代工业自动化和智能制造领域,精确的液体分配技术正成为提升生产效率和产品质量的重要因素。AIM Robotics作为这一领域的创新者,提供了多种高效、灵活的点胶涂胶分配解决方案。本文将带您了解AIM Robotics的核心技术、产品系列以及在各行业的成功应用…

负环-P3385-P2136

通过选择标签&#xff0c;洛谷刷一个类型的题目还是很方便的 模版题P3385 P3385 【模板】负环 - 洛谷 Tint(input())def bellman(n,edges,sta):INFfloat(inf)d[INF]*(n1)d[sta]0for i in range(n-1):for u,v,w in edges:ncostd[u]wif ncost<d[v]:d[v]ncostfor u,v,w in e…

抖音的逆向工程获取弹幕(websocket和protobuf解析)

目录 声明前言第一节 获取room_id和ttwid值第二节 signture值逆向python 实现signature第三节 Websocket实现长链接请求protubuf反序列化pushFrame反序列化Response解压和反序列化消息体Message解析应答ack参考博客声明 本文章中所有内容仅供学习交流使用,不用于其他任何目的…

WPF 图片文本按钮 自定义按钮

效果 上面图片,下面文本 样式 <!-- 图片文本按钮样式 --> <Style x:Key="ImageTextButtonStyle" TargetType="Button"><Setter Property="Background" Value="Transparent"/><Setter Property="BorderTh…

Diffusion inversion后的latent code与标准的高斯随机噪音不一样

可视化latents_list如下; 可视化最后一步与标准的噪声&#xff1a; 能隐约看出到最后一步还是会有“马”的形状 整个代码&#xff08;及可视化代码如下&#xff09;&#xff1a; ## 参考freeprompt(FPE)的代码 import os import torch import torch.nn as nn import torch.n…

江湖密码术:Rust中的 bcrypt 加密秘籍

前言 江湖险恶,黑客如雨,昔日密码“123456”早被各路大侠怒斥为“纸糊轻功”。若还执迷不悟,用明文密码闯荡江湖,无异于身披藏宝图在集市上狂奔,目标大到闪瞎黑客双眼。 为护你安然度过每一场数据风波,特献上一门绝学《Rust加密神功》。核心招式正是传说中的 bcrypt 密…

Milvus(3):数据库、Collections说明

1 数据库 Milvus 在集合之上引入了数据库层&#xff0c;为管理和组织数据提供了更有效的方式&#xff0c;同时支持多租户。 1.1 什么是数据库 在 Milvus 中&#xff0c;数据库是组织和管理数据的逻辑单元。为了提高数据安全性并实现多租户&#xff0c;你可以创建多个数据库&am…

【Hive入门】Hive数据模型与存储格式深度解析:从理论到实践的最佳选择

目录 1 Hive数据模型全景图 2 Hive存储架构解析 3 存储格式对比矩阵 4 存储格式选择决策树 5 ORC文件结构剖析 6 Parquet与ORC技术对比 7 最佳实践指南 7.1 建表示例模板 7.2 性能优化 8 总结 1 Hive数据模型全景图 模型核心组件解析&#xff1a; Database&#xff1…

2025能源网络安全大赛CTF --- Crypto wp

文章目录 前言simpleSigninNumberTheory 前言 大半年以来写的第一篇文章&#xff01;&#xff01;&#xff01; simpleSignin 题目&#xff1a; from Crypto.Util.number import * from gmpy2 import * import osflag bxxx p next_prime(bytes_to_long(os.urandom(128))…

Godot开发2D冒险游戏——第二节:主角光环整起来!

变量的作用域 全局变量&#xff0c;局部变量&#xff0c;导出变量&#xff08;可以在检查器当中快速查看&#xff09; 为玩家添加移动动画 现在游戏的玩家还只是在滑行&#xff0c;我们需要再添加玩家每个方向上的移动效果 删除原先的Item节点&#xff0c;创建一个动画精灵…

.NETCore部署流程

资料下载&#xff1a;https://download.csdn.net/download/ly1h1/90684992 1.下载托管包托管捆绑包 | Microsoft Learn&#xff0c;下载后点击安装即可。 2.安装IIS 3.打开VS2022&#xff0c;新建项目&#xff0c;选择ASP.NET Core Web API 5.Program修改启动项&#xff0c;取…

数据结构——二叉树,堆

目录 1.树 1.1树的概念 1.2树的结构 2.二叉树 2.1二叉树的概念 2.2特殊的二叉树 2.3二叉树的性质 2.4二叉树的存储结构 2.4.1顺序结构 2.4.2链式结构 3.堆 3.1堆的概念 3.2堆的分类 3.3堆的实现 3.3.1初始化 3.3.2堆的构建 3.3.3堆的销毁 3.3.4堆的插入 3.3.5…

龙虎榜——20250424

指数依然是震荡走势&#xff0c;接下来两天调整的概率较大 2025年4月24日龙虎榜行业方向分析 一、核心主线方向 化工&#xff08;新能源材料产能集中&#xff09; • 代表标的&#xff1a;红宝丽&#xff08;环氧丙烷/锂电材料&#xff09;、中欣氟材&#xff08;氟化工&…

CentOS 7 安装教程

准备&#xff1a; 软件&#xff1a;VMware Workstation 镜像文件&#xff1a;CentOS-7-x86_64-bin-DVD1.iso &#xff08;附&#xff1a;教程较为详细&#xff0c;注释较多&#xff0c;故将操作的选项进行了加粗字体显示。&#xff09; 1、文件–新建虚拟机–自定义 2、硬盘…

Python+AI提示词出租车出行轨迹预测:梯度提升GBR、KNN、LR回归、随机森林融合及贝叶斯概率异常检测研究

原文链接&#xff1a;tecdat.cn/?p41693 在当今数字化浪潮席卷全球的时代&#xff0c;城市交通领域的海量数据如同蕴藏着无限价值的宝藏等待挖掘。作为数据科学家&#xff0c;我们肩负着从复杂数据中提取关键信息、构建有效模型以助力决策的使命&#xff08;点击文末“阅读原文…

直接偏好优化(Direct Preference Optimization,DPO):论文与源码解析

简介 虽然大规模无监督语言模型&#xff08;LMs&#xff09;学习了广泛的世界知识和一些推理技能&#xff0c;但由于它们是基于完全无监督训练&#xff0c;仍很难控制其行为。 微调无监督LM使其对齐偏好&#xff0c;尽管大规模无监督的语言模型&#xff08;LMs&#xff09;能…

UE5.2+VarjoXR3,Lumen、GI、Nanite无效的两种解决方案

一、问题描述 最近在做一个基于VarjoXR3的VR项目开发&#xff0c;UE版本使用的是5.2&#xff0c;效果采用Lumen。首先在PC版本中调整了一个效果&#xff0c;但是当切换到VR运行后&#xff0c;就发现Lumen效果就丢失了。但是测试的其他的头显就没有问题&#xff0c;比如Quest。…