F-Curve Linker.js

frank beckmann

Well-known member
Actually, it would be great for anyone who has the time to test this, regardless of OS version. I'm on Yosemite 10.10.5 still, btw.
My bad - I thought you´re on El Capitan. Now I have absolutely no clue why it´s not running for you... :redface:

Cheers
Frank
 

Swizl

Well-known member
Ok confirmed. Crashing when rendering in v7. A work around may be to render each frame and then composite. A pain for sure, but at least until it possibly may have a fix.
 

frank beckmann

Well-known member
So it´s crashing on Yosemite AND El Capitan?
Wonder what´s going on here as I can´t reproduce it. :redface:

Cheers
Frank
 

crgreen

Member
Ok confirmed. Crashing when rendering in v7. A work around may be to render each frame and then composite. A pain for sure, but at least until it possibly may have a fix.

Which means no motion blur, which gets my vote for most important feature of v7.
 

frank beckmann

Well-known member
Which means no motion blur, which gets my vote for most important feature of v7.
I can hold against it as you can see in reply N° 14/17.
But now we need a bug/crash-log do determine if it´s the script or the API.
Who´s first? Please send it over to Martin. Thanks.

Cheers
Frank
 

Swizl

Well-known member
I can hold against it as you can see in reply N° 14/17.
But now we need a bug/crash-log do determine if it´s the script or the API.
Who´s first? Please send it over to Martin. Thanks.

Cheers
Frank

Crash log sent to the good doctor.
 

Martin

Moderator
Hi,
and sorry for the late reply. The problem is that the architecture of Cheetah3D 7 changed slightly. In v6 and older every object had a dummy tag which did nothing else than displaying the object icon. Since tag was removed in v7 since the object tag is now displayed directly by the object. That saves a lot of unnecessary tags throughout the scene.

Unluckily this script stumbles over this missing tag since that script access the tags via the tag index. Especially for existing scenes this might be a problem if they access tags which don't exist anymore.

So this script needs some small adjustments to work properly in v7.

Bye
Martin
 

crgreen

Member
Hi,
and sorry for the late reply. The problem is that the architecture of Cheetah3D 7 changed slightly. In v6 and older every object had a dummy tag which did nothing else than displaying the object icon. Since tag was removed in v7 since the object tag is now displayed directly by the object. That saves a lot of unnecessary tags throughout the scene.

Unluckily this script stumbles over this missing tag since that script access the tags via the tag index. Especially for existing scenes this might be a problem if they access tags which don't exist anymore.

So this script needs some small adjustments to work properly in v7.

Bye
Martin

Hi Martin. Thanks for the reply. But what if a script doesn't use these tags explicitly why does this fail? And why would this kill renders when the tags that are referenced are corrected?? I'm sorry, but I'm looking to understand this problem better, and so far I am trying to understand the connection with the render-killing bug.

-cg
 

crgreen

Member
Hi Martin. Thanks for the reply. But what if a script doesn't use these tags explicitly why does this fail? And why would this kill renders when the tags that are referenced are corrected?? I'm sorry, but I'm looking to understand this problem better, and so far I am trying to understand the connection with the render-killing bug.

-cg

I never got answers to this, and this bug is still unfixed (beta eighteen). I wrote a couple of scripts inspired by f-linker that avoid these tags completely. The scripts work beautifully, add amazing functionality, and I cannot render movies. It makes no sense.
 

Martin

Moderator
Hi,
I've tested your tankWithKF.jas.zip sample scene and it works fine. It also works for both renderers. Do you have the latest version of the script installed since Hiroto released some bugfixes?

Bye
Martin
 

crgreen

Member
Hi,
I've tested your tankWithKF.jas.zip sample scene and it works fine. It also works for both renderers. Do you have the latest version of the script installed since Hiroto released some bugfixes?

Bye
Martin

From 2013? Yes. In the latest beta, the most recent f-linker does not even launch, giving
Code:
line: 139 
error: Object.getParameter() couldn't find parameter called A prm. name
error. I have really tried to be thorough in my script version use; the links I've found here and on Hiroto's site were last updated in '13.

Keep in mind that the only two people to see the rendering crash are myself (two different machines) and Swizl. So far. No one else could or would contribute, except frank (for whom rendering movies worked fine). (Sorry to anyone I'm forgetting. I'm a little tired right now.)

This is why both Swizl and I both sent you crash logs.
But, like I said, I've created a few scripts using some of the same principles, which "work" (work up to rendering) on all versions of Cheetah, just fail to render movies. I first saw the render crashes with f-linker while I was developing the other scripts. In a way, my scripts are simpler, but they have the same render crash problem f-linker did.

Just to clarify: I can use f-linker with beta 17, but it is unusable with beta 18.
In all beta versions previous to 18, aside from the weird tag problem, all movie renders fail. This failure is the same with the scripts I've written, but my scripts work with all versions, aside from rendering, which always crashes.

Let me know what else I can contribute or send you.

Thanks
 
Last edited:

frank beckmann

Well-known member
Seems the example files don´t work anymore under Yosemite/C3dv7beta18:

Cheers
Frank
 

Attachments

  • fCurveLinker.png
    fCurveLinker.png
    46.8 KB · Views: 390

Martin

Moderator
Hi,
I've introduced a bug in Beta 18 which causes problems with parameter names which contain a dot. I've already fixed that problem and it will work properly in Beta 19 again.

@crgreen. Could you send me another crashlog with an example scene?

Bye
Martin
 

crgreen

Member
The good captain (Martin) has enlightened me on this render bug, which is a script problem. The solution is really a simple rule, but the problem (at least my experience with it) will most likely be made moot by a script included in a future release of v7. But I suppose it might be a good idea to mention a simple but essential rule when using the setParameter method in Cheetah's JS API ...
Just to share with other script-makers:

You are using the setParameter() function within the buildObject() function-hook like this:
Code:
scriptParent.setParameter("rotation", new Vec3D(v, p.y, p.z) );
but that causes a recursive hang since the setParameter() function will trigger a re-build of the object. But you are already in the build loop. So you will never escape and Cheetah3D hangs up.
To avoid that problem never call the setParameter() function within the buildObject() function without suppressing the object update (re-build). You can do that by calling
Code:
scriptParent.setParameter("rotation", new Vec3D(v, p.y, p.z), false );
Thanks again to all who helped bring attention to this. I'm so happy with Cheetah v7 (especially since I have my motion blur back! :redface: )
 
Top