Re: [scripting] caching point data over time

Date : Mon, 31 Jul 2006 14:31:43 -0400
To : XSI(at)Softimage.COM
From : Daniel Goupil <dgoupil(at)hybride.com>
Subject : Re: [scripting] caching point data over time
it happens in one of my scene with a script and use Math.round to get the "good" current frame ... don't know if it's going to work for u ....

I think what happens is since u request an "int" and got 99.9999 instead of 100 it will give u 99 because it removes the .9999 ... then if u use math.round it will return 100 instead of 99 ....


Greg Smith wrote:
Okay I think I have narrowed it down, it wasn't my cache so to speak but
the scripted op that I was using to apply the cache data to the hair
object. Currently I have it interrogating the current frame value using
the command curFrm = int(Application.ActiveProject.Properties('Play
Control').Current.Value)
Seems that the PlayControl doesn't evaluate properly in the scripted op!
er


however when I put a Log message in the scripted op to show the value of
the current frame. On the frames I am having issues with, its returning
the previous frame so for instance I scrub to frame 99 it logs 99, I
scrub to frame 100 it returns 99, I scrub to 101 it returns 101. So its
the Play Control giving me all this stress, and to think it was my
caching script all this time. So with that being said. Is there a way to
accurately return the value of the current frame

So I created a new scene, added a null put a simple translation
animation. added as scripted op that reads in the translation, and have
the scripted op use the command above and then logmessage the result.
Low and behold the frames that gave me issues in my cache scenes reared
their ugly head on this scene. So I guess I am gonna have to find a
better way to get the current frame, whether it be to drop scripted ops
and use a self installed custom Op, or find a more accurate command to
give me the current frame value. I wonder if it has to do with the
framerate in the playback options?

so far the culprit frames that don't work are:
15,25,30,39,50,59,60,61,69,78,87,100,109,118,120,121,122,129,138,147....

On Mon, 2006-07-31 at 09:43 -0700, Greg Smith wrote:
I have an interesting little problem here, I am trying to create a point
caching tool that captures point position data from a cached syflex
simulated object and in turn apply it to a hair object. So far I have it
'mostly' working. This it is the emphasis on 'mostly' that my question
arises. It seems at certain frames, the positional data is not properly
being captured. In fact, upon inspection. It looks as if the data is
that of the previous frame. To me my guess is that the script I run
captures the point data before the syflex cache has a chance to refresh.
I've tried to prevent that from happening by using a Refresh() or
SceneRefresh() command, but that doesn't seem to help me one bit.
Bugger! What even concerns me even more is that every time I run my
caching script. Its the same exact frames that the caching fails on. I'm trying everything that I can possibly think of to ensure I am
getting the right data. Instead of using ActivePrimitive.Geometry, I am
using ActivePrimitive.GetGeometry(frame#) (using python) to get the data
from the right time frame. still no luck. So I am a bit stuck as what
would cause these hiccups. I imagine if I could access the data from the
syflex cache files, this wouldn't be much of a problem. Grrr.


oh well, I will continue to test the stress factors of my hair roots!

Greg


---
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.