Re: [script] Creating relative values fcurve

Date : Mon, 30 Apr 2007 11:46:50 -0400
To : XSI(at)Softimage.COM
From : "Bernard Lebel" <3dbernard(at)gmail.com>
Subject : Re: [script] Creating relative values fcurve
Hum, the mystery is getting thicker!
Thanks a lot guys for trying out.


Storing the expressions in an action clip prior to re-create them is good enough for what I need now, but it's annoying I can't re-create them entirely by scripting.

Cheers
Bernard



On 4/30/07, squid <squid(at)3d-palace.com> wrote:
same here.

var nullobj = ActiveSceneRoot.AddNull("nullToCopyFrom");
var aValues = [0.00, 0.00, 25.00, 5.00]
nullobj.posx.AddFCurve2(aValues);

var nullobj1 = ActiveSceneRoot.AddNull("CopiedKeys");
var fc = nullobj1.posy.AddFCurve();

var iLen = aValues.length;
fc.beginEdit();
for(var i =0; i < iLen; i+=2)
{
    var fTime = aValues[i];
    var fVal =     aValues[1+i];
    fc.addKey(fTime, fVal, 0, true);
}

fc.endEdit();

kim aldis wrote:
> The code below works as I'd expect, Bernard. One key added at frame one,
> value 1.0 the next at frame 25, value 10.
>
> oFcurve = selection(0).posx.source;
>
> var oFcurveKeys = new Array( 1,0,25,10 )
> oFcurve.beginedit();
> iLength = oFcurveKeys.length;
>
>
>  for( i = 0; i < iLength; i=i+2 ) {
>    fTime = oFcurveKeys[i];
>   fValue = oFcurveKeys[i+1];
>   oFcurve.addkey( fTime, fValue, 0, true );
>
> }
>  oFcurve.endedit();
>
>
>> -----Original Message-----
>> From: owner-xsi(at)Softimage.COM [mailto:owner-xsi(at)Softimage.COM] On
>> Behalf Of Bernard Lebel
>> Sent: 30 April 2007 14:58
>> To: XSI(at)Softimage.COM
>> Subject: Re: [script] Creating relative values fcurve
>>
>> Okay I tried it with the other possible tolerance value, -1. Same
>> result: the second key is at frame 1/value 1 instead of frame 25/value
>> 1.
>>
>>
>>
>> "The tolerance argument can be used to merge all keys within a certain
>> range. The range is defined as Frame - Tolerance and Frame +
>> Tolerance. The merged key inherits the constraints of the nearest key
>> within this range. "
>>
>> I don't see how this description explains the result I'm getting.... :-
>> (
>>
>>
>> Cheers
>> Bernard
>>
>>
>>
>>
>> On 4/27/07, Bradley Gabe <withanar(at)stanwinston.com> wrote:
>>
>>>  Bernard, not a showstopper. Check the documentation on the addkey()
>>>
>> method
>>
>>> and you'll see what's happening. The third parameter is for
>>>
>> tolerance, which
>>
>>> you have set to 0, and that forces the key to be set on exact frames.
>>>
>>>  -Brad
>>>
>>>
>>>
>>>
>>> Hello,
>>>
>>> I'm running into this show-stopper.
>>>
>>> I'm trying to re-create the fcurve of a relative value expression.
>>> I create the expression, no problem at all.
>>> Then I get its relative fcurve parameter, no problem.
>>> Then I loop over a one dimensional array of time/value numbers, and
>>> create the keyframes:
>>>
>>>
>>> oFcurve.beginedit();
>>> iLength = oFcurveKeys.length;
>>>
>>> for( i = 0; i < iLength; i=i+2 ) {
>>>  fTime = oFcurveKeys[i];
>>>  fValue = oFcurveKeys[i+1];
>>>  oFcurve.addkey( fTime, fValue, 0, true );
>>> }
>>>
>>> oFcurve.endedit();
>>>
>>> (in this example I use a loop, but the SetKeys method gives the same
>>> result I'm about to describe)
>>>
>>>
>>> Now, I get all the keyframes. In this particular, I have two
>>> keyframes. The first one is all right. BUT the second one, for the
>>> life of me, refuses to be placed anywhere else than at frame 1.0.
>>>
>>> If I then print its frame, it's the frame I specified (25, for
>>> example). But in the animation editor, it's located at 1/1. Also,
>>>
>> when
>>
>>> viewing its effect in viewport, I can *see* it's 1/1. Yet printing
>>>
>> its
>>
>>> frame says 25.
>>>
>>> ARGGGGHHHH
>>>
>>>
>>> Any idea?
>>>
>>>
>>> Thanks
>>> Bernard
>>> ---
>>> Unsubscribe? Mail Majordomo(at)Softimage.COM with the following text in
>>>
>> body:
>>
>>> unsubscribe xsi
>>>
>>>
>>>
>> ---
>> Unsubscribe? Mail Majordomo(at)Softimage.COM with the following text in
>> body:
>> unsubscribe xsi
>>
>
> ---
> Unsubscribe? Mail Majordomo(at)Softimage.COM with the following text in body:
> unsubscribe xsi
>
>
>
---
Unsubscribe? Mail Majordomo(at)Softimage.COM with the following text in body:
unsubscribe xsi

---
Unsubscribe? Mail Majordomo(at)Softimage.COM with the following text in body:
unsubscribe xsi


Search the XSI List archives here or use the advanced search form to search across mailing lists. Searching help is available.
This site supposedly brought to you by Benjamin Grosser and the Imaging Technology Group.