Project VesselBuilder for Orbiter

fred18

Addon Developer
Addon Developer
Donator
Joined
Feb 2, 2012
Messages
1,667
Reaction score
104
Points
78
Fred, anything to take into consideration regarding writing VB configs?
What scenario parameters are needed?

if I remember correctly no scenario parameters are mandatory. VB saves everything by itself once created but for the first opening of a vessel nothing is mandatory (as a matter of fact vessels can be spawned through scenario editor without issues).

relevant to writing configs the only mandatory part shoudl be the first 2 lines: class and module. Then it's a matter of just writing everything with the right names.

The best of the best options would be to create a vessel translator, so anyvessel running in orbiter could be translated to a vb vessel, including SC4 of course, but you would need to know either the lua apis or (better) the orbiter apis to make that and at the moment it's out of reach for me as far as time I can dedicate to it.
 

4throck

Enthusiast !
Joined
Jun 19, 2008
Messages
3,502
Reaction score
1,008
Points
153
Location
Lisbon
Website
orbiterspaceport.blogspot.com
I see the SC4 translator as something very basic.
Probably it will just output the VB config on screen. The developer then Copy/Pastes it into his VB vessel.

Keep it simple ;)
 

Donamy

Addon Developer
Addon Developer
Donator
Beta Tester
Joined
Oct 16, 2007
Messages
6,919
Reaction score
219
Points
138
Location
Cape
I was only throwing that out there, not really thinking it was possible. I'm elated !!!:hail:
 

4throck

Enthusiast !
Joined
Jun 19, 2008
Messages
3,502
Reaction score
1,008
Points
153
Location
Lisbon
Website
orbiterspaceport.blogspot.com
It's doable. You only need to read the SC4 config, search for each parameter and then output the corresponding VB parameter.

The hard part is finding a nice way to do it :)
Search & replace with sort of work for things like mesh definition. But not for the rest...
 

Donamy

Addon Developer
Addon Developer
Donator
Beta Tester
Joined
Oct 16, 2007
Messages
6,919
Reaction score
219
Points
138
Location
Cape
How about a go-between file ? One that sets things up, for the conversion.
 

Donamy

Addon Developer
Addon Developer
Donator
Beta Tester
Joined
Oct 16, 2007
Messages
6,919
Reaction score
219
Points
138
Location
Cape
Hi Fred,

Could you add in a way, of separating individual "robotic arms" ? That would make it easier than having to go through the entire list of animations, when a vessel has multiple arms/legs. Maybe cntrl+R, that would jump to the next arm.

e.g. info in box:
Group: Left arm, Anim: wrist roll 8.66

---------- Post added 05-02-19 at 04:05 AM ---------- Previous post was 05-01-19 at 09:18 PM ----------

Having a problem with the Manual animations. They work fine up until the arm animations. I set the parent to the first animation "torso", but the last leg animation moves instead. It won't go back to the torso parent.

Code:
;<-------------------------ANIMATIONS DEFINITIONS------------------------->
 
ANIM_0_ID = 0
ANIM_0_NAME = torso bend
ANIM_0_DEFSTATE = 0.6
ANIM_0_DURATION = 5
ANIM_0_KEY = 0
ANIM_0_CYCLE = 3
 
ANIM_1_ID = 1
ANIM_1_NAME = waist yaw
ANIM_1_DEFSTATE = 0.5
ANIM_1_DURATION = 3
ANIM_1_KEY = 0
ANIM_1_CYCLE = 3
 
ANIM_2_ID = 2
ANIM_2_NAME = waist roll
ANIM_2_DEFSTATE = 0.5
ANIM_2_DURATION = 3
ANIM_2_KEY = 0
ANIM_2_CYCLE = 3
 
ANIM_3_ID = 3
ANIM_3_NAME = Left hip
ANIM_3_DEFSTATE = 0.6
ANIM_3_DURATION = 3
ANIM_3_KEY = 0
ANIM_3_CYCLE = 3
 
ANIM_4_ID = 4
ANIM_4_NAME = left knee
ANIM_4_DEFSTATE = 0.7
ANIM_4_DURATION = 3
ANIM_4_KEY = 0
ANIM_4_CYCLE = 3
 
ANIM_5_ID = 5
ANIM_5_NAME = left ankle
ANIM_5_DEFSTATE = 0.6
ANIM_5_DURATION = 10
ANIM_5_KEY = 0
ANIM_5_CYCLE = 3
 
ANIM_6_ID = 6
ANIM_6_NAME = Right hip
ANIM_6_DEFSTATE = 0.6
ANIM_6_DURATION = 3
ANIM_6_KEY = 0
ANIM_6_CYCLE = 3
 
ANIM_7_ID = 7
ANIM_7_NAME = Right knee
ANIM_7_DEFSTATE = 0.7
ANIM_7_DURATION = 3
ANIM_7_KEY = 0
ANIM_7_CYCLE = 3
 
ANIM_8_ID = 8
ANIM_8_NAME = Right ankle
ANIM_8_DEFSTATE = 0.6
ANIM_8_DURATION = 10
ANIM_8_KEY = 0
ANIM_8_CYCLE = 3
 
ANIM_9_ID = 9
ANIM_9_NAME = Left arm swing
ANIM_9_DEFSTATE = 0.12
ANIM_9_DURATION = 3
ANIM_9_KEY = 0
ANIM_9_CYCLE = 3
 
ANIMCOMP_0_ID = 0
ANIMCOMP_0_SEQ = 0
ANIMCOMP_0_NAME = torso
ANIMCOMP_0_STATE0 = 0
ANIMCOMP_0_STATE1 = 1
ANIMCOMP_0_ARMTIP = FALSE
ANIMCOMP_0_MESH = 0
ANIMCOMP_0_TYPE = 1
ANIMCOMP_0_REF = 0 0.208 -0.131
ANIMCOMP_0_AXIS = 1 0 0
ANIMCOMP_0_ANGLE = 45
ANIMCOMP_0_NGRPS = 12
ANIMCOMP_0_GRPS = 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
ANIMCOMP_0_PARENT = -1
 
ANIMCOMP_1_ID = 1
ANIMCOMP_1_SEQ = 1
ANIMCOMP_1_NAME = waist1
ANIMCOMP_1_STATE0 = 0
ANIMCOMP_1_STATE1 = 1
ANIMCOMP_1_ARMTIP = FALSE
ANIMCOMP_1_MESH = 0
ANIMCOMP_1_TYPE = 1
ANIMCOMP_1_REF = 0 0.208 0
ANIMCOMP_1_AXIS = 0 0 1
ANIMCOMP_1_ANGLE = 30
ANIMCOMP_1_NGRPS = 0
ANIMCOMP_1_GRPS = -1
ANIMCOMP_1_PARENT = -1
 
ANIMCOMP_2_ID = 2
ANIMCOMP_2_SEQ = 2
ANIMCOMP_2_NAME = waist2
ANIMCOMP_2_STATE0 = 0
ANIMCOMP_2_STATE1 = 1
ANIMCOMP_2_ARMTIP = FALSE
ANIMCOMP_2_MESH = 0
ANIMCOMP_2_TYPE = 1
ANIMCOMP_2_REF = 0 0.208 0
ANIMCOMP_2_AXIS = 0 1 0
ANIMCOMP_2_ANGLE = 40
ANIMCOMP_2_NGRPS = 1
ANIMCOMP_2_GRPS = 1
ANIMCOMP_2_PARENT = 1
 
ANIMCOMP_3_ID = 3
ANIMCOMP_3_SEQ = 3
ANIMCOMP_3_NAME = Lhip
ANIMCOMP_3_STATE0 = 0
ANIMCOMP_3_STATE1 = 1
ANIMCOMP_3_ARMTIP = FALSE
ANIMCOMP_3_MESH = 0
ANIMCOMP_3_TYPE = 1
ANIMCOMP_3_REF = 0 -0.086 -0.115
ANIMCOMP_3_AXIS = 1 0 0
ANIMCOMP_3_ANGLE = 120
ANIMCOMP_3_NGRPS = 1
ANIMCOMP_3_GRPS = 13
ANIMCOMP_3_PARENT = 2
 
ANIMCOMP_4_ID = 4
ANIMCOMP_4_SEQ = 4
ANIMCOMP_4_NAME = Lknee
ANIMCOMP_4_STATE0 = 0
ANIMCOMP_4_STATE1 = 1
ANIMCOMP_4_ARMTIP = FALSE
ANIMCOMP_4_MESH = 0
ANIMCOMP_4_TYPE = 1
ANIMCOMP_4_REF = 0 -0.381 -0.018
ANIMCOMP_4_AXIS = 1 0 0
ANIMCOMP_4_ANGLE = -130
ANIMCOMP_4_NGRPS = 1
ANIMCOMP_4_GRPS = 14
ANIMCOMP_4_PARENT = 3
 
ANIMCOMP_5_ID = 5
ANIMCOMP_5_SEQ = 5
ANIMCOMP_5_NAME = Lankle
ANIMCOMP_5_STATE0 = 0
ANIMCOMP_5_STATE1 = 1
ANIMCOMP_5_ARMTIP = FALSE
ANIMCOMP_5_MESH = 0
ANIMCOMP_5_TYPE = 1
ANIMCOMP_5_REF = 0 -0.81 -0.138
ANIMCOMP_5_AXIS = 1 0 0
ANIMCOMP_5_ANGLE = 45
ANIMCOMP_5_NGRPS = 1
ANIMCOMP_5_GRPS = 15
ANIMCOMP_5_PARENT = 4
 
ANIMCOMP_6_ID = 6
ANIMCOMP_6_SEQ = 6
ANIMCOMP_6_NAME = Rhip
ANIMCOMP_6_STATE0 = 0
ANIMCOMP_6_STATE1 = 1
ANIMCOMP_6_ARMTIP = FALSE
ANIMCOMP_6_MESH = 0
ANIMCOMP_6_TYPE = 1
ANIMCOMP_6_REF = 0 -0.086 -0.115
ANIMCOMP_6_AXIS = 1 0 0
ANIMCOMP_6_ANGLE = 120
ANIMCOMP_6_NGRPS = 1
ANIMCOMP_6_GRPS = 16
ANIMCOMP_6_PARENT = 2
 
ANIMCOMP_7_ID = 7
ANIMCOMP_7_SEQ = 7
ANIMCOMP_7_NAME = Rknee
ANIMCOMP_7_STATE0 = 0
ANIMCOMP_7_STATE1 = 1
ANIMCOMP_7_ARMTIP = FALSE
ANIMCOMP_7_MESH = 0
ANIMCOMP_7_TYPE = 1
ANIMCOMP_7_REF = 0 -0.381 -0.018
ANIMCOMP_7_AXIS = 1 0 0
ANIMCOMP_7_ANGLE = -130
ANIMCOMP_7_NGRPS = 1
ANIMCOMP_7_GRPS = 17
ANIMCOMP_7_PARENT = 6
 
ANIMCOMP_8_ID = 8
ANIMCOMP_8_SEQ = 8
ANIMCOMP_8_NAME = Rankle
ANIMCOMP_8_STATE0 = 0
ANIMCOMP_8_STATE1 = 1
ANIMCOMP_8_ARMTIP = FALSE
ANIMCOMP_8_MESH = 0
ANIMCOMP_8_TYPE = 1
ANIMCOMP_8_REF = 0 -0.81 -0.138
ANIMCOMP_8_AXIS = 1 0 0
ANIMCOMP_8_ANGLE = 45
ANIMCOMP_8_NGRPS = 1
ANIMCOMP_8_GRPS = 18
ANIMCOMP_8_PARENT = 7
 
[COLOR=Red]ANIMCOMP_9_ID = 9
ANIMCOMP_9_SEQ = 9
ANIMCOMP_9_NAME = Lshoulder1
ANIMCOMP_9_STATE0 = 0
ANIMCOMP_9_STATE1 = 1
ANIMCOMP_9_ARMTIP = FALSE
ANIMCOMP_9_MESH = 0
ANIMCOMP_9_TYPE = 1
ANIMCOMP_9_REF = -0.241 0.488 -0.048
ANIMCOMP_9_AXIS = -0.973052 -0.136754 0.185654
ANIMCOMP_9_ANGLE = 165
ANIMCOMP_9_NGRPS = 2
ANIMCOMP_9_GRPS = 16, 17
ANIMCOMP_9_PARENT = -1[/COLOR]
 
Last edited:

4throck

Enthusiast !
Joined
Jun 19, 2008
Messages
3,502
Reaction score
1,008
Points
153
Location
Lisbon
Website
orbiterspaceport.blogspot.com
How about a go-between file ? One that sets things up, for the conversion.


No need.


On SC3 you have this:
Code:
[ANIM_SEQ_0]
KEY=G
DURATION=10


On VB you need:
Code:
[B]ANIM_0_ID = 0[/B] 
ANIM_0_NAME = 0 
ANIM_0_DEFSTATE = 0 
[B]ANIM_0_DURATION = 10 
ANIM_0_KEY = G[/B] 
ANIM_0_CYCLE = 0

So it's almost a replace, with some default values and compute names (ANIM_n_) added I guess.
I'll look into this when possible, but in theory it's simple. You just go block by block and write the VB config.
 
Last edited:

Donamy

Addon Developer
Addon Developer
Donator
Beta Tester
Joined
Oct 16, 2007
Messages
6,919
Reaction score
219
Points
138
Location
Cape
Fred:

Try this.

Make a vessel, then add only one manual animation, with no groups selected. Open the manual box and select animation and try moving it. For me the entire mesh moves. Shouldn't nothing move ?
 

fred18

Addon Developer
Addon Developer
Donator
Joined
Feb 2, 2012
Messages
1,667
Reaction score
104
Points
78
Hi Fred,

Could you add in a way, of separating individual "robotic arms" ? That would make it easier than having to go through the entire list of animations, when a vessel has multiple arms/legs. Maybe cntrl+R, that would jump to the next arm.

e.g. info in box:
Group: Left arm, Anim: wrist roll 8.66


do you mean to use or to edit? I guess to edit, but that would not be so simple since there would be no way to know before which one is a robotic arm and which is just an animation. Maybe I can think of some type of sorting the animations through cycle? separating automatic, manual and the rest?

Having a problem with the Manual animations. They work fine up until the arm animations. I set the parent to the first animation "torso", but the last leg animation moves instead. It won't go back to the torso parent.

Code:
;<-------------------------ANIMATIONS DEFINITIONS------------------------->
 
ANIM_0_ID = 0
ANIM_0_NAME = torso bend
ANIM_0_DEFSTATE = 0.6
ANIM_0_DURATION = 5
ANIM_0_KEY = 0
ANIM_0_CYCLE = 3
 
ANIM_1_ID = 1
ANIM_1_NAME = waist yaw
ANIM_1_DEFSTATE = 0.5
ANIM_1_DURATION = 3
ANIM_1_KEY = 0
ANIM_1_CYCLE = 3
 
ANIM_2_ID = 2
ANIM_2_NAME = waist roll
ANIM_2_DEFSTATE = 0.5
ANIM_2_DURATION = 3
ANIM_2_KEY = 0
ANIM_2_CYCLE = 3
 
ANIM_3_ID = 3
ANIM_3_NAME = Left hip
ANIM_3_DEFSTATE = 0.6
ANIM_3_DURATION = 3
ANIM_3_KEY = 0
ANIM_3_CYCLE = 3
 
ANIM_4_ID = 4
ANIM_4_NAME = left knee
ANIM_4_DEFSTATE = 0.7
ANIM_4_DURATION = 3
ANIM_4_KEY = 0
ANIM_4_CYCLE = 3
 
ANIM_5_ID = 5
ANIM_5_NAME = left ankle
ANIM_5_DEFSTATE = 0.6
ANIM_5_DURATION = 10
ANIM_5_KEY = 0
ANIM_5_CYCLE = 3
 
ANIM_6_ID = 6
ANIM_6_NAME = Right hip
ANIM_6_DEFSTATE = 0.6
ANIM_6_DURATION = 3
ANIM_6_KEY = 0
ANIM_6_CYCLE = 3
 
ANIM_7_ID = 7
ANIM_7_NAME = Right knee
ANIM_7_DEFSTATE = 0.7
ANIM_7_DURATION = 3
ANIM_7_KEY = 0
ANIM_7_CYCLE = 3
 
ANIM_8_ID = 8
ANIM_8_NAME = Right ankle
ANIM_8_DEFSTATE = 0.6
ANIM_8_DURATION = 10
ANIM_8_KEY = 0
ANIM_8_CYCLE = 3
 
ANIM_9_ID = 9
ANIM_9_NAME = Left arm swing
ANIM_9_DEFSTATE = 0.12
ANIM_9_DURATION = 3
ANIM_9_KEY = 0
ANIM_9_CYCLE = 3
 
ANIMCOMP_0_ID = 0
ANIMCOMP_0_SEQ = 0
ANIMCOMP_0_NAME = torso
ANIMCOMP_0_STATE0 = 0
ANIMCOMP_0_STATE1 = 1
ANIMCOMP_0_ARMTIP = FALSE
ANIMCOMP_0_MESH = 0
ANIMCOMP_0_TYPE = 1
ANIMCOMP_0_REF = 0 0.208 -0.131
ANIMCOMP_0_AXIS = 1 0 0
ANIMCOMP_0_ANGLE = 45
ANIMCOMP_0_NGRPS = 12
ANIMCOMP_0_GRPS = 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
ANIMCOMP_0_PARENT = -1
 
ANIMCOMP_1_ID = 1
ANIMCOMP_1_SEQ = 1
ANIMCOMP_1_NAME = waist1
ANIMCOMP_1_STATE0 = 0
ANIMCOMP_1_STATE1 = 1
ANIMCOMP_1_ARMTIP = FALSE
ANIMCOMP_1_MESH = 0
ANIMCOMP_1_TYPE = 1
ANIMCOMP_1_REF = 0 0.208 0
ANIMCOMP_1_AXIS = 0 0 1
ANIMCOMP_1_ANGLE = 30
ANIMCOMP_1_NGRPS = 0
ANIMCOMP_1_GRPS = -1
ANIMCOMP_1_PARENT = -1
 
ANIMCOMP_2_ID = 2
ANIMCOMP_2_SEQ = 2
ANIMCOMP_2_NAME = waist2
ANIMCOMP_2_STATE0 = 0
ANIMCOMP_2_STATE1 = 1
ANIMCOMP_2_ARMTIP = FALSE
ANIMCOMP_2_MESH = 0
ANIMCOMP_2_TYPE = 1
ANIMCOMP_2_REF = 0 0.208 0
ANIMCOMP_2_AXIS = 0 1 0
ANIMCOMP_2_ANGLE = 40
ANIMCOMP_2_NGRPS = 1
ANIMCOMP_2_GRPS = 1
ANIMCOMP_2_PARENT = 1
 
ANIMCOMP_3_ID = 3
ANIMCOMP_3_SEQ = 3
ANIMCOMP_3_NAME = Lhip
ANIMCOMP_3_STATE0 = 0
ANIMCOMP_3_STATE1 = 1
ANIMCOMP_3_ARMTIP = FALSE
ANIMCOMP_3_MESH = 0
ANIMCOMP_3_TYPE = 1
ANIMCOMP_3_REF = 0 -0.086 -0.115
ANIMCOMP_3_AXIS = 1 0 0
ANIMCOMP_3_ANGLE = 120
ANIMCOMP_3_NGRPS = 1
ANIMCOMP_3_GRPS = 13
ANIMCOMP_3_PARENT = 2
 
ANIMCOMP_4_ID = 4
ANIMCOMP_4_SEQ = 4
ANIMCOMP_4_NAME = Lknee
ANIMCOMP_4_STATE0 = 0
ANIMCOMP_4_STATE1 = 1
ANIMCOMP_4_ARMTIP = FALSE
ANIMCOMP_4_MESH = 0
ANIMCOMP_4_TYPE = 1
ANIMCOMP_4_REF = 0 -0.381 -0.018
ANIMCOMP_4_AXIS = 1 0 0
ANIMCOMP_4_ANGLE = -130
ANIMCOMP_4_NGRPS = 1
ANIMCOMP_4_GRPS = 14
ANIMCOMP_4_PARENT = 3
 
ANIMCOMP_5_ID = 5
ANIMCOMP_5_SEQ = 5
ANIMCOMP_5_NAME = Lankle
ANIMCOMP_5_STATE0 = 0
ANIMCOMP_5_STATE1 = 1
ANIMCOMP_5_ARMTIP = FALSE
ANIMCOMP_5_MESH = 0
ANIMCOMP_5_TYPE = 1
ANIMCOMP_5_REF = 0 -0.81 -0.138
ANIMCOMP_5_AXIS = 1 0 0
ANIMCOMP_5_ANGLE = 45
ANIMCOMP_5_NGRPS = 1
ANIMCOMP_5_GRPS = 15
ANIMCOMP_5_PARENT = 4
 
ANIMCOMP_6_ID = 6
ANIMCOMP_6_SEQ = 6
ANIMCOMP_6_NAME = Rhip
ANIMCOMP_6_STATE0 = 0
ANIMCOMP_6_STATE1 = 1
ANIMCOMP_6_ARMTIP = FALSE
ANIMCOMP_6_MESH = 0
ANIMCOMP_6_TYPE = 1
ANIMCOMP_6_REF = 0 -0.086 -0.115
ANIMCOMP_6_AXIS = 1 0 0
ANIMCOMP_6_ANGLE = 120
ANIMCOMP_6_NGRPS = 1
ANIMCOMP_6_GRPS = 16
ANIMCOMP_6_PARENT = 2
 
ANIMCOMP_7_ID = 7
ANIMCOMP_7_SEQ = 7
ANIMCOMP_7_NAME = Rknee
ANIMCOMP_7_STATE0 = 0
ANIMCOMP_7_STATE1 = 1
ANIMCOMP_7_ARMTIP = FALSE
ANIMCOMP_7_MESH = 0
ANIMCOMP_7_TYPE = 1
ANIMCOMP_7_REF = 0 -0.381 -0.018
ANIMCOMP_7_AXIS = 1 0 0
ANIMCOMP_7_ANGLE = -130
ANIMCOMP_7_NGRPS = 1
ANIMCOMP_7_GRPS = 17
ANIMCOMP_7_PARENT = 6
 
ANIMCOMP_8_ID = 8
ANIMCOMP_8_SEQ = 8
ANIMCOMP_8_NAME = Rankle
ANIMCOMP_8_STATE0 = 0
ANIMCOMP_8_STATE1 = 1
ANIMCOMP_8_ARMTIP = FALSE
ANIMCOMP_8_MESH = 0
ANIMCOMP_8_TYPE = 1
ANIMCOMP_8_REF = 0 -0.81 -0.138
ANIMCOMP_8_AXIS = 1 0 0
ANIMCOMP_8_ANGLE = 45
ANIMCOMP_8_NGRPS = 1
ANIMCOMP_8_GRPS = 18
ANIMCOMP_8_PARENT = 7
 
[COLOR=Red]ANIMCOMP_9_ID = 9
ANIMCOMP_9_SEQ = 9
ANIMCOMP_9_NAME = Lshoulder1
ANIMCOMP_9_STATE0 = 0
ANIMCOMP_9_STATE1 = 1
ANIMCOMP_9_ARMTIP = FALSE
ANIMCOMP_9_MESH = 0
ANIMCOMP_9_TYPE = 1
ANIMCOMP_9_REF = -0.241 0.488 -0.048
ANIMCOMP_9_AXIS = -0.973052 -0.136754 0.185654
ANIMCOMP_9_ANGLE = 165
ANIMCOMP_9_NGRPS = 2
ANIMCOMP_9_GRPS = 16, 17
ANIMCOMP_9_PARENT = -1[/COLOR]

It seems that there was an issue when changing the parent of component 9, Lshoulder1. Maybe there is an issue with parent n.0, I will check the code for this. I have to say that the in sim parent changing procedure is very delicate I expect some issues from time to time. anyway it should be an easy fix by hand, try to change the last line to this:
Code:
ANIMCOMP_9_PARENT = 0

and see if it works.

No need.
On VB you need:
Code:
ANIM_0_KEY = G
it won't be "G", but it would be its char integer correspondent, I will make the list public with the docs anway.


Fred:

Try this.

Make a vessel, then add only one manual animation, with no groups selected. Open the manual box and select animation and try moving it. For me the entire mesh moves. Shouldn't nothing move ?

This is precisely the intended behaviour, it replicates the orbiter core system. It also makes sense: if you need to animate the entire mesh it's easier not to define any group than add all of them. If you want an animation with no groups it's a non animation... or if you want an animation definition but that doesnt change anything you can put whatever you want and then set 0 for the movement (translation or rotation) or 1 for the scale, but I can't think of a case where this would be needed.
 

Donamy

Addon Developer
Addon Developer
Donator
Beta Tester
Joined
Oct 16, 2007
Messages
6,919
Reaction score
219
Points
138
Location
Cape
Actually I meant in game, so you don't have to go through all animations in the manual list.
 

fred18

Addon Developer
Addon Developer
Donator
Joined
Feb 2, 2012
Messages
1,667
Reaction score
104
Points
78
Actually I meant in game, so you don't have to go through all animations in the manual list.

Ah! The MFD then will be very helpful about this
 

Donamy

Addon Developer
Addon Developer
Donator
Beta Tester
Joined
Oct 16, 2007
Messages
6,919
Reaction score
219
Points
138
Location
Cape
I have a problem, trying to move the same group, but in different directions.

Below is a crude example of what I mean. animation 2 doesn't stay with animation 1, because the animations are added to one another. In SC3 if you leave the part(in red) blank, it works. But if you leave the part blank in VB, all the parts move.

Code:
animation 1
[COLOR="Red"]part hand[/COLOR]
rotate in x direction

animation 2
part hand
rotate in y direction
Parent=1
 

fred18

Addon Developer
Addon Developer
Donator
Joined
Feb 2, 2012
Messages
1,667
Reaction score
104
Points
78
I have a problem, trying to move the same group, but in different directions.

Below is a crude example of what I mean. animation 2 doesn't stay with animation 1, because the animations are added to one another. In SC3 if you leave the part(in red) blank, it works. But if you leave the part blank in VB, all the parts move.

Code:
animation 1
[COLOR="Red"]part hand[/COLOR]
rotate in x direction

animation 2
part hand
rotate in y direction
Parent=1

what if you don't leave the part hand blank in animation 1? I mean you animate the hand groups for the rotation in x direction, and then you animate them for the roation in y direction with anim 1 as parent, shouldn't it work?
 

Donamy

Addon Developer
Addon Developer
Donator
Beta Tester
Joined
Oct 16, 2007
Messages
6,919
Reaction score
219
Points
138
Location
Cape
No, because the second instance moves while the first one moves, then it moves when it is called. You can't have the same group numbers as children.
 

fred18

Addon Developer
Addon Developer
Donator
Joined
Feb 2, 2012
Messages
1,667
Reaction score
104
Points
78
No, because the second instance moves while the first one moves, then it moves when it is called. You can't have the same group numbers as children.

I'm not sure I'm following, but for the aero surfaces of the DG the same groups are simply called in two different animation components without parenting them together, did you try to do that?
 

Donamy

Addon Developer
Addon Developer
Donator
Beta Tester
Joined
Oct 16, 2007
Messages
6,919
Reaction score
219
Points
138
Location
Cape
double post
 
Last edited:

Donamy

Addon Developer
Addon Developer
Donator
Beta Tester
Joined
Oct 16, 2007
Messages
6,919
Reaction score
219
Points
138
Location
Cape
It will work if they don't have children, but if you call them differently, the children get lost.

Don't know if this explains it well or not.
 

Attachments

  • parent example.jpg
    parent example.jpg
    39.6 KB · Views: 39

fred18

Addon Developer
Addon Developer
Donator
Joined
Feb 2, 2012
Messages
1,667
Reaction score
104
Points
78
It will work if they don't have children, but if you call them differently, the children get lost.

Don't know if this explains it well or not.

from the image I'd just say that child 2 and child 1 share the same parent. A parent can have infinite children, a child can have just one parent
 

Donamy

Addon Developer
Addon Developer
Donator
Beta Tester
Joined
Oct 16, 2007
Messages
6,919
Reaction score
219
Points
138
Location
Cape
They can share the same parent. But if the parent has 2 animations. the children can only join to one of them. The only way to make it work is if ungrouped animations don't move any children.

Below, animations 1 and 2 are the same groups.


Code:
anim 1
group " " 
rotate x

anim 2
group "5,6"
rotate y
parent 1

anim 3
group "7"
rotate z
parent 2

anim 4
group "8"
rotate x
parent 2


---------- Post added at 04:50 PM ---------- Previous post was at 04:28 PM ----------

Here is an example of the left arm animation of the EVAguy.ini SC3.

Code:
; Left arm animations

[ANIM_COMP_5] 	;left arm swing
SEQ=4
GROUPS=
RANGE(0,1)
TYPE=ROTATE
ROT_PNT=(-0.241,0.488,-0.048)
ROT_AXIS=(-0.973053,-0.136754,0.185654)
ANGLE=165
PARENT=4

[ANIM_COMP_6] 	;left arm raise
SEQ=5
GROUPS=14,15
RANGE(0,1)
TYPE=ROTATE
ROT_PNT=(-0.212,0.488,-0.019)
ROT_AXIS=(0.231807,-0.11855,0.965511)
ANGLE=-80
PARENT=5

[ANIM_COMP_7] 	;left arm roll
SEQ=6
GROUPS=16
RANGE(0,1)
TYPE=ROTATE
ROT_PNT=(-0.27,0.491,-0.055)
ROT_AXIS=(-0.344416,-0.935495,-0.0789075)
ANGLE=70
PARENT=6

[ANIM_COMP_8] 	;left elbow bend
SEQ=7
GROUPS=17
RANGE(0,1)
TYPE=ROTATE
ROT_PNT=(-0.370,0.252,-0.059)
ROT_AXIS=(-0.915236,0.287787,0.281996)
ANGLE=75
PARENT=7

[ANIM_COMP_9] 	;left Cuff roll
SEQ=8
GROUPS=18,20
RANGE(0,1)
TYPE=ROTATE
ROT_PNT=(-0.371,0.025,-0.076)
ROT_AXIS=(0,-1,0)
ANGLE=40
PARENT=8

[ANIM_COMP_10] 	;left wrist roll
SEQ=8
GROUPS=
RANGE(0,1)
TYPE=ROTATE
ROT_PNT=(-0.371,0.025,-0.076)
ROT_AXIS=(0,-1,0)
ANGLE=80
PARENT=9

[ANIM_COMP_11] 	;left wrist pitch
SEQ=9
GROUPS=
RANGE(0,1)
TYPE=ROTATE
ROT_PNT=(-0.371,0.025,-0.076)
ROT_AXIS=(1,0,0)
ANGLE=100
PARENT=10

[ANIM_COMP_12] 	;left wrist yaw
SEQ=10
GROUPS=19,22
RANGE(0,1)
TYPE=ROTATE
ROT_PNT=(-0.371,0.025,-0.076)
ROT_AXIS=(0,-0.173648,0.984808)
ANGLE=60
PARENT=11

[ANIM_COMP_13] 	;left Hand grasp
SEQ=11
GROUPS=21
RANGE(0,1)
TYPE=ROTATE
ROT_PNT=(-0.455,-0.085,-0.081)
ROT_AXIS=(1,0,0)
ANGLE=60
PARENT=12
 
Last edited:

fred18

Addon Developer
Addon Developer
Donator
Joined
Feb 2, 2012
Messages
1,667
Reaction score
104
Points
78
They can share the same parent. But if the parent has 2 animations. the children can only join to one of them. The only way to make it work is if ungrouped animations don't move any children.

Below, animations 1 and 2 are the same groups.


Code:
anim 1
group " " 
rotate x

anim 2
group "5,6"
rotate y
parent 1

anim 3
group "7"
rotate z
parent 2

anim 4
group "8"
rotate x
parent 2


---------- Post added at 04:50 PM ---------- Previous post was at 04:28 PM ----------

Here is an example of the left arm animation of the EVAguy.ini SC3.

Code:
; Left arm animations

[ANIM_COMP_5] 	;left arm swing
SEQ=4
GROUPS=
RANGE(0,1)
TYPE=ROTATE
ROT_PNT=(-0.241,0.488,-0.048)
ROT_AXIS=(-0.973053,-0.136754,0.185654)
ANGLE=165
PARENT=4

[ANIM_COMP_6] 	;left arm raise
SEQ=5
GROUPS=14,15
RANGE(0,1)
TYPE=ROTATE
ROT_PNT=(-0.212,0.488,-0.019)
ROT_AXIS=(0.231807,-0.11855,0.965511)
ANGLE=-80
PARENT=5

[ANIM_COMP_7] 	;left arm roll
SEQ=6
GROUPS=16
RANGE(0,1)
TYPE=ROTATE
ROT_PNT=(-0.27,0.491,-0.055)
ROT_AXIS=(-0.344416,-0.935495,-0.0789075)
ANGLE=70
PARENT=6

[ANIM_COMP_8] 	;left elbow bend
SEQ=7
GROUPS=17
RANGE(0,1)
TYPE=ROTATE
ROT_PNT=(-0.370,0.252,-0.059)
ROT_AXIS=(-0.915236,0.287787,0.281996)
ANGLE=75
PARENT=7

[ANIM_COMP_9] 	;left Cuff roll
SEQ=8
GROUPS=18,20
RANGE(0,1)
TYPE=ROTATE
ROT_PNT=(-0.371,0.025,-0.076)
ROT_AXIS=(0,-1,0)
ANGLE=40
PARENT=8

[ANIM_COMP_10] 	;left wrist roll
SEQ=8
GROUPS=
RANGE(0,1)
TYPE=ROTATE
ROT_PNT=(-0.371,0.025,-0.076)
ROT_AXIS=(0,-1,0)
ANGLE=80
PARENT=9

[ANIM_COMP_11] 	;left wrist pitch
SEQ=9
GROUPS=
RANGE(0,1)
TYPE=ROTATE
ROT_PNT=(-0.371,0.025,-0.076)
ROT_AXIS=(1,0,0)
ANGLE=100
PARENT=10

[ANIM_COMP_12] 	;left wrist yaw
SEQ=10
GROUPS=19,22
RANGE(0,1)
TYPE=ROTATE
ROT_PNT=(-0.371,0.025,-0.076)
ROT_AXIS=(0,-0.173648,0.984808)
ANGLE=60
PARENT=11

[ANIM_COMP_13] 	;left Hand grasp
SEQ=11
GROUPS=21
RANGE(0,1)
TYPE=ROTATE
ROT_PNT=(-0.455,-0.085,-0.081)
ROT_AXIS=(1,0,0)
ANGLE=60
PARENT=12

could you pm me the mesh and the animation you want to obtain?
 
Top