Owning runtime instantiated from one immutable MeshVfxAsset snapshot. @ownership Owns all layer runtimes and the optional trail; target meshes remain borrowed by renderer resolution. @thread Simulation-thread affine. Rendering must consume layers on the render thread. @reentrancy Does not invoke callbacks. 更多...
#include <MeshVfxAsset.h>
Public 成员函数 | |
| void | bindTarget (MeshEffectTargetHandle target) |
| Bind every layer to the same authoritative target handle. | |
| void | play () noexcept |
| Begin every layer and clear prior trail samples. | |
| void | stop (float fadeOutSeconds=-1.f) |
| Stop every layer using an optional fade override. | |
| void | update (float dtSeconds) |
| Advance every layer and the optional trail with caller-supplied simulation time. | |
| std::vector< std::string > | drainEvents () |
| Move all timeline events crossed since the previous drain. | |
| eve::Result< TrailAppendResult > | sampleTrail (const eve::IAttachmentPointSource &source) |
| Sample authored root/tip attachments and append one trail segment. | |
| MeshVfxAnimationDispatch | processAnimationEvents (const eve::IAnimationEventSource &source) |
| Apply authored lifecycle mappings for events emitted by the latest animation update. | |
| std::size_t | layerCount () const noexcept |
| Return the number of independently rendered mesh layers. | |
| MeshEffectInstance & | layer (std::size_t index) |
| Return one owned layer; throws std::out_of_range for an invalid index. | |
| const MeshEffectInstance & | layer (std::size_t index) const |
| Return one owned layer; throws std::out_of_range for an invalid index. | |
| bool | hasTrail () const noexcept |
| Whether this composition owns a trail emitter. | |
| bool | isFinished () const noexcept |
| True when every layer is Stopped or Finished. | |
| TrailEmitter & | trail () |
| Return the owned trail; throws when this asset has no trail. | |
静态 Public 成员函数 | |
| static eve::Result< std::unique_ptr< MeshVfxAssetInstance > > | create (const MeshVfxAsset &asset) |
| Build independent runtime state for every asset layer. | |
| static eve::Result< std::unique_ptr< MeshVfxAssetInstance > > | create (const MeshVfxAsset &asset, const std::map< std::string, std::map< std::string, float > > &externalStyles) |
| Create with resolved external style defaults; maps are borrowed only during construction and copied into instances. | |
详细描述
Owning runtime instantiated from one immutable MeshVfxAsset snapshot. @ownership Owns all layer runtimes and the optional trail; target meshes remain borrowed by renderer resolution. @thread Simulation-thread affine. Rendering must consume layers on the render thread. @reentrancy Does not invoke callbacks.
在文件 MeshVfxAsset.h 第 106 行定义.
成员函数说明
◆ bindTarget()
| void eve::stylize::MeshVfxAssetInstance::bindTarget | ( | MeshEffectTargetHandle | target | ) |
Bind every layer to the same authoritative target handle.
在文件 MeshVfxAsset.cpp 第 550 行定义.
◆ create() [1/2]
|
static |
Build independent runtime state for every asset layer.
- 返回
- Owned instance or a diagnostic when a style or parameter is incompatible.
在文件 MeshVfxAsset.cpp 第 510 行定义.
引用了 create().
被这些函数引用 create(), eve::stylize::Stylize::createMeshVfxAssetInstance(), eve::asset_stylize::EvpackMeshVfx::load(), eve::asset_stylize::prepareMeshVfxPackage() , 以及 eve::stylize_editing::MeshVfxPreviewRuntime::publish().
◆ create() [2/2]
|
static |
Create with resolved external style defaults; maps are borrowed only during construction and copied into instances.
在文件 MeshVfxAsset.cpp 第 514 行定义.
引用了 error, eve::Diagnostic::error(), eve::Failed, eve::InvalidArgument, valid , 以及 eve::stylize::MeshVfxAsset::validate().
◆ drainEvents()
| std::vector< std::string > eve::stylize::MeshVfxAssetInstance::drainEvents | ( | ) |
Move all timeline events crossed since the previous drain.
- 返回
- Ordered event names. No user callback is invoked by update().
在文件 MeshVfxAsset.cpp 第 592 行定义.
◆ hasTrail()
|
inlinenoexcept |
Whether this composition owns a trail emitter.
在文件 MeshVfxAsset.h 第 143 行定义.
◆ isFinished()
|
noexcept |
True when every layer is Stopped or Finished.
在文件 MeshVfxAsset.cpp 第 636 行定义.
引用了 eve::stylize::Finished, layer, state , 以及 eve::stylize::Stopped.
◆ layer() [1/2]
|
inline |
Return one owned layer; throws std::out_of_range for an invalid index.
在文件 MeshVfxAsset.h 第 139 行定义.
引用了 index.
◆ layer() [2/2]
|
inline |
Return one owned layer; throws std::out_of_range for an invalid index.
在文件 MeshVfxAsset.h 第 141 行定义.
引用了 index.
◆ layerCount()
|
inlinenoexcept |
Return the number of independently rendered mesh layers.
在文件 MeshVfxAsset.h 第 137 行定义.
◆ play()
|
noexcept |
Begin every layer and clear prior trail samples.
在文件 MeshVfxAsset.cpp 第 554 行定义.
引用了 layer.
被这些函数引用 processAnimationEvents().
◆ processAnimationEvents()
| MeshVfxAnimationDispatch eve::stylize::MeshVfxAssetInstance::processAnimationEvents | ( | const eve::IAnimationEventSource & | source | ) |
Apply authored lifecycle mappings for events emitted by the latest animation update.
在文件 MeshVfxAsset.cpp 第 612 行定义.
引用了 eve::stylize::MeshVfxAnimationDispatch::handled, index, name, eve::stylize::MeshVfxAnimationTriggers::play, play(), eve::stylize::MeshVfxAnimationDispatch::played, source, eve::stylize::MeshVfxAnimationTriggers::stop, stop(), eve::stylize::MeshVfxAnimationDispatch::stopped, eve::stylize::MeshVfxAnimationTriggers::trailBreak, eve::stylize::MeshVfxAnimationDispatch::trailBreaks , 以及 values.
◆ sampleTrail()
| eve::Result< TrailAppendResult > eve::stylize::MeshVfxAssetInstance::sampleTrail | ( | const eve::IAttachmentPointSource & | source | ) |
Sample authored root/tip attachments and append one trail segment.
在文件 MeshVfxAsset.cpp 第 598 行定义.
引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), eve::PreconditionViolation, root, source, eve::Result< T >::success() , 以及 tip.
◆ stop()
| void eve::stylize::MeshVfxAssetInstance::stop | ( | float | fadeOutSeconds = -1.f | ) |
Stop every layer using an optional fade override.
在文件 MeshVfxAsset.cpp 第 563 行定义.
引用了 layer.
被这些函数引用 processAnimationEvents().
◆ trail()
| TrailEmitter & eve::stylize::MeshVfxAssetInstance::trail | ( | ) |
Return the owned trail; throws when this asset has no trail.
在文件 MeshVfxAsset.cpp 第 646 行定义.
◆ update()
| void eve::stylize::MeshVfxAssetInstance::update | ( | float | dtSeconds | ) |
该类的文档由以下文件生成:
- src/modules/stylize/MeshVfxAsset.h
- src/modules/stylize/MeshVfxAsset.cpp