vault backup: 2024-05-23 20:32:12
This commit is contained in:
parent
a9ba97ead5
commit
b1e8542752
@ -1 +1 @@
|
||||
{"128044539":{"128044539":{"currentFile":{"count":1,"lastUpdated":1714359212233}}},"StartLiveDirector:启动Bat文件":{"StartLiveDirector:启动Bat文件":{"currentFile":{"count":1,"lastUpdated":1713845438773}}},"Tools:一些第三方库,以及":{"Tools:一些第三方库,以及":{"currentFile":{"count":1,"lastUpdated":1713845507638}}},"LiveDirector:导播台。":{"LiveDirector:导播台。":{"currentFile":{"count":1,"lastUpdated":1713846588874}}},"Python:小工具,":{"Python:小工具,":{"currentFile":{"count":1,"lastUpdated":1713847220779}}},"HotKeyManager:快捷键相关,可以通过配置实现。":{"HotKeyManager:快捷键相关,可以通过配置实现。":{"currentFile":{"count":1,"lastUpdated":1713948483286}}},"MotionProcessor:导播台,动捕":{"MotionProcessor:导播台,动捕":{"currentFile":{"count":1,"lastUpdated":1714027644634}}},"启动青瞳客户端。右下一。":{"启动青瞳客户端。右下一。":{"currentFile":{"count":1,"lastUpdated":1714027880674}}},"MapEnvironment.Bat修改Server":{"MapEnvironment.Bat修改Server":{"currentFile":{"count":1,"lastUpdated":1714028106908}}},"StreamDock":{"StreamDock":{"currentFile":{"count":1,"lastUpdated":1714033564310}}},"添加道具、物品、场景、特效":{"添加道具、物品、场景、特效":{"currentFile":{"count":1,"lastUpdated":1714036023017}}},"OutlinePass":{"OutlinePass":{"internalLink":{"count":1,"lastUpdated":1715346170348}}},"JNCustomAssetEd:定义修型资产":{"JNCustomAssetEd:定义修型资产":{"currentFile":{"count":1,"lastUpdated":1715827692229}}},"GreenScreen":{"GreenScreen":{"currentFile":{"count":1,"lastUpdated":1715843645080}}},"Character":{"Character":{"currentFile":{"count":1,"lastUpdated":1715848900346}}},"定义了·FGuid":{"定义了·FGuid":{"currentFile":{"count":1,"lastUpdated":1715915171873}}},"(例如Idol.BeiLa)。以及FollowingSocketName":{"(例如Idol.BeiLa)。以及FollowingSocketName":{"currentFile":{"count":1,"lastUpdated":1716192086731}}},"DirectorCamera为场景相关的相机(静态镜头)。":{"DirectorCamera为场景相关的相机(静态镜头)。":{"currentFile":{"count":1,"lastUpdated":1716192192053}}}}
|
||||
{"128044539":{"128044539":{"currentFile":{"count":1,"lastUpdated":1714359212233}}},"HotKeyManager:快捷键相关,可以通过配置实现。":{"HotKeyManager:快捷键相关,可以通过配置实现。":{"currentFile":{"count":1,"lastUpdated":1713948483286}}},"MotionProcessor:导播台,动捕":{"MotionProcessor:导播台,动捕":{"currentFile":{"count":1,"lastUpdated":1714027644634}}},"启动青瞳客户端。右下一。":{"启动青瞳客户端。右下一。":{"currentFile":{"count":1,"lastUpdated":1714027880674}}},"MapEnvironment.Bat修改Server":{"MapEnvironment.Bat修改Server":{"currentFile":{"count":1,"lastUpdated":1714028106908}}},"StreamDock":{"StreamDock":{"currentFile":{"count":1,"lastUpdated":1714033564310}}},"添加道具、物品、场景、特效":{"添加道具、物品、场景、特效":{"currentFile":{"count":1,"lastUpdated":1714036023017}}},"OutlinePass":{"OutlinePass":{"internalLink":{"count":1,"lastUpdated":1715346170348}}},"JNCustomAssetEd:定义修型资产":{"JNCustomAssetEd:定义修型资产":{"currentFile":{"count":1,"lastUpdated":1715827692229}}},"GreenScreen":{"GreenScreen":{"currentFile":{"count":1,"lastUpdated":1715843645080}}},"Character":{"Character":{"currentFile":{"count":1,"lastUpdated":1715848900346}}},"定义了·FGuid":{"定义了·FGuid":{"currentFile":{"count":1,"lastUpdated":1715915171873}}},"(例如Idol.BeiLa)。以及FollowingSocketName":{"(例如Idol.BeiLa)。以及FollowingSocketName":{"currentFile":{"count":1,"lastUpdated":1716192086731}}},"DirectorCamera为场景相关的相机(静态镜头)。":{"DirectorCamera为场景相关的相机(静态镜头)。":{"currentFile":{"count":1,"lastUpdated":1716192192053}}},"ECS资料":{"ECS资料":{"currentFile":{"count":1,"lastUpdated":1716465594941}}}}
|
@ -11,10 +11,19 @@ rating: ⭐
|
||||
|
||||
参考:
|
||||
1. [sequencer mute tracks at runtime from c](https://forums.unrealengine.com/t/sequencer-mute-tracks-at-runtime-from-c/476278/3)
|
||||
2. 其他参考
|
||||
1. [Actor Rebinding in Blueprints with Sequencer(官方文档)]https://docs.unrealengine.com/4.27/en-US/AnimatingObjects/Sequencer/HowTo/AnimateDynamicObjects/
|
||||
2. [Level Sequence actor rebinding in C++](https://www.reddit.com/r/unrealengine/comments/btk1uz/level_sequence_actor_rebinding_in_c/)
|
||||
3. Sequence ECS资料
|
||||
1. [大规模内容的性能保障:虚幻引擎4.26中的Sequencer(官方文档)](https://www.unrealengine.com/zh-CN/tech-blog/performance-at-scale-sequencer-in-unreal-engine-4-26)
|
||||
2. [UE4.26(5.0)后的Sequence系统](https://zhuanlan.zhihu.com/p/589465561)
|
||||
3. [UE5 Sequence 浅-浅-析](https://zhuanlan.zhihu.com/p/676690043)
|
||||
4. ECS资料
|
||||
1. [一文看懂ECS架构]https://zhuanlan.zhihu.com/p/618971664
|
||||
|
||||
可行思路:
|
||||
1. 给导播创建一个快捷键(Hotkey),之后在触发根据Tag切换对应角色动画蓝图中的逻辑。
|
||||
2. 使用Sequence的EventTrack设置若干事件。
|
||||
2. [x] 使用Sequence的EventTrack设置若干事件。
|
||||
3. 模改UMovieSceneSkeletalAnimationTrack,实现一个可以自动根据Tag捕获对应角色并且播发动画的功能。
|
||||
|
||||
# 方案一
|
||||
@ -464,4 +473,26 @@ Runner->QueueUpdate(Context, RootTemplateInstance.GetRootInstanceHandle(), FSimp
|
||||
```
|
||||
|
||||
## SequenceRecorder
|
||||
SequenceRecorder模块的基类是ISequenceRecorder。
|
||||
SequenceRecorder模块的基类是ISequenceRecorder。
|
||||
|
||||
# Sequencer ECS
|
||||
## 使用ECS的原因
|
||||
**可伸缩性**
|
||||
如果使用新的运行时,应该能够编写包含成百上千个轨道或序列的内容,并且将这些内容作为一个整体来优化求值逻辑。这包括:
|
||||
- 分配和组织数据,使性能不会随着活动Sequencer轨道的增加而快速恶化。
|
||||
- 能够完全删除已知不再需要的逻辑和分支,不必在每一帧都为它们付出成本。没有代码就是最快的代码。这条原则应该适用于Sequencer求值代码的所有方面,而不仅限于最高级。
|
||||
- 求值逻辑应该能够直接、高效且不受阻碍地批量访问必要数据,而不必通过复杂或低效的抽象与内存交互。
|
||||
|
||||
**并发性**
|
||||
写入求值逻辑应该很简单,而且天然就能安全而高效地扩展到多个核心,包括上游/下游依赖性的表达定义(例如,并行地对所有曲线求值)。由于具备仅设置一次管线的综合优点,这不仅能让许多轻量级的小型动画受益,也有益于非常大的序列。
|
||||
|
||||
**可扩展性**
|
||||
应该可以在内置功能的基础上构建逻辑,而不必重新实现核心系统。添加与核心系统交互的上游或下游功能应该是可以合理实现的。这包括:
|
||||
- 在管线中的任何位置,当前帧的所有数据都应该是透明且可改变的。
|
||||
- 可靠的依赖性管理。
|
||||
|
||||
这些设计目标,再加上Sequencer本身的各种问题,使得采用[数据导向的设计](https://en.wikipedia.org/wiki/Data-oriented_design)原则成为自然而然的选择,理由如下:
|
||||
- 大部分Sequencer数据是同质的,可以循序布局。
|
||||
- 每种数据变换的逻辑通常具有非常高的独立性,与情境无关(即运行函数f(x)来得到曲线)。
|
||||
- 控制和数据流是非常线性的,没有循环或递归的依赖性(也就是说,没有一种逻辑会要求重新计算已经计算出的数值)。
|
||||
- 只有初始设置和最终属性设置器才有线程限制。
|
Loading…
x
Reference in New Issue
Block a user