Init
This commit is contained in:
27
02-Note/演讲与教程笔记/虚幻开放日2020/LiveLink的应用及扩展.md
Normal file
27
02-Note/演讲与教程笔记/虚幻开放日2020/LiveLink的应用及扩展.md
Normal file
@@ -0,0 +1,27 @@
|
||||
## 参考案例
|
||||
https://www.bilibili.com/video/BV1tp4y1r7A7
|
||||
|
||||
Engine/Source/Runtime/LinvLinkInterface
|
||||
|
||||
## 添加数据类型
|
||||
>在Roles文件夹中得到XXXType.h与XXXRole.h中,增加自定义数据类型与Roles规则。
|
||||
|
||||
- FLiveLinkBaseStaticData:静态变量
|
||||
- FLiveLinkBaseFrameData:每帧变量
|
||||
- FLiveLinkBaseBlueprintData:蓝图数据,用于在蓝图中访问对应的数据。
|
||||
|
||||
## 添加规则
|
||||
- GetDisplayName():定义自己的LiveLink名称。必须定义且唯一。
|
||||
- GetXXXDataStruct():返回XXXType.h中定义的结构体。
|
||||
- InitializeBlueprintData():初始化数据并且赋值到FLiveLinkBaseBlueprintData中设置的变量里。
|
||||
|
||||
## 编写LiveLinkProvider(数据发送端)
|
||||
>在Provider中编写传递数据过程
|
||||
|
||||
## 编写LiveLinkController
|
||||
IsRoleSupportedd():判断Role是否为指定Role,即判断数据为什么类型Role的数据。
|
||||
Tick():编写每帧处理逻辑。
|
||||
|
||||
## 使用
|
||||
在LiveLink管理器中连接Provider
|
||||
在Actor中挂载LiveLinkController组件
|
26
02-Note/演讲与教程笔记/虚幻开放日2020/有用演讲地址.md
Normal file
26
02-Note/演讲与教程笔记/虚幻开放日2020/有用演讲地址.md
Normal file
@@ -0,0 +1,26 @@
|
||||
### 虚幻引擎4全平台热更新方案
|
||||
https://www.bilibili.com/video/BV1ir4y1c76g
|
||||
|
||||
### 虚幻引擎中基于物理的动画
|
||||
https://www.bilibili.com/video/BV1UV411a7Jq
|
||||
主要讲解使用的计算功能与思路。
|
||||
|
||||
### 深入解读Niagara:智能粒子效果
|
||||
https://www.bilibili.com/video/BV1At4y1v7EQ
|
||||
|
||||
### 虚幻引擎的Niagara系统与实时VFX的演进(Niagara功能节点介绍)
|
||||
https://www.bilibili.com/video/BV13541157SU
|
||||
|
||||
### 纯虚幻引擎流程的卡通烟雾特效
|
||||
https://www.bilibili.com/video/BV1fV411a7Se
|
||||
一句话:是要用Niagara模拟粒子,之后使用CaptureSceneRender获知速度、透明度、Alpha等信息的flip,之后再制作粒子效果。
|
||||
|
||||
### 用虚幻示意图形(UMG)UI设计器优化并构建3A级UI
|
||||
https://www.bilibili.com/video/BV1EK4y1j7VB
|
||||
UMG的优化
|
||||
|
||||
### 用Unreal Insights收集、分析及可视化你的数据
|
||||
https://www.bilibili.com/video/BV1Ay4y1q7Kj
|
||||
|
||||
### 利用虚幻引擎自动化框架进行性能测试
|
||||
https://www.bilibili.com/video/BV1Ca4y1p7Bq
|
18
02-Note/演讲与教程笔记/虚幻开放日2020/用CI与CD基础架构实现高效的移动游戏开发.md
Normal file
18
02-Note/演讲与教程笔记/虚幻开放日2020/用CI与CD基础架构实现高效的移动游戏开发.md
Normal file
@@ -0,0 +1,18 @@
|
||||
## 视频地址
|
||||
https://www.bilibili.com/video/BV19p4y167gh
|
||||
|
||||
## 为什么需要CL
|
||||
- 多操作系统开发需要
|
||||
- 构建与发布产品(不同环境)
|
||||
- 构建DLL并且上传到哨兵程序中
|
||||
- 构建自定义引擎
|
||||
- 运行自动测试程序
|
||||
- 检测代码与分支的有效性
|
||||
- 为每个设置构建对应的版本
|
||||
|
||||
## CL工具
|
||||
- TeamCity
|
||||
- Jenkins
|
||||
- Bamboo
|
||||
|
||||
## CD
|
40
02-Note/演讲与教程笔记/虚幻开放日2020/虚幻引擎移动端ComputeShader的应用.md
Normal file
40
02-Note/演讲与教程笔记/虚幻开放日2020/虚幻引擎移动端ComputeShader的应用.md
Normal file
@@ -0,0 +1,40 @@
|
||||
|
||||
## 视频地址
|
||||
https://www.bilibili.com/video/BV1ey4y1q7s4
|
||||
|
||||
## ComputerShadder
|
||||
### 支持原子操作
|
||||
InterLockedAdd(),Min()/Max(),Exchange()
|
||||

|
||||
|
||||
### 线程同步
|
||||
GroupMemoryBarrierWithGroupSync()
|
||||
|
||||
### Shader传入参数
|
||||
- GroupThreadID(SV_GroupThreadID)
|
||||
- GroupID(SV_GroupID)
|
||||
- DispatchThreadID(SV_DispatchThreadID)
|
||||
- GroupIndex(SV_GroupIndex)
|
||||
|
||||
可以在微软的文档中找到具体解释。
|
||||
|
||||
### ComputeShader对于PixelShader的优势
|
||||
PixelShader只能处理当前Shader,ComputeShader是任意位置可写。可以用于编写屏幕空间反射等需要将效果写入任意位置的效果。
|
||||
可以更好地利用显卡的并线单元。使用二分法循环计算:
|
||||
|
||||

|
||||
|
||||
共享内存:举个例子模糊、等需要多次采样各个像素的算法,使用共享内存就可以减少采样次数与消耗。
|
||||
|
||||
#### 工作组
|
||||
工作组会影响共享内存大小,从而影响多次采样像素的效率。但也会影响线程同步,同步速度变慢,也会影响原子操作次数。
|
||||
|
||||
### PixelShader对于ComputeShader的优势
|
||||
- PixelShader可以预加载贴图并且缓存UV,使得读取贴图的效率会非常高。而ComputeShader需要计算出UV,所以做不到这点。
|
||||
- PixelShader支持FrameBuffer压缩,减少带宽压力。
|
||||
- PixelShader支持更多的贴图格式。
|
||||
|
||||
## ComputeShader优化技巧
|
||||
- Optimizing Compute Shaders For L2 Locality Using Thread-Group ID Swizzling
|
||||
- DirectCompute Programming Guild
|
||||
- DirectCompute Optizations And Best Practices
|
Reference in New Issue
Block a user