custom depth,黄色为物体,d为到摄像头的像素数,背景M可以理解为极大数 custom stencil,背景可以理解为0,s为物体设置的stencil值 所以,与custom depth不同,获得描边的像素是通过判断像素周围是否stencil值大于0从而获得一个大于物体一圈的像素,如下图 收敛到0-1得到 再与stencil值收敛到0-1的1减值(下图)相乘 得到...
2. 将待描边高亮物体配置 Custom Depth / Stencil Write 3. 实现 Sobel 算子得到边缘 Mask 4. 取得遮挡物体 Mask 5. 根据 CustomStencil 获取对应颜色值 6. 得到最终 Mask 值 7. 设置全局后处理 Volume,并添加到后处理材质列表中 8. 看看效果 Part.3 移动端的潜在问题 Sobel 算子中使用 CustomDepth 还是 ...
2. SceneTexture CustomStencil介绍: 2.1 SceneTexture概念: SceneTexture是Unreal Engine 4(UE4)提供的一种用于访问场景渲染数据的工具。它通过将渲染目标存储为特定类型的纹理,提供了对深度、法线、世界位置等数据的访问。SceneTexture可以在材质中使用,并用于创建各种视觉效果。 2.2 CustomStencil简介: CustomStencil是一...
CustomStencil,又称CustomDepthStencil,实际上是一个模板值,用于物体分类处理,而非深度值。SceneDepth与CustomDepth的差异在于前者是全局的深度信息,后者则能排除非目标区域。而CustomDepth与CustomStencil的区别在于,后者允许根据模板值对不同物体进行个性化处理。在实践中,你可以通过视口的缓冲显示菜单查看...
1.开启UE4的Custom Depth-Stencil Pass(自定义深度-模板通过)功能。 Project Settings → Engine → Rendering → Postprocessing → Custom Depth-Stencil Pass设置为Enable with Stencil。 开启自定义深度模板 2.设置目标组件。比如,我们在此处设置的是WidgetComponent上的Custom Stencil。注意自定义模板值范围为0~255...
在4.15版本里我们还加入了Custom Stencil,伴随Custom Depth,我们还会对每一个物体存一个独立的Stencil的值。比较典型的运用就是敌人和友方我们可以去画不同的勾边。当然由于移动GPU的限制,所以我们渲染出了一张额外的depth用来存stencil。 除了渲染呢,我们还做了一些其他的针对移动设备的一些改进。
settings”调整,“Custom Depth-Stencil Pass”应设置为“Enabled with Stencil”。后处理材质的具体应用方式不在此赘述,主要方法有三种:通过“post process volumn”、在“Camera”中设置或使用“post process component”。实现透视描边效果的自定义节点,关键在于正确设置材质参数与后处理流程的衔接。
接下来把这个效果的特定区域进一步限定到仅影响目标物体;这可以通过打开目标的Custom Stencil来做Mask来实现。(项目设置中Custom Depth-Stencil Pass: Enabled with Stencil;对象Actor打开Render CustomDepth Pass并设置一个CustomDepth Stencil Value,这里为1)
#define STENCIL_ITEMHIGHLIGHT 255; 复制代码 在C++中直接启用自定义深度并设置顺序。 GetMesh()->SetRenderCustomDepth(true); GetMesh()->CustomDepthStencilValue = STENCIL_ENEMY_OUTLINE; // or simply assign an int32 within 1-255 range.