文章列表

记录BongoCat的自动开箱。 BongoCat的dll没有加密混淆,作者也说代码可见,可以自己修改。 使用反编译工具dnSpy,打开游戏目录的Assembly-CSharp.dll。 然后修改dll里对应的代码。 修改完保存dll替换。 1.点击倍数Pet类里,找到AddPet方法,修改点击数据。 每次点击计数+100 123this._currentGained += 100;this._currentAchievement +=...

UE里默认不支持多Pass,项目里一般都会需要这个功能。 记录一下一种实现思路。 效果视频: StaticMesh多Pass实现主要是两个方面,一个是材质管理,另一个是把多Pass加入渲染流程中。 材质管理首先需要在UStaticMesh和UStaticMeshComponent里新增多Pass材质。 UStaticMesh是用资产编辑器打开的窗口,最里层的材质设置。 UStaticMeshComponent是SM要渲染的必要组件,可以设置材质进行覆盖UStaticMesh里的材质。(常见里摆放或者蓝图里) 多Pass的结构定义,材质Index以及是否投阴影。 123456789101112...

大佬们的文章链接参考: https://zhuanlan.zhihu.com/p/666213716 https://zhuanlan.zhihu.com/p/100748588 UE的DeferredDecalUE的延迟贴花有两种版本,一种是使用DBuffer,还有一种不使用DBuffer。 不使用DBuffer的情况 首先有一个BOX来划定范围,投射方向。 过程中画两次这个BOX。 第一次,关闭Cull,画Stencil: 第二次,CullBack,模板测试等于: BOX的范围内,深度图转换为WorldPos,然后再转换到BOX空间。 使用BOX内的空间坐标采样Decal图,然后加到G...

这篇记一下ShadowMap阴影的技术。 1.ShadowMap相关ShadowMap的原理从Light的方向渲染场景的深度图,因为具有遮挡关系,所以能做阴影用。https://zhuanlan.zhihu.com/p/384446688 阴影投影的过程需要投影的物体的转换过程,从Light方向画这些物体的深度: World空间—— ——>Light空间 先位移,再旋转 ——>Light视锥体 (XY范围缩放,Z深度缩放)...

已经在UE4.27 添加了 有两种, 一种是蓝图调用的GlobalShader Draw调用。 另一种是渲染线程过程中加了一步,可以做个类似后处理的那种。 记录第一种蓝图调用的这种,需要的所有东西: 1.C++的Shader结构Shader的声明,对应usf里的文件和方法,shader本身的参数定义 123456789101112131415161718192021222324252627282930313233343536373839404142//--------------VertexShader-------------------class FLoyGlobalShaderVS :...

1.什么是PSO?PSO(Pipeline State Object)是现代图形API(DX12、Vulkan、Metal)提出的新概念,以前的API设置VS、Rasterizer、PS、BlendState这些状态时,需要一个一个调用设置,PSO可以理解就是把这些状态封装为一个Object,一次调用SetPipelineState的API即可。 2.为什么需要Cache PSO?游戏在运行过程中,根据底层API,会有需要创建新的PSO对象的时候,这个创建的过程比较耗时,会导致卡顿。PSO...