Isn't what you have there simply a for loop, just written differently? It's
very readable anyway.

Thanks again,
R
On Apr 19, 2012 8:24 AM, "Ivan Busquets" <[email protected]> wrote:

> Yes, because addKey() takes either an AnimationKey or a list of them, I
> just built a list of them using a list comprehension structure, which is
> essentially a loop.
>
> But if a for loop makes more sense, then by all means you should use that.
> Shorter is not always better, and the more readable you make it for
> yourself, the easier it will be to go back and make changes to it :)
>
>
>
> On Wed, Apr 18, 2012 at 10:07 PM, Ron Ganbar <[email protected]> wrote:
>
>> Thanks Ivan,
>> I figured it probably just needs a loop, but yours is far shorter than
>> mine.
>>
>> I'll have a look at those tutorials.
>>
>>
>> Ron Ganbar
>> email: [email protected]
>> tel: +44 (0)7968 007 309 [UK]
>>      +972 (0)54 255 9765 [Israel]
>> url: http://ronganbar.wordpress.com/
>>
>>
>>
>> On 19 April 2012 03:44, Ivan Busquets <[email protected]> wrote:
>>
>>> Hey Ron,
>>>
>>> I assume you just want the shortest possible version of setting the
>>> whole curve from values you already have, right?
>>> So, say you have an animated knob that you've created like this:
>>>
>>>   node = nuke.createNode( 'Blur' )
>>>
>>> k = node['size']
>>>
>>> k.setAnimated()
>>>
>>> And then you have list of keys and values that you want to feed at once
>>> as an animation curve.
>>> One thing you can do is put them all in a list of (frame,value) tuples,
>>> like this:
>>>
>>> keys = [(0,20), (1,30), (5,70), (8,90)]
>>>
>>> And then get the AnimationCurve object for that knob, and add them all
>>> like this:
>>>
>>> anim = k.animation(0)
>>> anim.addKey([nuke.AnimationKey(frame, value) for (frame,value) in keys])
>>>
>>> Of course, that is just an example for doing it in just a couple of
>>> lines. Depending on how your initial data is formatted, you might want to
>>> take a different approach.
>>> If you want to dig any deeper into it, you can find more info and some
>>> examples in the Python Developers Guide, under "Animation".
>>>
>>> Also check these two great tutorials from Nathan:
>>>
>>> http://www.nukepedia.com/python/knob-animation-and-python-a-primer/
>>> http://www.nukepedia.com/python/animationcurve-and-animationkey-objects/
>>>
>>> Hope that helps.
>>>
>>> Cheers,
>>> Ivan
>>>
>>>
>>> On Wed, Apr 18, 2012 at 3:16 AM, Ron Ganbar <[email protected]> wrote:
>>>
>>>> Hi guys,
>>>> quick question, back in Shake it was easy to type an animation curve,
>>>> it was simply hermite(0, 0@1, 15@10, 44@100).
>>>> Is there a way to easily create an animation curve like that in Nuke?
>>>> I know about setValueAt(), but that's for each keyframe rather than a
>>>> whole curve.
>>>>
>>>> Thanks!
>>>> Ron Ganbar
>>>> email: [email protected]
>>>> tel: +44 (0)7968 007 309 [UK]
>>>>      +972 (0)54 255 9765 [Israel]
>>>> url: http://ronganbar.wordpress.com/
>>>>
>>>>
>>>> _______________________________________________
>>>> Nuke-python mailing list
>>>> [email protected], http://forums.thefoundry.co.uk/
>>>> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
>>>>
>>>>
>>>
>>> _______________________________________________
>>> Nuke-python mailing list
>>> [email protected], http://forums.thefoundry.co.uk/
>>> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
>>>
>>>
>>
>> _______________________________________________
>> Nuke-python mailing list
>> [email protected], http://forums.thefoundry.co.uk/
>> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
>>
>>
>
> _______________________________________________
> Nuke-python mailing list
> [email protected], http://forums.thefoundry.co.uk/
> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
>
>
_______________________________________________
Nuke-python mailing list
[email protected], http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python

Reply via email to