コード例 #1
0
    public InvertRotation(IRotRigElement parent, InvertedState invertedState)
    {
        ParentNode = parent;
        ParentNode.AddModifier(this);

        InvertedState = invertedState;
    }
    /// <summary>
    /// Automaticaly adds itself to element's modifiers
    /// </summary>
    public ClampModifier(IRotRigElement element, Vector3 minValues, Vector3 maxValues)
    {
        ParentNode = element;
        ParentNode.AddModifier(this);

        MinValues = minValues;
        MaxValues = maxValues;
    }
    /// <summary>
    /// Automaticaly adds itself to element's modifiers
    /// </summary>
    public FrameDelayModifier(IRotRigElement element, int frameDelay)
    {
        ParentNode = element;
        ParentNode.AddModifier(this);

        _historyLength = frameDelay;
        _history       = new Queue <IEnumerable <Quaternion> >(frameDelay);
    }
    /// <summary>
    /// Automaticaly adds itself to element's modifiers
    /// </summary>
    public RotationOffsetModif(IRotRigElement element)
    {
        if (element == null)
        {
            throw new ArgumentNullException();
        }

        Rotation = new Quaternion[] { new Quaternion() };

        ParentNode = element;
        ParentNode.AddModifier(this);

        UseFirstOnAll = true;
    }
コード例 #5
0
    public RotationSet(IRotRigElement parent, Transform elem)
    {
        if (elem == null)
        {
            throw new ArgumentNullException();
        }

        BoundObject = elem;

        ParentNode = parent;
        ParentNode.AddModifier(this);

        Rotation = new Vector3(float.NaN, float.NaN, float.NaN);
    }
    /// <summary>
    /// Automaticaly adds itself to element's modifiers
    /// </summary>
    public WeightRotModif(IRotRigElement element, float alpha)
    {
        ParentNode = element;
        ParentNode.AddModifier(this);

        Alpha = alpha;

        var objs = ParentNode.BoundObjects;

        _initialRotationsLocal  = new Quaternion[objs.Length];
        _initialRotationsGlobal = new Quaternion[objs.Length];

        for (int i = 0; i < objs.Length; i++)
        {
            _initialRotationsLocal[i]  = objs[i].localRotation;
            _initialRotationsGlobal[i] = objs[i].rotation;
        }
    }
コード例 #7
0
 public RotationRigAplicator(IRotRigElement elem, bool useLocal = true)
 {
     Element  = elem;
     UseLocal = useLocal;
 }
 public static IRotRigElement AddWeightRotModif(this IRotRigElement element, float alpha)
 {
     new WeightRotModif(element, alpha);
     return(element);
 }
コード例 #9
0
 public static IRotRigElement AddRotationSet(this IRotRigElement element, Transform elem, Vector3 rotEuler)
 {
     new RotationSet(element, elem, rotEuler);
     return(element);
 }
 public static IRotRigElement AddClampModif(this IRotRigElement element, Vector3 minValues, Vector3 maxValues)
 {
     new ClampModifier(element, minValues, maxValues);
     return(element);
 }
 public static IRotRigElement AddFrameDelayModif(this IRotRigElement element, int frameDelay)
 {
     new FrameDelayModifier(element, frameDelay);
     return(element);
 }
 public static IRotRigElement AddRotationOffsetModif(this IRotRigElement element, Vector3[] rot)
 {
     new RotationOffsetModif(element, rot);
     return(element);
 }
コード例 #13
0
 public static IRotRigElement AddInvertRotation(this IRotRigElement element, InvertedState invertedState)
 {
     new InvertRotation(element, invertedState);
     return(element);
 }
 /// <summary>
 /// Automaticaly adds itself to element's modifiers
 /// </summary>
 public RotationOffsetModif(IRotRigElement elem, Vector3[] rotEuler)
     : this(elem)
 {
     Rotation      = rotEuler.Select(o => { return(Quaternion.Euler(o)); }).ToArray();
     UseFirstOnAll = false;
 }
 /// <summary>
 /// Automaticaly adds itself to element's modifiers
 /// </summary>
 public RotationOffsetModif(IRotRigElement elem, Quaternion[] rot)
     : this(elem)
 {
     Rotation      = rot;
     UseFirstOnAll = false;
 }
 /// <summary>
 /// Automaticaly adds itself to element's modifiers
 /// </summary>
 public RotationOffsetModif(IRotRigElement elem, Vector3 rotEuler)
     : this(elem)
 {
     Rotation = new Quaternion[] { Quaternion.Euler(rotEuler) };
 }
 /// <summary>
 /// Automaticaly adds itself to element's modifiers
 /// </summary>
 public RotationOffsetModif(IRotRigElement elem, Quaternion rot)
     : this(elem)
 {
     Rotation = new Quaternion[] { rot };
 }
 public static IRotRigElement AddRotationOffsetModif(this IRotRigElement element, Quaternion rot)
 {
     new RotationOffsetModif(element, rot);
     return(element);
 }
コード例 #19
0
 public RotationSet(IRotRigElement parent, Transform elem, Vector3 rotEuler)
     : this(parent, elem)
 {
     Rotation = rotEuler;
 }