前言
CommonUI主要解决了层叠式UI输入事件处理、多平台多输入设备管理问题以及控件的激活/卸载。
其中比较重要的机制是CommonUI实现的输入路由功能,其代码位于:CommonGameViewportClient.h 和 CommonUIActionRouterBase.h 。
官方教学
- 文档
- 视频
CommonUI主要解决了层叠式UI输入事件处理、多平台多输入设备管理问题以及控件的激活/卸载。
其中比较重要的机制是CommonUI实现的输入路由功能,其代码位于:CommonGameViewportClient.h 和 CommonUIActionRouterBase.h 。
早几年学习UE的时候发现TextRender渲染中文的时候会出现□的情况,一直都去解决。最近又遇到这个需求了,最终在官方论坛上找到了解决方案,现在分享给大家。
最近继续学习Rtx,所以就总结一下相关debug工具的使用方法。当然如果你是A卡用户大概就需要【新鲜资讯】Radeon™光线追踪分析器(RRA)1.0正式上线。
最近打算开始研究UE的RayTracing,但欲先利其事必先利器,必要的Debug手段还是需要会用。在发现RenderDoc不支持RayTracing后,花了些时间学习了一下NSight Graphics。一般的流程就是使用NSight启动要调试的游戏(项目)进程,之后按F11截帧并使用所需工具查看。下面的章节将会简单介绍一下它的功能。
前段时间本人尝试发布自己写的插件到Market Place,因为每次审核会需要1~3天时间不等,所以在这里分享一下我的经验。
本插件通过UnrealEngine的MeshDraw框架实现类似Unity的多Pass效果,无需后处理即可实现BackFace描边、剖切效果。并且可以让一个部位同时渲染Unlit与Lit光照模式的Material。
MultiDraw5.0案例项目
MultiDraw5.1及后续版本案例项目
使用方法:下载在Plugins文件中放入MultiDraw,即可运行。
注意:本项目只有5.0及以上版本才可以打开。
This plugin uses UnrealEngine’s MeshDraw framework to achieve a multi-Pass effect looks like Unity’s, with no post-processing required to achieve strokes and cutoff.
MultiDraw UE5.0 ExampleProject
MultiDraw UE5.1 and newer versions ExampleProject
Usage:Download this project,and put MultiDraw plugin into plugins folder.
Notice:This project only UE5.0 and higher can run.
最近做卡通渲染,美术同学反应每次更换渲染贴图都需要手动替换资源并重启引擎相当麻烦。所以花时间了解了一下UE4的渲染资源逻辑。并且找到了解决方法。
通常我们在后处理体积,也就是APostProcessVolume设置后处理效果。它存储了struct FPostProcessSettings Settings;
加入关卡后,会存储在UWorld的PostProcessVolumes中,之后依次调用DoPostProcessVolume=》OverridePostProcessSettings,之后修改FSceneView中的FFinalPostProcessSettings FinalPostProcessSettings。(对所有属性进行插值计算)
最后就可以通过View.FinalPostProcessSettings来读取后处理参数了。
之前我有写过两篇通过自定义场景代理来实现描边的文章:
https://zhuanlan.zhihu.com/p/69139579
https://zhuanlan.zhihu.com/p/69156465
当时有一个问题没解决,就是不知道如何将材质设置为反向剔除,因为UE4只有双面渲染选项,毕竟只有卡通渲染等一些非真实渲染才需要这种功能。但经过MeshDraw框架的学习,我发现只需要在场景代理中设置一下FMeshBatch剔除属性即可,而且这个方法没有任何副作用。其他代码可以参考我的插画。效果如图(没有使用深度偏移)
