Skip to content

difyz9/learn_threejs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Three.js 学习项目

欢迎来到 Three.js 学习项目!这是一个完整的 Three.js 学习资源库,包含教程、案例、练习和资源。

📁 项目结构

three_js/
├── Three.js学习教程笔记.md    # 完整的学习教程笔记
├── examples/                  # 实际案例
│   ├── 01-basic-scene.html   # 基础场景
│   ├── 02-materials-lighting.html # 材质和光照
│   ├── 03-solar-system.html  # 太阳系模拟
│   ├── 04-particle-system.html # 粒子系统
│   ├── 05-interactive-game.html # 交互式游戏
│   └── README.md             # 案例说明
├── exercises/                 # 练习题目
│   └── README.md             # 练习说明
└── resources/                 # 学习资源
    └── README.md             # 资源汇总

🎯 学习目标

通过这个项目,你将学会:

  • Three.js 基础概念和核心 API
  • 3D 图形学基础知识
  • 材质、光照、动画系统
  • 粒子系统和特效制作
  • 用户交互和游戏开发
  • 性能优化技巧
  • 实际项目开发经验

🚀 快速开始

1. 阅读教程笔记

首先阅读 Three.js学习教程笔记.md,这是一份完整的学习指南,包含:

  • 基础概念和设置
  • 几何体和材质
  • 光照系统
  • 动画和控制器
  • 纹理和贴图
  • 进阶技术
  • 实战案例
  • 性能优化

2. 运行示例案例

进入 examples 文件夹,按顺序学习案例:

方法一:直接打开

直接在浏览器中打开 HTML 文件即可运行。

方法二:使用本地服务器(推荐)

# 进入项目目录
cd three_js

# 使用 Python 启动服务器
python -m http.server 8000

# 或使用 Node.js
npx http-server

# 然后在浏览器中访问
# http://localhost:8000/examples/01-basic-scene.html

3. 完成练习

查看 exercises/README.md 中的练习题目,从基础到进阶逐步练习。

4. 查阅资源

resources/README.md 包含了丰富的学习资源和工具推荐。

📚 学习建议

初学者路径

  1. 理论基础 → 阅读教程笔记前 5 章
  2. 基础实践 → 运行并理解前 2 个案例
  3. 深入学习 → 学习材质、光照、动画
  4. 进阶练习 → 完成基础练习题目
  5. 项目实战 → 开发完整项目

进阶开发者路径

  1. 快速浏览 → 教程笔记概览
  2. 重点学习 → 高级渲染技术
  3. 案例分析 → 深入研究复杂案例
  4. 技术扩展 → 物理引擎、后处理等
  5. 性能优化 → 学习优化技巧

🛠 开发环境设置

推荐工具

  • 编辑器: Visual Studio Code
  • 浏览器: Chrome(开发者工具强大)
  • 版本控制: Git
  • 包管理: npm 或 yarn

VS Code 扩展

- Live Server           # 本地开发服务器
- Prettier             # 代码格式化
- Auto Rename Tag      # 自动重命名标签
- Bracket Pair Colorizer # 括号高亮
- WebGL Insight        # WebGL 调试

项目依赖(可选)

如果要使用 npm 管理依赖:

# 初始化项目
npm init -y

# 安装 Three.js
npm install three

# 安装开发工具
npm install --save-dev webpack webpack-cli webpack-dev-server

🎮 案例演示

基础场景

基础场景演示

  • 几何体创建和变换
  • 基础材质和光照
  • 用户交互控制

太阳系模拟

太阳系演示

  • 复杂动画系统
  • 层次结构管理
  • 参数控制界面

粒子系统

粒子系统演示

  • 大量粒子渲染
  • 动态效果切换
  • 性能优化技巧

交互式游戏

游戏演示

  • 完整游戏循环
  • 碰撞检测
  • UI 集成

🤝 参与贡献

欢迎为这个项目贡献代码和改进建议!

贡献方式

  1. Fork 项目
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 创建 Pull Request

贡献内容

  • 新的案例和教程
  • 代码优化和 Bug 修复
  • 文档改进
  • 翻译工作
  • 问题反馈

📄 许可证

本项目采用 MIT 许可证。详见 LICENSE 文件。

📞 联系方式

如果你有任何问题或建议,欢迎通过以下方式联系:

  • 创建 Issue
  • 发送邮件
  • 加入讨论群

🙏 致谢

感谢以下资源和社区的支持:

📈 学习进度追踪

你可以使用以下清单来追踪学习进度:

基础知识

  • 理解 Three.js 基本概念
  • 掌握场景、相机、渲染器
  • 学会创建基础几何体
  • 了解材质系统
  • 掌握基础动画

进阶技能

  • 深入理解光照系统
  • 掌握纹理映射
  • 学会粒子系统
  • 了解后处理效果
  • 掌握性能优化

项目实战

  • 完成基础练习
  • 开发产品展示项目
  • 制作数据可视化
  • 开发简单游戏
  • 性能优化实践

开始你的 Three.js 学习之旅吧!🚀

About

欢迎来到 Three.js 学习项目!这是一个完整的 Three.js 学习资源库,包含教程、案例、练习和资源。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors