» 您尚未登录:请 登录 | 注册 | 标签 | 帮助 | 小黑屋 |


发新话题
打印

[其他] 突然想到了halo3回放模式的一个问题

我晕,都扯哪里去了,回放个录像都能扯飞了,还搞到随机去了

从图形学上看,你只是回放录像的话,只需要把渲染的命令存贮下来,回放的时候直接让引擎再渲染一遍就好了,哪那么麻烦,还要计算AI。。。那些都是已经决定了的东西

不能后退的原因是。。。那是现渲染,不是播视频文件,哪个听说过代码可以倒过来执行的
(没玩HALO3,推测,如有误差见谅)


TOP

受不了你们了。。还真以为回放录像的时候是真计算了一把,肯定是把渲染命令拿出来重新执行了一次罢了,至于跳祯,那么复杂的场景,你让它加速绘制当然不可能,所以就出现了那种情况



TOP

引用:
原帖由 xphi 于 2007-9-27 16:46 发表


游戏里的物件不是一个孤立的存在,不像做Flash,制定轨迹就可以了,如果记录轨迹的话,还要记录物件之间的交互,记录量会更加的大。

目前大部分的游戏录像,包括SC,Halo3,几乎所有的模拟器,都是记录玩 ...
我觉得你说的这个方法实在太多余,直接记录渲染命令让图像引擎重新渲染一遍就是了,如果那些信息都要记录然后重新玩一遍,那举个例子,一次判定,你是记录操作信息还是记录结果信息,如果记录了结果那还记录操作信息干嘛,重新计算不是还要耗费时间,毕竟,录像看就好了,不用操纵


TOP

引用:
原帖由 xphi 于 2007-9-27 20:41 发表


别的太明显的错误就不和你说了,知不知到Halo3的回放是可以自由移动镜头的?
。。自由移动镜头和我说的有什么关系吗?只要不能操作,那我说的方法就没问题

恩,如果你指的是视野外的内容,记录命令和去执行是两码事吧,至于细节层次问题,那只不过是调用模型贴图罢了,除非移动了镜头渲染效果发生了本质变化才能说明额外的信息在回放的过程中被重新计算了

总的来说,我觉得你说的方法实在太不实际,具体实现起来太麻烦了,基本上只需要调用渲染单元,可能再加上一些单元来处理你在移动镜头时的判定罢了,记录操作信息再计算太不实际而且没有必要

TOP

引用:
原帖由 xphi 于 2007-9-27 20:41 发表


别的太明显的错误就不和你说了,知不知到Halo3的回放是可以自由移动镜头的?
恩,算了,我觉得还是不要讨论这个问题了,因为没有人知道HALO的程序结构是怎么样的,图形引擎是怎么工作的,这个没个结果

不过我依然觉得绝对不是你说的办法,因为你那个。。是个最笨的办法。。全部重新计算,在知道具体的数据流程和结构的情况下要达到那种回放有很多优化方法,绝对不需要记录那么多数据,既然结果之前都出来了,为什么我要把它重新计算出来

至于你说的自由移动问题,我觉得很好解决,只需要让程序知道那个需要绘制,具体绘制哪个面在移动的过程再判断就是了,具体的如光照方向之类的直接调用结果岂不快些

TOP

引用:
原帖由 xekrn 于 2007-9-27 21:28 发表

不知道你在胡扯什么。游戏的时候MC视角外的东西全部都被clip掉,哪里来的渲染指令?
回放的时候可以第一视角第三视角随便切换,可以360随便转视角,还可以自由控制camera去游戏里去不了的地方,这些地方正常 ...
你搞清楚我指的是什么再说吧,绘制的场景是固定的不用更改,具体哪个面可见,显示在显示器上那是另外一个流程

如果你能找到图片,证明游戏里你操纵MC使得某物体对某方向有镜面反射效果,如果你在回放镜头的时候,反射方向随你镜头方向改变,OK,那算我错了,如果不变,你就闭嘴吧

TOP

引用:
原帖由 xekrn 于 2007-9-27 21:46 发表

重新计算不是笨办法,如果AI结构写的好完全做的到,况且这种做法从CS到SC到WC都一直在用了。

另外我倒是想听听你怎么解释你的“渲染指令”。

如果一个阿兵跟在MC身后直到关末都没进MC的视野,如果游戏的 ...
。。你没看见他,是因为他没有进入视野,当然不需要进入流水线显示,你能看见他,是因为程序记录他在这个场景里,应该用什么方式来绘制,都是记录好了的,回放的时候直接调用结果,然后根据你的视点再渲染,呈现,就算我名词用的不对误导了你,场景里的景物该如何绘制,光照方向,水的物理状态都是之前决定了的东西,为什么要再计算一遍,直接调结果不好?

TOP

引用:
原帖由 xekrn 于 2007-9-27 21:48 发表

谁根你说什么反射效果,我先问你MC身后的东西是怎么来渲染指令的?
你难道想说整个游戏就不做PVS不做CLIP全部扔进GPU了?

另外你玩过HALO3没啊? 没见过回放模式去IGN GT下个视频看看再说。
。。。讲图像你不谈反射效果,给你机会证明我是错的你当没看见
算了,跟你讲技术问题简直浪费时间

TOP

引用:
原帖由 xekrn 于 2007-9-27 21:57 发表

昏倒,你的“绘制指令”到底是什么?

另外如果按你说的,什么结果都是定好的,那么请问整个关卡回放到底该存储些什么?



如果真是你这么说的,那么和记录每帧的坐标和方向有什么区别?
好吧,我最后给你解释一遍,比如你玩的时候一个物体向你的方向有很亮的反射,回放的时候你绕到侧面,它并不向那个方向反射,那就说明对这个物体的状态没有重新计算

一个物体该如何绘制的信息之前就应该计算好了,所以只需要存贮结果,回放的时候你从哪边看,把它相关面的信息展示在你的面前是另外一个流程,所以我说只要记录之前的结果就好了,回放只不过是调结果,你从不同角度看当然要重新渲染

我并不赞同的是楼上的记录玩家的操作,然后所有的信息重新计算的观点,那样太笨,浪费资源
以上。。。。这个帖完全没仔细讨论的必要,因为没人知道HALO到底是怎么运作的

TOP

发新话题
     
官方公众号及微博