载入中...
搜索中...
未找到
UnitySpriteAnimation.cpp
浏览该文件的文档.
30 return (std::uint32_t(b[i]) << 24) | (std::uint32_t(b[i + 1]) << 16) | (std::uint32_t(b[i + 2]) << 8) | b[i + 3];
32Value::Object sprite(const UnityProjectImportRequest& request, const UnitySourceAsset& source, const std::string& id) {
42 R"(\n - serializedVersion: [^\n]+\n name: ([^\r\n]+)\n([\s\S]*?)(?=\n - serializedVersion:|\n outline:|\n spriteID:|\n nameFileIdTable:|$))");
62 const auto imageId = request.package.packageId.child("unity:" + source.guid).child("image:default");
84 DiagnosticCode::Unsupported, "animation has no supported sprite track", source.path, {}, "asset.import"));
89 Diagnostic::error(DiagnosticCode::Unsupported, "only root SpriteRenderer sprite curves are supported",
91 for (const auto field : {"m_RotationCurves", "m_CompressedRotationCurves", "m_EulerCurves", "m_PositionCurves",
98 if (std::distance(std::sregex_iterator(curves.begin(), curves.end(), curveStart), std::sregex_iterator{}) != 1)
100 DiagnosticCode::Unsupported, "multiple sprite tracks are unsupported", source.path, {}, "asset.import"));
104 if (fps <= 0 || fps > 1000 || (loop != 0 && loop != 1) || scalar(text, R"(\n m_StartTime: ([^\r\n]+))") != 0)
115 R"(\n - time: ([^\r\n]+)\r?\n value: \{fileID: (-?[0-9]+), guid: ([0-9a-fA-F]{32}),\s*type: 3\})");
117 if (frames.size() >= request.limits.maximumAssets) throw std::runtime_error("sprite key budget exceeded");
125 if (std::abs(time - raw) > 1e-5) throw std::runtime_error("sprite keys must align to the authored sample rate");
Direct Unity text-serialization adapter for TerrainData and Prefab assets.
static Result< AssetRef > parse(std::string_view text)
Parse an asset://<canonical UUID> reference.
Definition ResourceRef.cpp:20
static Diagnostic error(DiagnosticCode code, std::string message, std::string path={}, DiagnosticDetails details={}, std::string source={})
Construct an error diagnostic with the standard error severity.
Definition Diagnostic.h:125
static Result failure(Status status)
Construct a failed result from a structured status.
Definition Result.h:175
static Result< SpriteAnimationClip > decode(const Value &definition)
Decode eve.sprite-animation/1; reject unknown versions, ignore unknown fields.
Definition SpriteAnimation.cpp:23
Id128 child(std::string_view role) const noexcept
Derives a deterministic child UUID for a hierarchical identity.
Definition Identity.h:192
Result< asset::EvaManifest > baseManifest(const ImportPackageIdentity &package, std::string_view importer)
Base manifest.
Definition ImportCommon.h:31
Definition AssetImporter.h:14
@ Translated
Result< UnitySourceIndex > indexUnitySources(const UnitySourceFiles &files, const AssetImportLimits &limits)
Validate project paths and .meta identities and index serialized GUID/fileID references.
Definition UnitySource.cpp:121
Result< PreparedAssetImport > prepareUnitySpriteAnimation(const UnityProjectImportRequest &request, const UnitySourceAsset &source)
Convert an explicit SpriteRenderer timeline and referenced metadata into an owning canonical candidat...
Definition UnitySpriteAnimation.cpp:79
@ RuntimeRequired
@ Unsupported
@ ParseError
detail::StrongUint64< detail::SchemaVersionTag > SchemaVersion
Persistent data-format version; not a runtime replacement generation.
Definition SchemaVersion.h:13
std::vector< EvaDependency > dependencies
Definition EvaManifest.h:70
std::map< std::string, AssetRef > entrypoints
Definition EvaManifest.h:71
std::uint32_t maximumAssets
Definition AssetImporter.h:20
ImportPackageIdentity package
Definition AssetImporter.h:55
PersistentId packageId
Definition AssetImporter.h:34
Owning, validated source archive candidate not yet published to disk/database.
Definition AssetImporter.h:90
std::vector< ImportFinding > findings
Definition AssetImporter.h:93
std::vector< asset::EvaArchiveEntry > entries
Definition AssetImporter.h:92
std::vector< ImportSourceMapping > sourceMappings
Definition AssetImporter.h:94
asset::EvaManifest manifest
Definition AssetImporter.h:91
In-memory Unity project slice; keys are normalized project-relative paths.
Definition UnityImporter.h:15
Immutable-by-convention owning source index entry; no borrowed source addresses.
Definition UnitySource.h:38