Unity 6.3
0 онлайн 78 гостей 3 в системе
Вход

ConstraintSource

структура в UnityEngine.Animations

Выполнено в:UnityEngine.AnimationModule

Описание

Представляет собой взвешенную позицию, которая может быть использована в ограничении.

С помощью этой структуры ограничению передают позицию с весом; ограничение должно реализовывать IConstraint интерфейс. В одном ограничении можно использовать много источников. Чтобы настроить их влияние на ограничение, задайте weight параметр.

Дополнительные ресурсы: IConstraint PositionConstraint RotationConstraint ScaleConstraint AimConstraint ParentConstraint

using UnityEngine;
using UnityEngine.Animations;

// The example creates a new MonoBehaviour that is used alongside a ParentConstraint component.
// At runtime, the component adds two sources to the parent constraint and uses the property
// 'switchSource' to dynamically switch from one to the other.
[RequireComponent(typeof(ParentConstraint))]
public class ConstraintSourceSwitcher : MonoBehaviour
{
    private ParentConstraint m_ParentConstraint;

    public Transform source1;
    public Transform source2;

    public bool switchSource;

    void OnEnable()
    {
        m_ParentConstraint = GetComponent<ParentConstraint>();
        m_ParentConstraint.AddSource(new ConstraintSource { sourceTransform = source1});
        m_ParentConstraint.AddSource(new ConstraintSource { sourceTransform = source2});
    }

    public void Update()
    {
        m_ParentConstraint.SetSource(0, new ConstraintSource
        {
            sourceTransform = source1,
            weight = switchSource ? 0f : 1f
        });
        m_ParentConstraint.SetSource(1, new ConstraintSource
        {
            sourceTransform = source2,
            weight = switchSource ? 1f : 0f
        });
    }
}

Свойства

Свойство Описание
sourceTransformКомпонент трансформации исходного объекта.
weightвес источника при оценке ограничения.