Re: [ scripting ] Filter "NodeAnimatedParameters" to be only translate
| Date : Mon, 15 Oct 2007 15:32:31 -0400 |
| To : XSI(at)Softimage.COM |
| From : Nicolas Langlois <nicolasl(at)buzzimage.com> |
| Subject : Re: [ scripting ] Filter "NodeAnimatedParameters" to be only translate |
Stefan,
I'm not sure what you're trying to do but if you're trying to to gradually offset each key of the fCurve (so that the offset is getting more and more intense, like your first script seems to imply by - "oFCurve.OffsetKeys(oRange, oTimeOffset * i" ), here's something you should look into:
xsi.Selection(i).NodeAnimatedParameters(c.siFCurveSource)
for oObj in oFCurveAnimatedParams:
if "pos" in oObj.Name:
oFCurve = oObj.Source
oRange = oFCurve.GetKeysBetween(oIn, oOut)
# Get all keys of the fcurve and offset them
oKeys = oFCurve.Keys
for i in range(len(oKeys)):
# To offset them more and more
oKeys(i).Time.Value = oTimeOffset * i
# To offset them all the same value
#oKeys(i).Time.Value = oTimeOffset
Is this what you're looking for?
Nicolas Langlois Senior/Lead Rigger/TD Buzz Image
Stefan Andersson wrote:
ok... this: ------ for i in range(oSel): oFAP = xsi.Selection(i).NodeAnimatedParameters(c.siFCurveSource) for oObj in oFAP: xsi.LogMessage(oObj) ------ gives me the name of the object and the posy, posz etc.
This gives me nothing ------ for i in range(oSel): oFAP = xsi.Selection(i).NodeAnimatedParameters(c.siFCurveSource) for oObj in oFAP: if 'rot' in oObj.Name: xsi.LogMessage("yes") ------ This gives me a callback of 'X' 'Y' 'Z' ------ for i in range(oSel): oFAP = xsi.Selection(i).NodeAnimatedParameters(c.siFCurveSource) for oObj in oFAP: xsi.LogMessage(oObj.Name) ----
Anyone has any ideas?? :)
regards stfean
On 10/15/07, Stefan Andersson <sanders3d(at)gmail.com> wrote:
Hi Nicolas,
kind of lame that I didn't see that at first :)
However, I'm still stuck, perhaps my method should be revamped. Because the function siFCurveSource gives you a boolean number if a animation curve exists or not. And it still would do a offset on all of the keyframes from the function OffsetKeys
hmm... I might need to rethink it from the start I think.
regards stefan
On 10/15/07, Nicolas Langlois <nicolasl(at)buzzimage.com> wrote:
Stephan,
It's not "siFCurveSource" that you need to check to see if it's pos or rot or else, it's "oObj".
in your script do this:
#--- start of python script
import win32com.client from win32com.client import constants as c
xsi = Application
oIn = 1 oOut = 100 oTimeOffset = 2
oSel = xsi.Selection.Count
for i in range(oSel): oFCurveAnimatedParams = xsi.Selection(i).NodeAnimatedParameters(c.siFCurveSource) for oObj in oFCurveAnimatedParams: if "pos" in oObj.Name: # THIS IS WHAT YOUR LOOKING FOR I THINK oFCurve = oObj.Source oRange = oFCurve.GetKeysBetween(oIn, oOut) oFCurve.OffsetKeys(oRange, oTimeOffset * i)
#--- end of python script
Nicolas Langlois Senior/Lead Rigger/TD Buzz Image
Stefan Andersson wrote:
Hi All,
I'm working (again) on this offset plugin. Thanks to André I now have a much faster plugin using the xsi model. Though, now I would like to filter out what's being selected or offset. The working base code I have now is:
( can also be downloaded at http://sanders3d.googlepages.com/ )
#--- start of python script
import win32com.client from win32com.client import constants as c
xsi = Application
oIn = 1 oOut = 100 oTimeOffset = 2
oSel = xsi.Selection.Count
for i in range(oSel): oFCurveAnimatedParams = xsi.Selection(i).NodeAnimatedParameters(c.siFCurveSource) for oObj in oFCurveAnimatedParams: oFCurve = oObj.Source oRange = oFCurve.GetKeysBetween(oIn, oOut) oFCurve.OffsetKeys(oRange, oTimeOffset * i)
#--- end of python script
I would like to filter the "siFCurveSource" to only select translation, rotation, etc. I've tried to look in the SDK docs if something like "siFCurveSource.posx" or anything like that exists. I don't know... learning as I go at least :) Anyone up for making any pointers?
regards stefan andersson
--- Unsubscribe? Mail Majordomo(at)Softimage.COM with the following text in body: unsubscribe xsi
-- __________________________________________ Pixel Abuser (at) http://www.swiss.se/ Blog (at) http://sanders3d.blogspot.com/ Web (at) http://sanders3d.googlepages.com/ work e.mail: stefan [at] swiss.se
--- Unsubscribe? Mail Majordomo(at)Softimage.COM with the following text in body: unsubscribe xsi
- Follow-Ups:
- Re: [ scripting ] Filter "NodeAnimatedParameters" to be only translate
- From: "Stefan Andersson" <sanders3d(at)gmail.com>
- Re: [ scripting ] Filter "NodeAnimatedParameters" to be only translate
- References:
- Re: [ scripting ] Filter "NodeAnimatedParameters" to be only translate
- From: Nicolas Langlois <nicolasl(at)buzzimage.com>
- Re: [ scripting ] Filter "NodeAnimatedParameters" to be only translate
- From: "Stefan Andersson" <sanders3d(at)gmail.com>
- Re: [ scripting ] Filter "NodeAnimatedParameters" to be only translate
| DATE: | << | >> | THREAD: | << | >> | INDEX: | Main | Thread |
|---|
- Previous by Date: RE: Spot light clipping?
- Next by Date: RE: Spot light clipping?
- Previous by Thread: RE: Spot light clipping?
- Next by Thread: RE: Spot light clipping?
- Index(es):
| Search the XSI List archives here or use the advanced search form to search across mailing lists. Searching help is available. |