新增根据帧数控制可见性
This commit is contained in:
31
client/core/eval/ProjectEvaluator.h
Normal file
31
client/core/eval/ProjectEvaluator.h
Normal file
@@ -0,0 +1,31 @@
|
||||
#pragma once
|
||||
|
||||
#include "domain/Project.h"
|
||||
|
||||
#include <QHash>
|
||||
#include <QPointF>
|
||||
#include <QString>
|
||||
#include <QVector>
|
||||
|
||||
namespace core::eval {
|
||||
|
||||
struct ResolvedEntity {
|
||||
core::Project::Entity entity; // 拷贝:originWorld/imageTopLeftWorld 已替换为求值后的值
|
||||
double opacity = 1.0; // 0..1
|
||||
};
|
||||
|
||||
struct ResolvedTool {
|
||||
core::Project::Tool tool; // 拷贝:originWorld 已替换为求值后的值
|
||||
double opacity = 1.0; // 0..1
|
||||
};
|
||||
|
||||
struct ResolvedProjectFrame {
|
||||
QVector<ResolvedEntity> entities;
|
||||
QVector<ResolvedTool> tools;
|
||||
};
|
||||
|
||||
/// 逐帧求值:处理父子跟随与工具可见性淡入淡出。
|
||||
ResolvedProjectFrame evaluateAtFrame(const core::Project& project, int frame, int fadeFrames = 10);
|
||||
|
||||
} // namespace core::eval
|
||||
|
||||
Reference in New Issue
Block a user