首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
react-three
kugga
创建于2024-03-28
订阅专栏
使用react-three,利用前端3d视图显示,实现3d游戏。
等 58 人订阅
共17篇文章
创建于2024-03-28
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
threejs 实现3D游戏(14) —— 通用小地图组件2
功能概述 Minimap 是一个基于 react-three-fiber 与 @react-three/drei 的通用小地图组件。它在 HUD 层(独立于主场景)渲染一个固定尺寸的正交投影视图。
threejs 实现3D游戏(14) —— 通用小地图组件
游戏中使用小地图来显示玩家当前的位置,免于迷路是个很常见的需求。实现小地图的有2种思路: 用静态图片并手动转换坐标 使用正交相机渲染特定图层实现小地图 这次我们来综合实现。
threejs 实现3D游戏(13) —— 高效多人同屏:数据压缩
上次我们实现多人同屏的功能时,主要实现了一个大的框架,仅仅同步了玩家的位置。主要是为了尽快的熟悉同步操作的流程,这次我们正式来优化逻辑。同步玩家的位置、状态、旋转方向,并压缩传递的数据。
threejs 实现3D游戏(11)—— 物体表面发光效果
概述 这是一个很常见需求,游戏场景中往往需要展现炫酷的霓虹灯,各种led灯,或需要光照渲染氛围的朦胧光效。
threejs做3D游戏(12)—— 10分钟实现一个牵引器
概述 在加载场景模型后,场景中还会有些需要不断修改位置、大小、方向的物体,游戏世界中,各个互动物品的摆放一直是个令人头疼的问题,因为它很重要但无疑十分繁琐。
threejs 实现3D游戏(10)—— 表面反射效果
概述 真实的物理效果中,最难实现的就是真实的光照,threejs底层是webgl,它是openGL的一个浏览器适配版本,当然也支持光线追踪,以此实现逼真的光影效果如————反射效果。
threejs实现3D游戏(9)—— 后期处理,让场景更鲜活
概述 让一个场景看起来真实需要很多算法,让场景的景深光照等效果贴近现实需要考虑各种复杂的情况,例如光照(光影、光晕、反射、折射、色调)、景深等等。
threejs 实现3D游戏(8)——通过配置文件管理场景模型
概述 有些时候,你的用户可能会频繁变更模型,及模型的位置。假如你每次都在代码中进行修改那么显然过于浪费我们宝贵的时间。所以我们给出一个config.json的静态文件,方便我们在其中配置模型的相关参数
threejs 实现3D游戏(7)——加载子场景&切换场景
在模型世界中,在当前场景中加载一个子场景。或从一个场景跳到下一个场景,都是很常见的需求。这次我们来分别实现它们。
threejs 实现3D游戏(6)——第一视角&场景交互
概述 游戏中出现第一视角切换的功能和与场景中物品的交互等是常见的功能,这次我们来实现这2个功能。 为了方便,我暂时去掉了多人同屏相关的代码,这个代码是从联机前的版本基础迭代而来。
react-three实现3D游戏(5)——多人同屏
概述 上一次我们为游戏添加了小地图,但整个场景上依然只有一个机器人在孤单的游荡。是时候,添加些其他存在了。 为了让场景热闹起来,我们决定添加些其他玩家!这次我们将仅仅使用最简单的状态同步来实现多人同屏
react-three实现3D游戏(4)——小地图
游戏中使用小地图来查看玩家当前的位置,几乎是必然出现的功能,这次我们在react-three中实现小地图的功能。
react-three 实现3D游戏(3)——海洋、天空和云雾
在之前的章节中,我们的环境已经加载出来了,也添加了环境的音效,但是孤零零的小岛难免让人感到单调。这次我们来丰富下游戏世界的场景,添加一些细节。
react-three实现3D游戏(2)——空间音频
空间音频,故名思意就是指放置在3d空间场景中的音源,拥有现实中立体声音的特性。 它远小近大,且会被墙壁等障碍物所阻隔。它对于一个立体的游戏世界来说是十分重要的元素.。
使用react-three实现3D游戏(1)——模型替换
概述 当我们上次利用ecctrl库对人物控制进行了优化后,我们意识到在一个基本的可交互的3D游戏中,人物和环境是不可或缺的元素。接下来,我们将逐步迭代我们的项目,使其更像一个真正的可交互的3D游戏。
react-three人物控制-进阶篇
上次使用较为基础的方式实现了人物控制,这次我们来使用pmndrs的新开源库 ecctrl 来简化人物控制的实现。
react-three实现人物控制-基础篇
在游戏相关的threejs项目中,经常需要用到游戏的人物控制模块。 而尽管游戏不同,但关于人物控制的模块其实是相一致的。这次使用react-three 来实现这样的功能。