Relative position to Smart folder is lost !

Relative position to Smart folder is lost !

Hi again ;-)

Every time I re-open my project, the position of the object relative to its Smart folder is lost !!! :evil: :( :(

Anything I'm doing wrong ?
 
Pierre said:
Hi again ;-)

Every time I re-open my project, the position of the object relative to its Smart folder is lost !!! :evil: :( :(

Anything I'm doing wrong ?

Pierre,
Sorry to say this but your description of the problem you have is kind of short for anyone to try to or, eventually, be willing to help.
This forum is a great place to get help since all the participants are Cheetah3D lovers. But you have to do your part !
In this case, a short .jas file example could have done it.

Again, you will find a lot of people here to help you. They will invest time for you if you give them the tools and respect.
 
Sorry, I did not intended to lack respect :confused: ; I thought the problem was simple enough and therefore that the explanations were clear. :rolleyes:

Here is a detailed explanation (I found out what was going on - although it is confusing :| ).

box.jas is a box
Box_instance.jas is an instance of the box (The Smart Folder refers to the file box.jas)

In Box_instance.jas, you may align the position of the "box" with the position of "Smart Folder". That is both at (1,1,1). Save the file, everything look fine, you may think that "box" and "Smart Folder" are aligned for ever.

Now, you close the file Box_instance.jas and re-open it. What can you see ?
The "box" and "Smart Folder" are no longer aligned. Actually, the position of the box is reset to its position in box.jas relatively to "Smart Folder" position.

Maybe, to avoid this kind of misunderstanding, it should not be allowed to modify the position of objects instantiated in a smart folder. ( ? )

Cheers,

p*

attached : box_smart_folder.zip containing Box_instance.jas and box.jas
 

Attachments

  • box_smart_folder.zip
    6.5 KB · Views: 352
Pierre said:
In Box_instance.jas, you may align the position of the "box" with the position of "Smart Folder". That is both at (1,1,1). Save the file, everything look fine, you may think that "box" and "Smart Folder" are aligned for ever.

Now, you close the file Box_instance.jas and re-open it. What can you see ?
The "box" and "Smart Folder" are no longer aligned. Actually, the position of the box is reset to its position in box.jas relatively to "Smart Folder" position.

Pierre,
The smart folder help file clearly states :
" Attention: Don't make changes to the objects within a smart folder. These changes won't be saved and get lost once the Smart Folder updates. "

This is why your 1st email was not clear since your are supposed to know this.

Edit : Sorry if my words were too strong. I had no intention to be unpleasant
 
Last edited:
Hi François, All,

Here is why I got confused in the first place. Let's take the above names and files and try the following :

(The spelling is important here)
- To make things clear set the "Box" to (0,0,0) in box.jas, save and close.
- Open Box_instance.jas, clear the Smart Folder, create a box called "Box"
- place the box in a (simple) folder called "Box" and animate the folder "Box"
- save the animation
- Clear the folder "Box", create a Smart Folder called "Box" which refer to the file box.jas
- Play the animation... the Smart Folder position is (0,0,0) but C3D remembers the position of the former "Box" folder and applies it to the instance "Box" of box.jas

At the begining it seams a cool feature. Though it is confusing, in respect to the comment in the help file. Now, try the following :

- Still in Box_instance.jas, create a new Smart Folder called "Box 2" which refer to the file box.jas as well.
- Play the animation... the former Box folder animation is applied to both instances of box.jas (the one in "Box" and the on in "Box 2" Smart Folders).

You may now understand my point.

The question : how to de-reference an object ?

Thanks

p*
 
box.jas is a box
Box_instance.jas is an instance of the box (The Smart Folder refers to the file box.jas)
Why are you using smart folders to refer to a .jas file? No wonder Cheetah's acting strange.
The question : how to de-reference an object ?
Name it something completely different I guess.

Andrew
 
Andrew, What is the Shift-key supposed to do here ? I have tried it but I could not see its effect from not holding it.

Any idea about the above (in case I really want to use Smart Folder and can't afford to restart my animation from scratch) ? Maybe I'll have one odd file in my project not using Smart Folders...

Thanks

p*
 
Pierre said:
Andrew, What is the Shift-key supposed to do here ? I have tried it but I could not see its effect from not holding it.
Support for drag and drop of object within the transformation hierarchy without changing their global position. Just hold the SHIFT key pressed during the drag and drop and the global position of the object won't change
 
fused said:
Why are you using smart folders to refer to a .jas file? No wonder Cheetah's acting strange.

Coz, I want to use the Smart Folders properties :) : "A Smart Folder links the external 3D file to a the Cheetah3D scene without importing it. If the external 3D file changes Cheetah3D automatically updates the content of the smart folder. So you can still modify the external 3D file and still have the latest version of your model in Cheetah3D."

my box.jas is instantiated in several other .jas files. I want that the updates I do to box.jas automatically "replicates" in all the .jas files the box.jas is instantiated. ;)

fused said:
Name it something completely different I guess.

Andrew

"it" being the "Box" in box.jas
That should do the job for the second instance but it also means that the animation for the first instance will be lost. :(

:rolleyes: Shall we conclude that either you start right away with Smart Folders or you don't use them (for a give file).

+
p*
 
"it" being the "Box" in box.jas
That should do the job for the second instance but it also means that the animation for the first instance will be lost.

Shall we conclude that either you start right away with Smart Folders or you don't use them (for a give file).
What is your intended final outcome for the project?
 
The current situations is an animation made of objects (object and animation defined in the same jas file).

The final outcome I aimed for was an animation made of external objects (one jas file with the animation info and several jas files for the objects that were previously defined in the animation jas file).

Thanks again Andrew for showing interest
 
Pierre said:
- Play the animation... the Smart Folder position is (0,0,0) but C3D remembers the position of the former "Box" folder and applies it to the instance "Box" of box.jas

[...]

- Still in Box_instance.jas, create a new Smart Folder called "Box 2" which refer to the file box.jas as well.
- Play the animation... the former Box folder animation is applied to both instances of box.jas (the one in "Box" and the on in "Box 2" Smart Folders).
p*

Oops :oops:

Actually When I isolated my object from the animation file, I copied it into a new jas file, without realising that its animation will be copied too :-o
This explains the behavior I had and you won't get trying my step by step explanation.

sooorry

Nevertheless the conclusion remains true :
:arrow: Either you start right away with Smart Folders or you don't use them (for a given file - if you plan to use several instances of your object and animate them).
 
Hi,
I'm not sure is the problem resolved now?

I found two bugs in the smart folder yesterday. But they were related to a crash and a problem importing cameras in the smart folder.

Where do you exactly still have problems.

Bye,
Martin
 
Martin,

My problem is solved. In the end, I figured out (correct me if I'm wrong) that you cannot replace an object by a smart folder instantiating that object, without loosing the animation parameters of the object. i.e. there is no way to pass the animation parameters from the object to the smart folder ( ? ).

Cheers,

p*
 
Back
Top