category

Engine

共 180 篇文章。
全部文章GolangGameSaasRustPythonJava游戏开发客户端开发GameDevTypeScriptCocosEngineLuaProducts
engine

《游戏引擎实现原理》11.1 gizmo 与拾取射线

视口要回答的是「鼠标点在画面上究竟选中了谁、拖动了多少」。本节把拾取射线与变换 gizmo 的几何抽成纯数学:像素→NDC→世界射线、射线与有限轴线的最短距离、轴手柄与面手柄判定、沿轴拖拽位移的求解,并在本机真跑 12 条 vitest 用例;真实鼠标拖拽属 L4,需在浏览器中手动验证。

10 分钟阅读
游戏引擎 子系统与工具 编辑器
engine

《游戏引擎实现原理》10.3 多选编辑与批量修改

同时选中多个对象时,属性面板该显示什么?本节实现多选编辑的纯数据部分:求公共属性、把值聚合成「全等」或「混合」两种状态、再生成只包含真正变化项的批量命令。公共属性、混合值判定与批量命令生成都在本机真跑并有 vitest 用例;面板渲染与交互属 L3/L4,需在浏览器中手动验证。

8 分钟阅读
游戏引擎 子系统与工具 编辑器
engine

《游戏引擎实现原理》10.2 编辑器控件与类型映射

面板拿到字段后,该给它配哪种控件?本节写一张字段类型到控件种类的映射表:数值对应数字框、bool 对应勾选框、vec3 展开成三分量、句柄对应对象引用,再叠一个可覆写的控件注册表处理个别特例。映射与解析逻辑在本机真跑并有 vitest 用例;真实 DOM 控件的创建属 L3,需在浏览器中手动验证。

7 分钟阅读
游戏引擎 子系统与工具 编辑器
engine

《游戏引擎实现原理》10.1 反射驱动的属性面板

属性面板不该为每个组件手写 UI。本节把卷一第 16 章的反射描述符接进编辑器:从类型描述与实例展开出纯数据的「面板描述模型」——字段名、标签、类型、当前值、只读与枚举候选,不含任何 DOM。该数据模型在本机真跑并有 vitest 用例;DOM 渲染属 L3,需在浏览器中手动验证。

8 分钟阅读
游戏引擎 子系统与工具 编辑器
engine

《游戏引擎实现原理》子系统与工具 目录

《游戏引擎实现原理》卷三《子系统与工具》导航页:在卷一《引擎内核》与卷二《渲染引擎》之上,用 TypeScript 从零实现让《微光岛》活起来的资源管线与流式、动画与蒙皮、物理集成、音频、输入、脚本绑定与热重载,以及编辑器四章(数据模型、命令栈、属性面板、视口与资产)。讲清本卷定位、与卷一卷二的关系、L1–L4 可运行性口径,按三个部分列出 33 节索引,另含阅读路径、周计划与常见问题速查。

15 分钟阅读
游戏引擎 子系统与工具 目录
engine

《游戏引擎实现原理》5.3 Web Audio 的限制与解锁

前两节的混音图与音效池最终要落到 Web Audio 上,而它有两条硬限制:自动播放策略会挂起 AudioContext,必须靠用户手势 resume;时间精度与延迟又受渲染量子与设备缓冲支配。自动播放解锁与真实设备只能在浏览器里手动验证,但秒帧换算、量子量化、过去时间钳位、延迟补偿这些算术可以抽成纯 TS 真跑。

12 分钟阅读
游戏引擎 子系统与工具 音频
engine

《游戏引擎实现原理》5.1 混音图与音频总线

把「音源 → 总线 → 主输出」建模成一张有向图:节点带线性增益,边是数据流,渲染一个量子时按拓扑序累加、逐节点乘增益。先用纯 TS 真跑分贝换算、等功率声像、混音求和与总线路由,再把同一张图放进 headless Chromium 的 OfflineAudioContext 复算,逐样本比对 Web Audio 与 L1 的输出。

7 分钟阅读
游戏引擎 子系统与工具 音频
engine

《游戏引擎实现原理》2.3 流式加载与区块(《微光岛》的岛)

《微光岛》的岛不是一整块资源:本节用 TypeScript 把它切成 4x4 个区块,用相机距离排加载优先级、用每帧字节预算限流、用加载与卸载双半径做滞回防抖,写出一个可逐帧推进的流式调度器,并实测单块字节数、峰值驻留与单帧最大派发量,全部来自本机实跑。

10 分钟阅读
游戏引擎 子系统与工具 资源管线