射击游戏的延迟对抗
实现网络实时对战游戏的时候,延迟是一个躲不开的难题,总是需要各种经验和技巧。只要是发布在互联网上的游戏,延迟就客观存在,以目前基础技术来说延迟不可能消除。假设光纤以光速一秒绕地球7圈半来说,1000ms/7.5=133ms,就算用光纤直连也有133ms的延迟(严谨一点的话应该算半球,也有66ms),而且互联网庞大且复杂,还要把同一根光纤的网络拥堵和路由器协调运算时间算进去。要做世界服务器网络...
实现网络实时对战游戏的时候,延迟是一个躲不开的难题,总是需要各种经验和技巧。只要是发布在互联网上的游戏,延迟就客观存在,以目前基础技术来说延迟不可能消除。假设光纤以光速一秒绕地球7圈半来说,1000ms/7.5=133ms,就算用光纤直连也有133ms的延迟(严谨一点的话应该算半球,也有66ms),而且互联网庞大且复杂,还要把同一根光纤的网络拥堵和路由器协调运算时间算进去。要做世界服务器网络...
对于不同角色或者是不同职业不同性别,策划和美术都会规划不同体型,不同的骨骼和骨骼结构。不同骨骼的动画管理一直是个比较麻烦的事情。项目一般喜欢把这种动画管理的解决方案叫做动画集AnimationSet。但是实际开发中不同骨骼的情况下又会要求它们要共用动画逻辑,比如说人物的Locomotion逻辑共用,各种攀爬运动逻辑共用等,而UE并没有一个完善的共用机制。本文目的是探讨一些共用动画蓝图的方法。...
MotionWarping算是一项老生常谈的动画技术了。技术本身原理并不复杂,不过UE自己却有不少的变种实现方案,对这最基础的实现思想有不断的进化和补充,目的也是为了提高算法的最终表现效果,做3A游戏真是对细节真是孜孜不倦啊。本文主要是解释MotionWarping的基础原理和UE的SkewWarping的实现原理。 DeltaCorrection和AnimationWarping Mo...
叠加动画常用于战斗受击、射击抖动、AO等。其作用是能同时两个动画的表现,如角色在跑步的时候受击,跑动动画是不能停的同时也要有被击中的抽搐表现;又如角色瞄准的时候射击,射击会因为武器的后坐力让角色躯体发生抖动,而角色也会下意识地维持着瞄准动作……叠加动画几乎占据角色动画逻辑的一大部分,不过似乎很少人讨论有关叠加动画的技术细节。本以UE实现方法为例,意在分析叠加动画的原理和一些细节。 基本原理...
有时候实现Gameplay逻辑的时候,会要求判断屏幕的圆是否与场景的碰撞体相交(如瞄准辅助)。屏幕的圆与场景碰撞相交本质是视锥体与场景物体是否相交。此时ConeTrace能解决此问题,然而UE并不支持,Physx貌似也没有此类基本几何体。本文意在实现快速的ConeTrace。 ConeTrace在摄像机内的横截面图示 构造凸包碰撞体方案 动态生成凸包是最万金油的做法,基本上大部分三...
上一章介绍了掩体系统在离线/运行时的场景掩体点生成算法流程。本章主要介绍掩体在运行时的交互逻辑流程。 运行时交互 由于不同体型,不同角色速度角度或者别的参数的情况下掩体生成阶段无法抉择,运行时的判断是必须的 掩体过矮、过窄、坡度过陡、转角角度过大都被认为不能进入的掩体 掩体点过滤和择优 我们上一章节介绍了根据场景Navmesh生成的掩体点。掩体点粗略代表了此位置是可以进入的掩体位...
掩体系统在gameplay中是个复杂度较高的系统,其独立性较高的同时,也跟其他3C系统关联很大,并且不同游戏中做法也不一样。本文目的在于实现高弹性动作射击游戏的掩体系统。 掩体地形数据 掩体地形数据有些游戏是通过策划配置,编辑那些掩体哪个面,或者配置掩体位置的曲线表示哪里能进那些不能。这种做法虽然比较可控,但是制作非常繁琐。在大世界游戏中会有大量PCG内容,虽然部分掩体物体都是通过模...
1、模块缺少依赖 常见问题,再Build.CS添加上模块依赖即可,见 https://docs.unrealengine.com/4.27/en-US/ProductionPipelines/BuildTools/UnrealBuildTool/ModuleFiles/ 2、使用没有被导出的类的情况 如图,继承UAnimGraphNode_SequencePlayer类 在子类调用...
高速运动的物体需要连续碰撞检测解决离散帧在碰撞检测失败的问题,如子弹。连续碰撞检测(Continuous Collision Detection)简称CCD。 CCD有几种解决方案: 1、Sub-Stepping 子步,又称Supersampling超采样,是UE4的物理引擎PhysxCCD的一种实现方法(不确定是否是默认的实现方法,见https://docs.nvidia.com/g...
有些问题过去久远了,相关的bug单都找不到了,但是实在让人印象深刻,还是要记录一下滴~~ 在iOS中,雾在场景会闪烁 表现:在教堂场景中,打开雾效会闪烁。场景贴图跟雾有种Z-Fighting一样的表现。 原因:iOS中,PBR_Scene_DetailNormal.shader(实际代码在Scene_PBR.hlsl)的雾效的一段计算(ComputeFogFactor函数),在fr...