第1221章 这个哥哥真好

作品:《不原谅,不复合,苏小姐独美》

    边煜一屁股坐到主控台前,熟门熟路地把全息芯片夹进调试坞。

    蓝色指示灯亮起。

    一排参数从屏幕上滚过去。

    沈恪站在旁边,手里拿着连接线,低头看了一眼接口。

    “你上次说的延迟抖动,就是这里?”

    “对。”边煜敲了两下键盘,“渲染引擎没问题,光场重建也能跑满,就是交互协议这块,帧同步偶尔会漂。”

    “漂多少?”

    “峰值十二毫秒。”

    沈恪把线接好。

    “对普通游戏不明显,对全息不行。”

    “所以我说它欠揍。”边煜理直气壮。

    其玉站在旁边,小手扶着桌沿,努力仰着脑袋看屏幕。

    奈何个子太矮,再使劲儿,也只能看到一部分。

    那些跳动的字母和数字更看不懂。

    但他却看得认真。

    边煜已经顾不上他了,一边启动模拟器,一边跟沈恪说:“你看这里,动作采样是六十帧,服务端判定也是六十帧,但本地渲染插帧到了九十。问题是延迟补偿算法没把手势预测算进去。”

    沈恪坐到另一侧,调出源代码。

    “你把手势和位移放在同一条预测链里了?”

    “嗯。”

    “难怪。”

    边煜扭头:“嗯?什么情况?”

    沈恪把一段代码选中。

    “位移可以线性外推,手势不行。手指动作有停顿,有反悔,还有微调。你用同一个补偿模型,快的时候准,慢的时候就会飘。”

    边煜盯着屏幕两秒:“……有道理。”

    “把手势拆出来,单独做状态机。”

    “状态机?”

    “触碰、悬停、抓取、释放,每个状态给不同权重。比如抓取后,位置预测可以强一点,悬停的时候保守一点。”

    边煜拍了下桌子:“可以啊沈恪!你这个人不说话的时候像在发呆,一说话就能救命。”

    沈恪把键盘推给他:“少夸。改。”

    “改就改。”

    边煜嘴上不服,手已经飞快动起来。

    其玉看着哥哥的手。

    啪嗒啪嗒,很快,像小雨打在窗户上。

    哥哥好厉害!

    接着又看向沈恪。

    en……这个哥哥不像煜哥哥那么话多。

    眼神落得稳,手指指到哪里,煜哥哥就改到哪里。

    两个人就像……拼积木。

    一个负责把积木倒出来,一个负责指导怎么拼。

    很快屏幕上全息游戏的测试场景打开。

    半空里浮出一片浅蓝色网格。

    网格向四周铺开,变成森林。

    树叶不是贴图一样糊在平面上,而是有层次地悬在光里。

    风一吹,叶片边缘有细微的折光。

    远处有一条溪,溪水从石头旁绕过去,水面反射着天光。

    边煜戴上轻量眼镜,拿起手势环。

    “来,跑一把。”

    沈恪也戴上,两人进入测试模式。

    其玉站在旁边,一动不动。

    边煜抬手,虚空里出现一把短弓。

    沈恪那边是一枚透明的控制球,里面有一圈圈发光的坐标。

    边煜拉弓,箭矢成形,瞄准远处的靶子。

    松手——

    箭飞出去,可惜没中红心。

    偏了一点。

    边煜立刻皱眉。

    “怎么又这样?”

    沈恪低头看日志:“不是渲染延迟,是输入上报晚了。你看,客户端第2417帧采到释放动作,服务端第2419帧才判定。”

    “网络模拟只有三十毫秒,所以不是网络,是协议包。”

    边煜把日志拉开,“我压缩了手势数据。”

    “压太狠了。”沈恪说,“释放动作的关键帧被合并了。”

    边煜沉默一秒,然后小声:“我为了省带宽。”

    沈恪看他:“省到箭都飞歪了。”

    边煜:“……”

    其玉忽然开口:“哥哥,箭为什么要听电脑的话?”

    两个少年同时停住。

    边煜这才想起旁边还有个小不点:“哎,其玉,你还在啊。”

    其玉点头:“我一直在哦。”

    边煜有点心虚,挠挠头:“哥哥刚才忙,没顾上你。”

    其玉认真地说:“嗯嗯,我知道,你们在修箭。”

    沈恪摘下一边眼镜,弯腰看他。

    “想试试吗?”

    其玉看了看那个手势环,满眼好奇:“我……可以吗?”

    “当然可以。”

    边煜有些担忧:“他太小了吧,手势环都——”

    话还没说完,沈恪已经把椅子往后挪了挪。

    将其玉抱起来,让他坐在自己腿上。

    “用儿童模式。”

    “行吧。”边煜转身调设置。

    沈恪把小一号的辅助环套到其玉手腕上。

    “这个不重,你抬手,它就知道你想做什么。”

    其玉抬了抬手,半空里出现了一只小木鸟。

    鸟扑棱了两下翅膀,落在一根树枝上。

    “哇!好神奇!”其玉眼睛亮了一下。

    他伸出手,慢慢靠近。

    小木鸟往旁边跳了一步。

    其玉停住。

    “它怕我?”

    沈恪耐心解释:“不是怕,是它在判断你的动作。”

    “判断是什么?”

    “enn……就是它在思考,你是要摸它,还是要抓它。”

    其玉低头看自己的手:“那我慢一点,它是不是就知道我要摸它?”

    “对。”

    沈恪握住他手腕,带着他慢慢往前。

    “你看,动作慢,手掌打开,系统会把你判定成友好互动。”

    小木鸟歪了歪头,然后低头啄了一下其玉的指尖。

    其玉抿嘴,很轻地笑了一下。

    边煜在旁边看见,忍不住说:“哇,它真给你面子,我刚才伸手它啄了我三次。”

    其玉想了想,现学现卖:“是因为哥哥你动作太快了。”

    边煜捂住心口:“好好好,我被三岁小朋友教育了。”

    沈恪唇角弯了一下。

    他把日志窗口缩小,给其玉打开简单任务。

    “试试把这颗果子放进篮子里。”

    树枝上垂着一颗红果,旁边有一个小篮子。

    其玉伸手去拿,果子从枝头掉下来,滚到地上。

    他愣了愣:“哥哥……我没拿住。”

    “抓取的时候,手指要合起来。”沈恪示范,“这里有碰撞检测,你的手碰到果子以后,系统会看你的手指有没有收拢,如果收拢,就算你抓住了。”

    其玉又试了一次,这次果子被他稳稳拿住。

    他放进篮子,篮子亮了一下。

    任务完成,屏幕角落跳出一颗小星星。

    其玉看着那颗星星:“它又是怎么知道我放进去了?”

    边煜马上兴奋起来:“这个我会!”

    沈恪看他一眼。

    边煜清清嗓子,“因为篮子有触发区域,你把果子移动到篮子范围里面,系统检测到它们的坐标重叠,就会判定完成。”

    其玉想了想:“如果我放在篮子边上呢?”

    “那要看碰撞体。”沈恪接过话,没有因为他只有三岁就敷衍糊弄,“如果只是视觉上挨着,但碰撞体没有进入篮子区域,就不算。”

    其玉点点头:“我知道了,就像拼图,放在旁边,不是放进去。”

    “对。”