# three-dimensional-Blog **Repository Path**: honbingitee/three-dimensional-blog ## Basic Information - **Project Name**: three-dimensional-Blog - **Description**: 3D博客 使用three.js. typescript node express - **Primary Language**: TypeScript - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: http://meta.hongbin.xyz - **GVP Project**: No ## Statistics - **Stars**: 8 - **Forks**: 1 - **Created**: 2022-06-27 - **Last Updated**: 2024-02-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 开发 ```bash yarn dev ``` 部署 ```bash yarn build yarn start ``` 待办事项 2022-06-27 > 尝试使用 vite 构建 > 第一视角 检测应该兼顾两侧 而不是中间下方没有障碍就下落 这样一侧还在落物体上 两侧都发射射线检测脚下 空了再下落 > 从高处到地处好处理 从地处向高处走 高矮差的很少时允许'走上去' 需要检测前方有障碍 并且 在‘脚’能抬高的高度前方没有障碍 即可以落脚 高度加一点点 每一帧都加一点点 循环检测 - 在腰处向前进方向发射一条射线 判断前方没有障碍或障碍高度没有腰高 2022-07-05 > 加入 鼠标滚轮 眼睛与小人距离缩放效果 > 人物按照中心旋转 2022-07-09 > 自研的鼠标锁定控制器还有问题: 必须满足 同时移动键盘和移动视线(鼠标)才能让人物旋转到视线角度 ,现程序满足人物方向和实现方向不在同一方向时相机随着人物的方向移动 ,但想向新的方向移动时 必须同时移动鼠标,这个问题需要处理 2022 - 07 -10 > 人物改成几个几何图搭成的小人 头跟着摄像头动 检测从几何脚底 头顶 身体 检测 2022-07-14 > 发现 八叉树检测方法 更为恰当 [https://threejs.org/examples/?q=game#games_fps](https://threejs.org/examples/?q=game#games_fps) > ~~平滑上升逻辑:两条射线(脚底和膝盖)两个接触点,横着的边的长度由两条射线的距离相减获得 两条射线间隔高度也可知 而且一定是直角 由勾股定制获得斜坡倾的长度和斜度 由此斜坡长度比上垂直的长度设置一个适应的值添加到 y 轴自增上~~ 2022 -07-16 > helper 中碰撞检测方法不断创建射线和向量造成开销 设计一个 class 添加检测参数 重复使用射线 2022 - 07 -20 > 加入电脑模型 带线连接键盘 踩在键盘上 敲上对应字母 模拟在一个巨大的电脑上操作 > 加入钢琴 即脚踩哪个键字就发出对应声音 > 加入 自我介绍 项目介绍 求职意向 2022-07-23 > 人物停止运动 有一个收回手脚的过程 不要立刻立正 2022 --7-28 > 覆盖 Object3D 类型 使其可以穿入类型 可以指定 这个物体的 userData 是什么类型 2022-07-29 > 电源开关外层套一个盒子 人物进入盒子范围就触发开关机提示 可以不用非要站在开关上才能触发提示 > 人物出生场地中央圆形几何贴图中间有缝隙 一个小模型遮羞 > 电脑模型放在中间 其他模型需要调整位置 防止太拥挤 2022-08-01 > 根据人物位置一定范围内物体进行检测不检测所有 2022-08-04 > 站在宣传展板前面显示展板信息 交互后可以前往目标网址 2022-08-11 > 再添加一个星球 属性更完善的多星球处理机制 2022-08-14 > 镜头穿模 检测镜头附近物体 如果在某物体内部 向前持续移动直到不再物体内部 2022-08-26 > 经常有掉落地面 在地下放一个尽量小的盒子 每帧检测是否在盒子内 是就逐帧上升直到检测不到 > 镜头和人物中间有物体 影响人物显示 (屏幕中央一条射线到人物 检测有没有碰撞即可实现)不同于镜头在物体内部 2022-08-28 > 星球检测和防陷落逻辑移动到 worker 中 2022-08-30 > 初步计算人物当前位置是否需要星球检测 2022-09-2 > 加入更多页面内容后 停止运行 但页面仍然监听键盘/鼠标事件 会积累事件 带到重新进入时会一齐触发 影响恶劣 > 加入 进入元宇宙后的返回键 2022 -09-05 > 迁移到 next.js 只因 打包后 web worker 可以正常使用第三方库 而 create-react-app 打包后报错 具体可切换 feature/web-work 分支查看 > 迁移完后 设置文件别名 https://www.nextjs.cn/docs/advanced-features/module-path-aliases