// NOTE: This function is called at runtime and edit time.  Keep that in mind when setting the values of properties.
    public override void ProcessFrame(Playable playable, FrameData info, object playerData)
    {
        int inputCount = playable.GetInputCount();

        for (int i = 0; i < inputCount; i++)
        {
            float inputWeight = playable.GetInputWeight(i);
            ScriptPlayable <MaterialAnimationBehaviour> inputPlayable = (ScriptPlayable <MaterialAnimationBehaviour>)playable.GetInput(i);
            MaterialAnimationBehaviour input = inputPlayable.GetBehaviour();

            // Use the above variables to process each frame of this playable.
        }
    }
コード例 #2
0
    public override Playable CreatePlayable(PlayableGraph graph, GameObject owner)
    {
        var playable = ScriptPlayable <MaterialAnimationBehaviour> .Create(graph);

        MaterialAnimationBehaviour behaviour = playable.GetBehaviour();

        behaviour.material       = material;
        behaviour.propertyName   = propertyName;
        behaviour.animationCurve = animationCurve;
        behaviour.rangeLower     = rangeLower;
        behaviour.rangeUpper     = rangeUpper;

        return(playable);
    }