下载 App

开发日志 05 · 让摄像头走远一点

修改于昨天 16:047 浏览
开发日志 05 · 让摄像头走远一点
2026 聚光灯 Game Jam · 主题「涌现」
horizontal linehorizontal line
上一篇讲的是建模本身的坑。这一篇讲摄像头——它原来只有一个机位,现在有了四个,而且它自己会转。
顺带两件今天才想明白的小事:东西为什么不在画面里,以及声音是怎么变"漏出来"的。
一、那台摄像头不是人的头
监控画面里的摄像头会左右慢慢摇。
第一版我用的是 sint。写完之后怎么看怎么不对——中段快、两端慢。那是人的视线:你四处张望的时候,眼睛不会匀速扫。
监控云台是电机。它只有一个速度,到端点直接反向,中间没有减速段。
换成三角波:
js
const u = t SPEED + phase % SPAN 4; const pan = u <= SPAN ? u : u <= SPAN 3 ? SPAN 2 - u : u - SPAN 4;
|dpan/dt| 恒等于 SPEED,一圈四段:过去 → 回来 → 回中线。
改完还发现一个更麻烦的事:扫视的相位是跟着游戏时间走的,而游戏时间是每帧固定加 0.016。帧率一低,云台就转得慢。机械件的转速不该由帧率决定——改成读真实时间。
现在它 1.8°/秒,一个来回 17 秒。慢到你会以为它没在动,然后突然发现画面已经换了个角度。
二、我以为我验过了,其实只验了一半
监控玩法是:屏幕里放一个摄像机的画面,玩家要在画面里找到目标物体。
每个场景有 8 个"落脚点",每局随机取 7 个摆进去。我写了脚本,把 8 个点投影到画面上,全部在框内,8/8。
结果玩起来还是有时找不到东西。
原因是那句话本身:我验的是"中心点在不在框内"。而摄像头在左右扫——贴在边缘的点,扫到另一端就出框了。我验的那个瞬间,它恰好在中间。
更根本的一条:监控相机是从天花板往下看桌面的。地面的东西,天生就在画框下沿以外。 这不是坐标写错了,是这个视角的几何事实。
所以改成开一局时按当前机位实时筛:投影一遍,出框的点这局就不参与(留 0.8 的余量,因为还要扫)。只剩不到 3 个可用点时才退回全量。
手调坐标永远会漏。让代码每一局自己判断。
三、让整间屋子变成线框
游戏里有个"终端闪断":平时不出现,某些时刻整块画面黑掉,只在同一台相机上画出所有物体的边,压成终端橙,然后闪几下就没了。
几个必须记住的点:
不能用 material.wireframe。 那会把每个三角形的边都画出来,四边形面多一条对角线。要 EdgesGeometrygeo, 30°——夹角小于 30° 的共面三角形会被合并,只留模型自己的边。
线框要做遮挡。 线是"只画线"的,深度缓冲里没东西挡它,所以是透视的。常规解法是先渲一遍只写深度、不写颜色的实体。我加了,画面一点没变。
查了很久:scene.background 是纯色时,three 每次 render 都会强制清屏(连深度一起清)。所以第二遍一开就把第一遍的深度冲掉了。这两遍渲染期间必须先把 background 置 null。
屏幕那块平面要从深度预渲里排除。 它贴在相机眼前,参与遮挡会把整个画面糊成一片黑。
四、怎么让一句话变成"漏出来的"
开场有一段是纯黑的,里面有一个声音在讲"最新模型"。
它不该是旁白去念。它是意外:管理员在跟别人说话,280–3200 Hz —— 像小喇叭/电话麦漏出来的,峰值压到 0.20 —— 比正式旁白弱四倍多
  • 声像偏左 82% —— 它在旁边,不在你面前
  • 混响加足 —— 隔着一间屋传过来
而后面正式旁白是反过来的:混响只给 0.10,居中,贴耳。
两个声音之间的落差本身就是叙事:黑屏里有人在说话(你不该听见),亮起来之后换成一个给你讲故事的声音(它在对你讲)。
顺带一句:配音用的是微软的神经网络音色(Christopher),英文,一句一句合成。这台机器到 Azure 的连接不太稳,中途开始一直断,后来改用同一个音色的另一条通道才跑完——音色一样,通道不同。
五、接下来
四个监控场景(工位 → 走廊 → 档案室 → 超算机房)已经接完了,剩下的是开场和尾声的演出。
horizontal linehorizontal line
开发日志会持续更新,游戏还在做,欢迎到时候来试玩。
TapTap
游戏开发者讨论区
1.2 万关注·4016 帖子
游戏开发者讨论区 封面
1.2 万关注 · 4016 帖子
初心依旧,决战归来!今日《决战破晓》手游双端上线TapTap平台!截图
初心依旧,决战归来!今日《决战破晓》手游双端上线TapTap平台!
各位期待已久的冒险家们,经典科幻风MMO手游《决战破晓》今日双端上线TapTap平台!原汁原味还原端游质感!让我们一起进入兰肯纳斯,开启赛博时代的冒险之旅! 【故事背景】公元2800年,太阳异变,灾厄降临。骤然加剧的恒星活动使整个兰肯纳斯沦为废土,文明毁于一旦。幸存的人类在变异怪物的威胁下艰难求生,人口锐减,希望渺茫。然而,火种未灭——现在,请举起你的武器,组建星际军团,为了生存而战!抵御异变
01:04
游戏服务器工程师入门截图
游戏服务器工程师入门
从事游戏服务器开发,需要这些知识储备,造作准备,早学习,为工作做准备
10:35
打工人VS资本家,游戏Demo详细介绍截图
打工人VS资本家,游戏Demo详细介绍
游戏为策略游戏,玩家只需要把握时机召唤角色,释放技能。角色有自己的ai决策逻辑执行寻路、攻击、释放节能。 对现实职场进行讽刺。#发现好游戏
1 赞
00:51
聚光灯第11天啦!新进展!截图
聚光灯第11天啦!新进展!
#TapTap聚光灯独立游戏 #聚光灯gamejam开发者日志 #TapTap 扔扔骰子,抽抽小霸鸽[心动小镇_点赞]
9 赞
7 回复
00:47
新游招募令-【创世纪】"命运眷顾勇敢之人!"截图
新游招募令-【创世纪】"命运眷顾勇敢之人!"
欢迎来到这片充斥着枪炮,细菌,与钢铁的土地,旅人。 在这里,世界正处于大争之世。驱动与链接钢铁巨兽的不是蒸汽,而是被湮灭的“信息熵”。人们通过魔晶这一工业奇迹开启了工业化的浪潮,第二次魔导革命于一战后的阵痛中开启,魔导工业技术于实践中爆炸式发展,也带来了不可逆的代价——世界正在枯竭,洋流遭到污染,现实的物理法则开始被人质疑,时序在魔导工业化的浪潮中逐渐崩坏,历史被人所遗忘,又以扭曲的方式重组,人与
1 赞
6 回复
龙之谷启程手游丨战士新手加点攻略(剑圣分支)截图
龙之谷启程手游丨战士新手加点攻略(剑圣分支)
一转分支:剑圣(爆发连招流,喜欢高输出选)定位:敏捷爆发、单体高伤、灵活连招,攻速快、打击感强,适合喜欢秀操作、打单体爆发的玩家。核心加点(15-50 级,优先满核心) 1. 必满核心(优先级最高)三段斩(满):突进 + 三连伤害,快速贴近 BOSS,连招起手月影斩(满):剑圣核心单体爆发,高伤 + 剑气,打 BOSS 主力技能。剑气共鸣(满):普攻附带范围剑气,持续输出拉满,清怪 / 单体都好用
1 赞
01:08
《梗噬》开发日志 #06截图
《梗噬》开发日志 #06
《梗噬》 版本:2.0.0 经过一段时间打磨,我单独制作了一期项目番外视频,不再单纯展示游戏剧情与关卡,分为两大板块:游戏成品宣传展示 + 配套解密工具实操演示。 一、游戏成品宣传部分 视频开篇完整展示《梗噬》当前版本的完整游戏面貌,演示游戏整体美术风格、关卡流程、核心解谜玩法、场景交互与结局片段。 用来直观呈现游戏完整体验,展示整体叙事氛围、画面表现,让观看者快速理解游戏主题与游玩感受,作为对外
【游戏开发日志4】截图
【游戏开发日志4】
这次更新了音效设计,音效的设计还是挺重要的,不过还有最后一天,要加快进度了 种田游戏可以肝,不能聋。 于是这周正式进入配音环节。 给一个种田+守城游戏配音是什么概念呢:你需要按钮点击音、资源入账音、收麦音、伐木音、建造音、回合结算音、野猪预警音、战斗音……一样都不能少,少一样玩家就觉得哪里不对但又说不上来,然后给你来一句“感觉有点空”。 谢谢,最有用的废话就是这种。 中间发生了很多抽象事件:想要“
开发日志 02 · 这些东西从哪来的?!截图
开发日志 02 · 这些东西从哪来的?!
2026 聚光灯 Game Jam · 主题「涌现」 上一篇说到,屏幕上的图形是真的 3D 模型,它们待在屏幕背后一个玩家看不见的场景里,由第二个相机单独渲染,再和界面合成。 这一篇说说那些场景本身。 游戏里玩家是个数据测试员,工位 A-01。屏幕上的东西一批一批流过来,他负责分类。 这些东西总得是从某个地方来的。 所以我们开始一个一个地建这些地方。 一、从最日常的地方开始 后院露台。白天的,晒着
4 赞
2 回复
01:26
高燃 PVP 对决,每一秒都在极限拉扯!截图
高燃 PVP 对决,每一秒都在极限拉扯!
你以为拼的只是手速?在《萍城异闻录》的战场里,硬核操作与心机博弈并存,高手过招,差一步就是生死之别! 华丽技能破空而来,浮空追击、闪避反打、魂卡瞬发,每一个动作都丝滑带感,打击感拉满!没有绝对的无敌,只有瞬息万变的战局 —— 前一秒你还在强势压制,下一秒对手就能用羁绊阵容逆转局势。 是莽夫硬刚,秀翻全场?还是老六埋伏,坐收渔利?在这里,没有固定套路,你的打法,由你定义! 搭配玩家打斗视频,近距离感