Table of Contents

Interface IBlendShapeProviderBulk

Provides allocation-free bulk access to blendshape channels.

public interface IBlendShapeProviderBulk : IBlendShapeProvider, ICapability
Inherited Members
Extension Methods

Remarks

The semantic meaning of channels (e.g. expressions vs mesh blendshapes) is implementation-defined and should be determined via additional capability interfaces such as IAvatarExpressionProvider or IMeshBlendShapeProvider.

Methods

GetWeights(ReadOnlySpan<string>, Span<float>)

Retrieves the weights of the specified blendshape channels into the provided buffer.

void GetWeights(ReadOnlySpan<string> names, Span<float> weights)

Parameters

names ReadOnlySpan<string>
weights Span<float>

Remarks

For channel names that do not exist, the corresponding output value is set to zero.

SetWeights(ReadOnlySpan<string>, ReadOnlySpan<float>)

Sets the weights of the specified blendshape channels.

int SetWeights(ReadOnlySpan<string> names, ReadOnlySpan<float> weights)

Parameters

names ReadOnlySpan<string>
weights ReadOnlySpan<float>

Returns

int

The number of weights successfully applied.

Remarks

Channel names that do not exist are ignored; the return value indicates how many weights were applied.

SetWeights(ReadOnlySpan<(string name, float weight)>)

Sets multiple blendshape weights using name–value pairs.

int SetWeights(ReadOnlySpan<(string name, float weight)> values)

Parameters

values ReadOnlySpan<(string name, float weight)>

Returns

int

The number of weights successfully applied.

Remarks

Channel names that do not exist are ignored; the return value indicates how many weights were applied.