代码改变世界

slate AAA优化

2021-11-10 17:25 by kk20161206, 221 阅读, 0 推荐, 收藏, 编辑
摘要:1. ui frame的3部分 1. hud 缓存 2. draw window widget树的层级的上面和下面都要计算。 (1)弄平 递归调用每个容器,容器包容器包容器,递归进入容器 更多的代码要执行,更多的表要查询,cpu缓存没有命中,修改: widget tree是代码执行这些widget的 阅读全文

Slate调试技巧

2021-11-08 17:49 by kk20161206, 199 阅读, 0 推荐, 收藏, 编辑
摘要:在为项目开发用户界面时,你可以试着深入了解输入事件的处理方式,或者了解不同用户和控件的状态并查看它们在特定时刻的属性,这些都能让你受益匪浅。引擎提供了各种工具来帮助你实现这一点,能让你调试潜在的问题,直观了解界面的布局,从而为你的工作奠定了良好开端。Slate调试器 假如控件在点击后未能正常工作,而 阅读全文

Slate常用优化指南

2021-11-08 14:30 by kk20161206, 115 阅读, 0 推荐, 收藏, 编辑
摘要:授权用户通常会询问如何才能在项目中降低UI渲染成本。当我们为内部项目优化UI时,我们用到了以下经验法则: 消除所有需要每帧运行的内容(tick/绘制),尤其是在蓝图中(tick/绘制)。将蓝图纯粹用于基于事件的逻辑或短暂的动画。 消除绑定属性的使用。属性虽然有用,但考虑到它们会每一帧轮询,其性能并不 阅读全文

rtr 9.6微观几何形态

2021-09-25 12:31 by kk20161206, 102 阅读, 0 推荐, 收藏, 编辑
摘要:1. 比像素小得多的表面的不规则性,BRDF从统计角度来建模;由于各个微表面方向的随机性,所以,这样是有意义的。目前停留在几何光学领域。 2. 微观几何表面法线的分布是连续的,在宏观表面法线处有一个强烈的峰值。这种统计分布的”紧密性“是由表面粗糙度决定的,表面越粗糙,微观几何法线就越“分散”。 3. 阅读全文

ue4 enum和string转换

2021-08-09 20:07 by kk20161206, 636 阅读, 0 推荐, 收藏, 编辑
摘要: 阅读全文

用python创建editor蓝图widget

2021-07-30 09:23 by kk20161206, 141 阅读, 0 推荐, 收藏, 编辑
摘要:UE4 has supported Python scripting within editor builds for a number of versions now. In versions 4.23 and previous, you had the ability to derive you 阅读全文

ue4 python修饰器

2021-07-30 09:20 by kk20161206, 149 阅读, 0 推荐, 收藏, 编辑
摘要:UClass Decorators (Python) @unreal.uclass(), @unreal.ufunction() and @unreal.uproperty() Description By default, ordinary Python classes, functions an 阅读全文

processTexturemapping之setuptextureMapping

2021-03-04 13:09 by kk20161206, 132 阅读, 0 推荐, 收藏, 编辑
摘要:1. setuptextureMapping函数里会calculateTexelCorners,这个函数会光栅化每个三角形里的每个corner, // Rasterize each triangle offset by the corner offsets for (int32 CornerInde 阅读全文

ue4 加载一个用于渲染3D角色到UI的独立关卡的相关问题

2021-03-01 11:25 by kk20161206, 350 阅读, 0 推荐, 收藏, 编辑
摘要:你好,是移动平台对吗? 无论是都放在一个地图里,还是通过子关卡(Streaming level)都需要屏蔽掉一切关卡的灯光和后期对其的影响。为了管理制作方便作为子关卡更好。 在具体实现上除了动态光用Channel屏蔽较为简单直接,主要注意的是需要屏蔽掉主地图的天光;主地图的light cache;以 阅读全文

ue4 lightmap的解码

2021-02-23 17:25 by kk20161206, 179 阅读, 1 推荐, 收藏, 编辑
摘要:一. lq的解码过程 lightmapCommon.ush GetLightMapColorLQ()函数: 1. 纹理采样: 2. 亮度、颜色还原 3. 还原亮度 4. 还原最大贡献方向 5. 最终颜色还原 二、 hq解码过程 lightmapCommon.ush GetLightMapColorH 阅读全文

ue4 lightmap格式解析

2021-02-23 14:05 by kk20161206, 647 阅读, 1 推荐, 收藏, 编辑
摘要:lightmass分hq(pc和主机平台)和lq(移动平台),两者都存照明颜色、照明亮度、入射光线的簇的最大贡献方向。 一、 ue4光照图 1. lq分上下两部分,上部分是(光线颜色的线性空间值*照明亮度经log函数处理值)的归一化值,下半部分是入射光线的簇的最大贡献方向的归一化的值。采用24为rg 阅读全文

ue4 widget 坐標系统

2020-10-13 21:56 by kk20161206, 191 阅读, 0 推荐, 收藏, 编辑
摘要:https://baemincheon.github.io/2020/02/09/unreal-widget-coordinate-system/ 阅读全文

ue4剑侠奇缘2强制引导实现

2020-09-24 14:34 by kk20161206, 100 阅读, 0 推荐, 收藏, 编辑
摘要:1. vsIn: vsOut: 阅读全文

ue4不常用但很有效的api

2020-08-06 20:10 by kk20161206, 161 阅读, 0 推荐, 收藏, 编辑
摘要:https://blog.csdn.net/zhangxiaofan666/article/details/97622295 阅读全文

ue4.25 shader 语法变化

2020-05-28 20:42 by kk20161206, 976 阅读, 0 推荐, 收藏, 编辑
摘要:vs或ps shader里面的类型和变量,以前直接 类名+变量名,现在:LAYOUT_FIELD(类名,变量名) 原来const FVertexShaderRHIParamRef ShaderRHI = GetVertexShader(); 改成了FRHIVertexShader* ShaderRH 阅读全文

ue4 setup排除

2020-05-27 15:19 by kk20161206, 625 阅读, 0 推荐, 收藏, 编辑
摘要:@echo off //关闭回显功能 setlocal //让程序对于系统变量的改变只在程序内起作用 pushd "%~dp0"// 保存当前目录并切换至当前目录 rem Figure out if we should append the -prompt argument set PROMPT_A 阅读全文

unity渲染性能优化

2020-04-29 14:10 by kk20161206, 1037 阅读, 0 推荐, 收藏, 编辑
摘要:cpu bound还是gpu bound cpu bound:渲染task可能分布在多个线程,叫做多线程渲染。主线程、渲染线程、worker线程。主线程包含一些渲染的任务。渲染线程发送命令给gpu。worker线程执行一些单独的任务,裁剪、mesh skin等。但不同目标也可能不同。 哪个task是 阅读全文

unity定位瓶颈

2020-04-29 10:46 by kk20161206, 503 阅读, 0 推荐, 收藏, 编辑
摘要:定位是脚本问题还是渲染问题:https://learn.unity.com/tutorial/diagnosing-performance-problems#5c7f8528edbc2a002053b598 帧率 fps,毫秒。 知道哪些耗时较长比较关键。 哪些部分降低帧率则优化那部分。 记录pro 阅读全文

unity shader矩阵相关优化

2020-04-18 17:07 by kk20161206, 497 阅读, 0 推荐, 收藏, 编辑
摘要:https://chengkehan.github.io/MulOptimizing.html 总结:推荐用o.vertex = UnityObjectToClipPos(v.vertex); 而不是o.vertex = mul(UNITY_MATRIX_MVP, v.vertex); 因为后者会拆 阅读全文

Adreno 505 角色不显示问题

2020-04-18 17:02 by kk20161206, 393 阅读, 0 推荐, 收藏, 编辑
摘要:We are currently testing our project on our dev-kits, one of which is Adreno 505. And it confuses us a lot that whenever we use unity_ObjectToWorld in 阅读全文