FBX animation doesn't work

Reallusion Forum
Reallusion Home      Members   Calendar   Who's On
Welcome Guest ( Login | Register )
      


1234>>>

FBX animation doesn't workExpand / Collapse
Author
Message
Posted 4/12/2013 9:34:32 PM


Tutor

TutorTutorTutorTutorTutorTutorTutorTutor

Group: Forum Members
Last Login: 10/24/2014 5:36:38 AM
Posts: 493, Visits: 2,867
Hi All. This animation bit is giving me a headache, and I don't usually throw the towel in on things easily.

The problem:
A simple model created in 3dsmax 2013 has two animating parts (see download) http://robertwatt.com/downloads/test%20car%20ani%203a.FBX

But when set up in Iclone when opening one door at a time things are fine. But open door one then door two door one closes. The same goes if opening door two first then door one, door two closes.

It appears I'm missing something in the initial setup of the model in max, but for the life of me I cannot see what it is.

If some one could enlighten me of my errors I'd be most appreciative, otherwise it looks like most of my props will remain as simple static bystanders in the Iclone universe.

Thanks
Bob


* * * * * * * * * * * * * * * * * *
Retired Teacher - Geriatric Icloner still learning
Colonel_Klink's Indie Movie Page

http://thecheapfilmmaker.com for things dslr, Sketchup
Colour Blind Online Diary



CK's Sketchup Tips
Post #153003
Posted 4/12/2013 11:08:02 PM
Tutor

TutorTutorTutorTutorTutorTutorTutorTutor

Group: Forum Members
Last Login: Today @ 12:42:27 PM
Posts: 516, Visits: 2,743
Colonel_Klink (4/12/2013)
Hi All. This animation bit is giving me a headache, and I don't usually throw the towel in on things easily.

The problem:
A simple model created in 3dsmax 2013 has two animating parts (see download) http://robertwatt.com/downloads/test%20car%20ani%203a.FBX

But when set up in Iclone when opening one door at a time things are fine. But open door one then door two door one closes. The same goes if opening door two first then door one, door two closes.

It appears I'm missing something in the initial setup of the model in max, but for the life of me I cannot see what it is.

If some one could enlighten me of my errors I'd be most appreciative, otherwise it looks like most of my props will remain as simple static bystanders in the Iclone universe.

Thanks
Bob

Try Getting 3 independent FBX :
1) Left Door open
2) Right Door Open
3) Both Doors Open

You will have 3 morphs in your Morph List. Then call them independently. I am no expert. But thinking of a possibility.
Post #153004
Posted 4/12/2013 11:41:56 PM


Tutor

TutorTutorTutorTutorTutorTutorTutorTutor

Group: Forum Members
Last Login: Today @ 6:26:28 AM
Posts: 4,564, Visits: 8,264
I tried to replicate your problem. I imported the object into iClone and created 4 motions: door 1 open, door 1 close, door 2 open, and door 2 close.

And indeed, when I apply "open door 1", door 1 opens, but when I apply "open door 2", door 1 closes. Why?

It then dawned on my that when recording the animation for opening one door, the other door is closed. So the clip you are saving applies to the state of both doors. Since door 1 was closed when I recorded the motion for opening door 2, playing back that motion will cause door 1 to close.

I wouldn't immediately know how to solve this problem. What you need is some kind of hierarchy that allows motions to applied to individual parts without affecting other parts.


   

Post #153006
Posted 4/12/2013 11:49:02 PM


Tutor

TutorTutorTutorTutorTutorTutorTutorTutor

Group: Forum Members
Last Login: 10/24/2014 5:36:38 AM
Posts: 493, Visits: 2,867

Try Getting 3 independent FBX :
1) Left Door open
2) Right Door Open
3) Both Doors Open

You will have 3 morphs in your Morph List. Then call them independently. I am no expert. But thinking of a possibility.


Yes that would definitely work. Thanks.
I'm beginning to think that Iclone doesn't support what I'm trying to accomplish unless the doors are independent of each other as sub props. I might have to do that or as you suggest have multiple animations within each command.
Thanks
Bob


* * * * * * * * * * * * * * * * * *
Retired Teacher - Geriatric Icloner still learning
Colonel_Klink's Indie Movie Page

http://thecheapfilmmaker.com for things dslr, Sketchup
Colour Blind Online Diary



CK's Sketchup Tips
Post #153007
Posted 4/12/2013 11:53:46 PM


Tutor

TutorTutorTutorTutorTutorTutorTutorTutor

Group: Forum Members
Last Login: 10/24/2014 5:36:38 AM
Posts: 493, Visits: 2,867
Hi animagic
Thanks for confiming that I'm not going nuts
That is what I concluded was happening too. The funny thing is when I export the same model to Unity I can have both doors open at the same time. The thing is in Unity the commands call each door independently, whereas in Iclone, as you say, the animations are essentially on the same animation timeline, whereas in Unity they are called from code not a timeline. When (if) we ever get lua scripting to control props this would overcome this limitation.
Cheers
Bob


* * * * * * * * * * * * * * * * * *
Retired Teacher - Geriatric Icloner still learning
Colonel_Klink's Indie Movie Page

http://thecheapfilmmaker.com for things dslr, Sketchup
Colour Blind Online Diary



CK's Sketchup Tips
Post #153008
Posted 4/13/2013 12:45:39 AM
Tutor

TutorTutorTutorTutorTutorTutorTutorTutor

Group: Forum Members
Last Login: Today @ 12:42:27 PM
Posts: 516, Visits: 2,743
Colonel_Klink (4/12/2013)
Hi animagic
Thanks for confiming that I'm not going nuts
That is what I concluded was happening too. The funny thing is when I export the same model to Unity I can have both doors open at the same time. The thing is in Unity the commands call each door independently, whereas in Iclone, as you say, the animations are essentially on the same animation timeline, whereas in Unity they are called from code not a timeline. When (if) we ever get lua scripting to control props this would overcome this limitation.
Cheers
Bob


Your example has SubProps. But I am afraid it still may not work.

Interestingly, the solution is quite simple. You need RL's small attention.

A single timeline would work. But we need to tell the target where to stop. that means we need to define the Start and End Point of a clip. We do it often in interactive 3D when we export the 3dx MAX animations, we take a single timeline, but define the CLIPS independently by defining the Start and end points, then call the clips by Name. Something Like "On Click on Right Door" call the clip "OPEN RIGHT DOOR". Some people use a simple TXT or INI file to store these clipStart and clipEnd values.

"OPEN RIGHT DOOR", 1,250
"OPEN LEFT DOOR", 251,500
"OPEN BOTH DOORS", 501,1000

In 3dx, RL must allow the user to break a single animation into "virtual segments" and create independent Morph / animations / Clips, then allow the user to call them by name through right click in ICLONE.

May be ICLONE AML / Lua has this interactive support. Somebody got to do the exploration. But it would be nicer if RL allows all "Morphs with Slider" and "Animation Virtual Clips" through Right Click inside ICLONE.

Here perhaps you can do with 4 independent FBX, one extra for all doors closed.
Post #153010
Posted 4/13/2013 2:35:29 AM


Tutor

TutorTutorTutorTutorTutorTutorTutorTutor

Group: Forum Members
Last Login: 10/24/2014 5:36:38 AM
Posts: 493, Visits: 2,867
Yes I think you are right, there needs to be a method of starting and ending an animation clip because setting 3 perform commands 1. move up, 2 rotate left, 3. rotate right on a simple block in in Iclone has the same problems. e.g." move up" the block moves up. Rotate and the block resets to the place it was before moving up.
This means that there is a problem with the prop perform command as it stands.
I've exported a lua dramascript for the block object as below.
I'm just wondering if there is scripting code to get the perform commands to hold the previous position and to start next animation.
Cheers
Bob


code:
iObject = {
Clips = {
AnimationClip = {
[ 1 ] = {
ID = "rotate right";
TargetType = "Object";
ClipType = "Animation";
ClipLocation = "$";
Priority = {
[ 1 ] = {
ID = "01";
Node = "$";
Value = 200.000000;
};
};
TargetNode = "$";
};
[ 2 ] = {
ClipLocation = "$";
ClipType = "Animation";
ID = "rotate left";
Priority = {
[ 1 ] = {
ID = "01";
Node = "$";
Value = 200.000000;
};
};
TargetType = "Object";
TargetNode = "$";
};
[ 3 ] = {
ID = "move up";
TargetType = "Object";
TargetNode = "$";
ClipType = "Animation";
ClipLocation = "$";
Priority = {
[ 1 ] = {
ID = "01";
Node = "$";
Value = 200.000000;
};
};
};
};
};
Commands = {
Perform = {
PerformCommand = {
[ 1 ] = {
Persist = false;
ClipSeq = {
[ 1 ] = {
ID = "rotate right";
RefClipID = "rotate right";
Delay = 0.000000;
Loop = 1.000000;
};
};
ID = "rotate right";
HotkeyID = "None";
RightMenu = true;
DisplayName = "rotate right";
};
[ 2 ] = {
Persist = false;
ClipSeq = {
[ 1 ] = {
ID = "rotate left";
RefClipID = "rotate left";
Delay = 0.000000;
Loop = 1.000000;
};
};
ID = "rotate left";
DisplayName = "rotate left";
RightMenu = true;
HotkeyID = "None";
};
[ 3 ] = {
ID = "move up";
DisplayName = "move up";
Persist = false;
RightMenu = true;
HotkeyID = "None";
ClipSeq = {
[ 1 ] = {
ID = "move up";
RefClipID = "move up";
Delay = 0.000000;
Loop = 1.000000;
};
};
};
};
};
};
};


* * * * * * * * * * * * * * * * * *
Retired Teacher - Geriatric Icloner still learning
Colonel_Klink's Indie Movie Page

http://thecheapfilmmaker.com for things dslr, Sketchup
Colour Blind Online Diary



CK's Sketchup Tips
Post #153012
Posted 4/13/2013 4:03:57 AM
Tutor

TutorTutorTutorTutorTutorTutorTutorTutor

Group: Forum Members
Last Login: Today @ 12:42:27 PM
Posts: 516, Visits: 2,743
Colonel_Klink (4/13/2013)
Yes I think you are right, there needs to be a method of starting and ending an animation clip because setting 3 perform commands 1. move up, 2 rotate left, 3. rotate right on a simple block in in Iclone has the same problems. e.g." move up" the block moves up. Rotate and the block resets to the place it was before moving up.
This means that there is a problem with the prop perform command as it stands.
I've exported a lua dramascript for the block object as below.
I'm just wondering if there is scripting code to get the perform commands to hold the previous position and to start next animation.
Cheers
Bob





I guess you have to define a new parameter - "currentLocation"/ currentRotation.
Then clipLocation takes the value of your currentLocation.
After your first command, currentLocation = 40 ; So your clipLocation will be 40.

Basically $ should hold your new clipLocation. And it should work. This is just my 1st look suggestion.
Post #153015
Posted 4/13/2013 4:07:21 AM
Tutor

TutorTutorTutorTutorTutorTutorTutorTutor

Group: Forum Members
Last Login: Today @ 12:41:21 PM
Posts: 4,327, Visits: 10,024
It's not Rocket Science!  iClone is simply NOT "Layering" the animation properly!

* Hoops 'n Barrels:
Break the animation in the 'animation' section of the timeline!
S P R E A D  the open and close animations... FAR apart!

this is why I NEVER animate in iclone!

Post #153016
Posted 4/13/2013 4:09:59 AM
Tutor

TutorTutorTutorTutorTutorTutorTutorTutor

Group: Forum Members
Last Login: Today @ 12:42:27 PM
Posts: 516, Visits: 2,743
sw00000p (4/13/2013)
It's not Rocket Science! iClone is simply NOT"Layering" the animation properly!

* Hoops 'n Barrels:
Break the animation in the 'animation' section of the timeline!
S P R E A D the open and close animations... FAR apart!

this is why I NEVER animate in iclone!


FAR APART ! Sorry I did not understand this part. Could you please elaborate it ?

I think if ICLONE simply stores values like below, it would work :

"OPEN RIGHT DOOR", 1,250
"OPEN LEFT DOOR", 251,500
"OPEN BOTH DOORS", 501,1000
Post #153017
« Prev Topic | Next Topic »

1234>>>

Reading This TopicExpand / Collapse
Active Users: 1 (1 guest, 0 members, 0 anonymous members)
No members currently viewing this topic.
Forum Moderators: Visconti, Peter (RL), Bruce (RL)

PermissionsExpand / Collapse

All times are GMT, Time now is 8:24am

Powered By InstantForum.NET v4.1.4 © 2014
Execution: 0.780. 9 queries. Compression Enabled.