vault backup: 2024-05-27 11:10:54
This commit is contained in:
parent
d85b3bbf36
commit
3701e1f7e0
BIN
.vs/BlueRoseNote_New/v17/.wsuo
Normal file
BIN
.vs/BlueRoseNote_New/v17/.wsuo
Normal file
Binary file not shown.
BIN
.vs/BlueRoseNote_New/v17/Browse.VC.db
Normal file
BIN
.vs/BlueRoseNote_New/v17/Browse.VC.db
Normal file
Binary file not shown.
BIN
.vs/BlueRoseNote_New/v17/workspaceFileList.bin
Normal file
BIN
.vs/BlueRoseNote_New/v17/workspaceFileList.bin
Normal file
Binary file not shown.
3
.vs/ProjectSettings.json
Normal file
3
.vs/ProjectSettings.json
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"CurrentProjectSetting": null
|
||||
}
|
6
.vs/VSWorkspaceState.json
Normal file
6
.vs/VSWorkspaceState.json
Normal file
@ -0,0 +1,6 @@
|
||||
{
|
||||
"ExpandedNodes": [
|
||||
""
|
||||
],
|
||||
"PreviewInSolutionExplorer": false
|
||||
}
|
BIN
.vs/slnx.sqlite
Normal file
BIN
.vs/slnx.sqlite
Normal file
Binary file not shown.
@ -26,41 +26,6 @@ rating: ⭐
|
||||
2. [x] 使用Sequence的EventTrack设置若干事件。
|
||||
3. 模改UMovieSceneSkeletalAnimationTrack,实现一个可以自动根据Tag捕获对应角色并且播发动画的功能。
|
||||
|
||||
# 方案一
|
||||
- UMovieSceneTrack::SetEvalDisabled(bool)
|
||||
- ULevelSequence::MarkAsChanged()
|
||||
- MovieSceneCompiledDataManager::GetPrecompiledData()->Compile(ULevelSequence*)
|
||||
```c++
|
||||
// You first have to set the unwanted track as disabled via
|
||||
void YourDisableTrackFunction(UMovieSceneTrack* MovieSceneTrack, bool Value)
|
||||
{
|
||||
if (MovieSceneTrack)
|
||||
{
|
||||
MovieSceneTrack->SetEvalDisabled(Value);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Then notify the sequencer that the tracks have been modified using MarkAsChanged and UMovieSceneCompiledDataManager::GetPrecompiledData()->Compile.
|
||||
void YourMarkAsChangedFunction(ULevelSequence* Sequence)
|
||||
{
|
||||
if (Sequence)
|
||||
{
|
||||
Sequence->MarkAsChanged();
|
||||
if (UMovieSceneCompiledDataManager::GetPrecompiledData())
|
||||
{
|
||||
UMovieSceneCompiledDataManager::GetPrecompiledData()->Compile(Sequence);
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
# 方案二
|
||||
UMovieSceneSequenceExtensions methods are not exported. They don’t have the PLUGIN_API macro in the class, so you can’t link to them. Someone on discord said you can copy the plugin into your own project and add your own API macro and rebuild, but seems like a bit of work.
|
||||
```c++
|
||||
#include "LevelSequencePlayer.h" #include "MovieSceneSequencePlaybackSettings.h" #include "DefaultLevelSequenceInstanceData.h" #include "LevelSequenceActor.h" void UMyAnimInstance::StartSequence_Implementation() { FMovieSceneSequencePlaybackSettings Settings; ALevelSequenceActor *SequenceActor = nullptr; ULevelSequencePlayer* player = ULevelSequencePlayer::CreateLevelSequencePlayer(this, this->MySequence, Settings, SequenceActor); check(player); check(SequenceActor); SequenceActor->bOverrideInstanceData = 1; UDefaultLevelSequenceInstanceData* InstanceData = Cast<UDefaultLevelSequenceInstanceData>(SequenceActor->DefaultInstanceData.Get()); InstanceData->TransformOrigin = this->GetOwningActor()->GetActorTransform(); UMovieScene* MovieScene = this->MySequence->GetMovieScene(); check(MovieScene); const FMovieSceneBinding* Binding = Algo::FindBy(MovieScene->GetBindings(), FString("SequencerActor"), &FMovieSceneBinding::GetName); check(Binding); EMovieSceneObjectBindingSpace Space = EMovieSceneObjectBindingSpace::Root; FMovieSceneObjectBindingID BindingID = UE::MovieScene::FRelativeObjectBindingID(Binding->GetObjectGuid()); // Not sure about this if (Space == EMovieSceneObjectBindingSpace::Root) { BindingID.ReinterpretAsFixed(); } SequenceActor->AddBinding(BindingID, this->GetOwningActor()); player->Play(); // Save actor and player in properties this->SequencerActor = SequenceActor; this->SequencerPlayer = player; }
|
||||
```
|
||||
|
||||
# 自定义Track
|
||||
- Runtime修改绑定
|
||||
- UE4:扩展Sequencer的BakeTransform有关Camera的参数:https://zhuanlan.zhihu.com/p/554484287
|
||||
@ -497,12 +462,8 @@ SequenceRecorder模块的基类是ISequenceRecorder。
|
||||
- 控制和数据流是非常线性的,没有循环或递归的依赖性(也就是说,没有一种逻辑会要求重新计算已经计算出的数值)。
|
||||
- 只有初始设置和最终属性设置器才有线程限制。
|
||||
|
||||
|
||||
TODO:
|
||||
1. https://www.unrealengine.com/marketplace/zh-CN/product/blueprintsequencertrack
|
||||
2.
|
||||
|
||||
可参考Tracker实现:
|
||||
- https://www.unrealengine.com/marketplace/zh-CN/product/blueprintsequencertrack
|
||||
- GeometryCacheTracks & GeometryCacheSequencer
|
||||
- MovieSceneEventTrack
|
||||
- MovieSceneEventSection
|
||||
|
Loading…
x
Reference in New Issue
Block a user