载入中...
搜索中...
未找到
eve::stylize::MeshVfxAssetInstance类 参考

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 行定义.

引用了 layer , 以及 target.

◆ create() [1/2]

eve::Result< std::unique_ptr< MeshVfxAssetInstance > > eve::stylize::MeshVfxAssetInstance::create ( const MeshVfxAsset &  asset)
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]

eve::Result< std::unique_ptr< MeshVfxAssetInstance > > eve::stylize::MeshVfxAssetInstance::create ( const MeshVfxAsset &  asset,
const std::map< std::string, std::map< std::string, float > > &  externalStyles 
)
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()

bool eve::stylize::MeshVfxAssetInstance::hasTrail ( ) const
inlinenoexcept

Whether this composition owns a trail emitter.

在文件 MeshVfxAsset.h 第 143 行定义.

◆ isFinished()

bool eve::stylize::MeshVfxAssetInstance::isFinished ( ) const
noexcept

True when every layer is Stopped or Finished.

在文件 MeshVfxAsset.cpp 第 636 行定义.

引用了 eve::stylize::Finished, layer, state , 以及 eve::stylize::Stopped.

◆ layer() [1/2]

MeshEffectInstance & eve::stylize::MeshVfxAssetInstance::layer ( std::size_t  index)
inline

Return one owned layer; throws std::out_of_range for an invalid index.

在文件 MeshVfxAsset.h 第 139 行定义.

引用了 index.

◆ layer() [2/2]

const MeshEffectInstance & eve::stylize::MeshVfxAssetInstance::layer ( std::size_t  index) const
inline

Return one owned layer; throws std::out_of_range for an invalid index.

在文件 MeshVfxAsset.h 第 141 行定义.

引用了 index.

◆ layerCount()

std::size_t eve::stylize::MeshVfxAssetInstance::layerCount ( ) const
inlinenoexcept

Return the number of independently rendered mesh layers.

在文件 MeshVfxAsset.h 第 137 行定义.

◆ play()

void eve::stylize::MeshVfxAssetInstance::play ( )
noexcept

Begin every layer and clear prior trail samples.

在文件 MeshVfxAsset.cpp 第 554 行定义.

引用了 layer.

被这些函数引用 processAnimationEvents().

◆ processAnimationEvents()

◆ 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)

Advance every layer and the optional trail with caller-supplied simulation time.

在文件 MeshVfxAsset.cpp 第 569 行定义.

引用了 current, curve, index, layer , 以及 name.


该类的文档由以下文件生成: