feat(vfx): bind effects to live animated poses
This commit is contained in:
parent
96ddfdf175
commit
542dcfc384
41 changed files with 3246 additions and 741 deletions
24
src/AcDream.Core/Vfx/IEntityEffectPoseSource.cs
Normal file
24
src/AcDream.Core/Vfx/IEntityEffectPoseSource.cs
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
using System.Numerics;
|
||||
|
||||
namespace AcDream.Core.Vfx;
|
||||
|
||||
/// <summary>
|
||||
/// Read-only view of the final pose used by entity-attached effects.
|
||||
/// Implementations publish poses on the update/render thread after root motion,
|
||||
/// animation, and equipped-child composition have completed.
|
||||
/// </summary>
|
||||
public interface IEntityEffectPoseSource
|
||||
{
|
||||
bool TryGetRootPose(uint localEntityId, out Matrix4x4 rootWorld);
|
||||
|
||||
bool TryGetPartPose(uint localEntityId, int partIndex, out Matrix4x4 partLocal);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Optional spatial companion for consumers, such as object lights, whose
|
||||
/// render registration is scoped to the owner's current AC cell.
|
||||
/// </summary>
|
||||
public interface IEntityEffectCellSource
|
||||
{
|
||||
bool TryGetCellId(uint localEntityId, out uint cellId);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue