Описание
Дескриптор мышцы в AnimationHumanStream.
MuscleHandle можно использовать только в AnimationHumanStream, в противном случае выдается InvalidOperationException
.
using UnityEngine;
using UnityEngine.Animations;
using UnityEngine.Playables;
public struct MuscleHandleExampleJob : IAnimationJob
{
public MuscleHandle muscleHandle;
public void ProcessRootMotion(AnimationStream stream) {}
public void ProcessAnimation(AnimationStream stream)
{
AnimationHumanStream humanStream = stream.AsHuman();
// Получаем значение мускула.
float muscleValue = humanStream.GetMuscle(muscleHandle);
// Устанавливаем значение мускула.
humanStream.SetMuscle(muscleHandle, muscleValue);
}
}
[RequireComponent(typeof(Animator))]
public class MuscleHandleExample : MonoBehaviour
{
void Start()
{
var graph = PlayableGraph.Create();
var output = AnimationPlayableOutput.Create(graph, "output", GetComponent<Animator>());
var job = new MuscleHandleExampleJob();
job.muscleHandle = new MuscleHandle(HumanPartDof.LeftArm, ArmDof.HandDownUp);
var scriptPlayable = AnimationScriptPlayable.Create(graph, job);
output.SetSourcePlayable(scriptPlayable);
graph.Evaluate(1.0f);
graph.Destroy();
}
}
Статические Свойства
Свойства
dof |
Мышечная часть человека. (Только чтение) |
humanPartDof |
Мышцы человека. (Только чтение) |
name |
Название мышцы. (Только чтение) |
Конструкторы
MuscleHandle |
Различные конструкторы, создающие мышечную ручку. |
Статические Методы
GetMuscleHandles |
Заполняет массив всеми возможными мышечными дескрипторами гуманоида. |