Jump to content

node_stack directions


sarkun

Recommended Posts

I\'m making a rather odd-shaped winglet, so to comply with the align thine control surface with X axis requirement, I had to rotate the part by some odd angles - hoping to later adjust the note_stack properties to get it into the spot I want.

However, it seems like the nodes can only have 3 settings: below zero, zero, above zero, snapping by 90 degrees. Namely:

v

node_stack_test0 = 1.25, 6.0, 0.0, 1.2, 0.0, 0.0

node_stack_test1 = 1.25, 4.0, 0.0, 0.3, 0.0, 0.0

node_stack_test2 = 1.25, 2.0, 0.0, 0.2, 0.0, 0.0

node_stack_test3 = 1.25, 0.0, 0.0, 0.1, 0.0, 0.0

^

This nodes rotate the part exactly the same way, rotating the part 90 deg along the x axis. Is it possible to have more control? Is it a bug?

Link to comment
Share on other sites

I\'ve heard somewhere that these digits are rather vectors than angles. So no matter the value in dX field, it changes not direction but the vector length.

Try also playin\' with dY and dZ.

P.S. Lately I\'ve played with \'em a lot but still haven\'t figured it out :\'(

Link to comment
Share on other sites

Ah, that is possible, would account for the behavior and would be enough to specify any rotation for the part.

This shouldn\'t be that hard to make sense of...

Let\'s see what I remember from my math classes in high school :)

Link to comment
Share on other sites

We tried for a while to make it work like you\'re trying, and it wouldn\'t. Not sure if Harv\'s fixes in 13.1 helped or not, but you\'ll probably want to do it like this:

In EDIT MODE: zero out all rotations and translations on your mesh, and then rotate it so your control surface is aligned with the X axis for the animation.

Then in object mode: counter-rotate the OBJECTS so they are aligned correctly to attach 'normally' with your flat surface aligned with X for the node attachment.

The Part rotation looks at MESH alignment and the connection system looks at OBJECT rotation, and they need not match.

Link to comment
Share on other sites

We tried for a while to make it work like you\'re trying, and it wouldn\'t. Not sure if Harv\'s fixes in 13.1 helped or not, but you\'ll probably want to do it like this:

In EDIT MODE: zero out all rotations and translations on your mesh, and then rotate it so your control surface is aligned with the X axis for the animation.

Then in object mode: counter-rotate the OBJECTS so they are aligned correctly to attach 'normally' with your flat surface aligned with X for the node attachment.

The Part rotation looks at MESH alignment and the connection system looks at OBJECT rotation, and they need not match.

I saw the thread you are mentioning, but it didn\'t end in any conclusion so I decided to give it a go myself. I\'ve got it set up as you say, but was unable to make any significant progress yesterday, will try again this evening.

I\'ve noticed an interesting behavior on the ctrlSrf though that may be possible to exploit - if the part is rotated (as an object), its position is loaded into the game as it appears on the scene, but rotation is read along it\'s unmodified x axis - so with careful planning it should be entirely possible to have it rotate at any angle.

The question is will the game interpret it correctly.

(That\'s another problem I have - how to reliably test if the ctrl surface is working in the right direction :/)

Link to comment
Share on other sites

We tried for a while to make it work like you\'re trying, and it wouldn\'t. Not sure if Harv\'s fixes in 13.1 helped or not, but you\'ll probably want to do it like this:

In EDIT MODE: zero out all rotations and translations on your mesh, and then rotate it so your control surface is aligned with the X axis for the animation.

Then in object mode: counter-rotate the OBJECTS so they are aligned correctly to attach 'normally' with your flat surface aligned with X for the node attachment.

The Part rotation looks at MESH alignment and the connection system looks at OBJECT rotation, and they need not match.

Okay, progress report:

Using the method above, I was able to have a crazily rotated control surface rotate correctly (visually) in game:

screenshot0.pngscreenshot1.png

The black control surface on the stabilizer on the end of the right wing rotates correctly, even though it is rotated in every way from the x axis in blender.

However, as demonstrated by the following two screenshots it does not work correctly (it assumes it is still aligned with the x axis I guess).

screenshot2.pngscreenshot3.png

Trying to steer left & right - the stock winglet is rotated, however the control surface on the stabilizer does not act.

So while this approach should easily allow to have slanted control surfaces on the end of the wings, it fails if there are more rotations than just one. I\'m gonna continue to try with the node_stack rotation - however up until now I\'ve had rather limited progress - I think I know how it works, but just can\'t get consistent results.

Link to comment
Share on other sites

What direction does cause the vertical stabilizer on the wing to rotate?

I am not sure a winglet placed like that knows its orientation in relation to the main body.

My advice would be to set it up as surface attach and tweak it until it would work as a 'normal' control surface, and then convert it into a stack-type part, with its bottom node being in the same orientation (ie still X-up: x,y,z,1,0,0)

Then you\'ll do your node magic on the receiving wing, so it supplies a top node for it to snap to.

Link to comment
Share on other sites

What direction does cause the vertical stabilizer on the wing to rotate?

down/up - so yeah, it behaves as if it is a normal flat winglet attached to the wing.

I am not sure a winglet placed like that knows its orientation in relation to the main body.

My advice would be to set it up as surface attach and tweak it until it would work as a 'normal' control surface, and then convert it into a stack-type part, with its bottom node being in the same orientation (ie still X-up: x,y,z,1,0,0)

Then you\'ll do your node magic on the receiving wing, so it supplies a top node for it to snap to.

This is the approach I\'m trying now, however I have trouble figuring out how to reverse the part rotation - I know what is the UP vector of my part, but I can\'t figure out how to rotate the vector of the receiving node to make it point upwards - reversing the vector or setting them up so that they sum up to [0, 1, 0] does not wok, producing some odd results...

Link to comment
Share on other sites

controls are alittle screwy;. what keys make it do what? are Q and E involved? i has posted about this to harv and he has ignored it a few times. Not sure it is on purpose but i wish he would have a conversation with me.

No, I\'m staying away from rotation for now (Q & E), just WASD. But it seems like in general the winglets code is... unfinished :)

Link to comment
Share on other sites

From what I could see, a node sitting on the top surface of the main wing that the 'bottom' node on your control surface would attach to would be Z up, so:

x,y,z,0,0,1

where xyz is the needed cooridinates to place it, and 0,0,1 tells it to attach on the Z axis

That is assuming the main wing attaches to the shuttle on positive and negative X (x,y,z,1,0,0 or x,y,z,-1,0,0)

Link to comment
Share on other sites

From what I could see, a node sitting on the top surface of the main wing that the 'bottom' node on your control surface would attach to would be Z up, so:

x,y,z,0,0,1

where xyz is the needed cooridinates to place it, and 0,0,1 tells it to attach on the Z axis

That is assuming the main wing attaches to the shuttle on positive and negative X (x,y,z,1,0,0 or x,y,z,-1,0,0)

If only it was so easy... the problem is that the part is not aligned with any axis (because I had to align the ctrlSrf with the x axis), so I cannot connect it at any simple angle. it is acutally rotated by ~120 degrees along the X and ~-108 deg along y axis.

I\'m attaching the part if anyone\'s interested (with the blender file). The goal is to find out what parameters must a node on another part have to make this part be nicely aligned and pointing upwards - without rotating the part in blender! (cause It is easy to produce a part that looks but doesn\'t work as demonstrated few posts above.).

I only have an hour or two a day to pour into this problem, but my new idea is to first try to get it aligned on one axis, then another and then try to sum the vectors and see how this goes.

Link to comment
Share on other sites

I played with sarkun\'s wing quite a bit, I am fairly sure its because the stack nodes aren\'t tied in to the symmetry system that the control surfaces use

7b453.png

I have it working just fine if its surface attached in the Z axis like that, but adding a node connection in the same orientation does not.

You really need to try and make winglets symmetrical if at all possible and use surface attachment anyway - if they aren\'t placed in 2x symmetry they don\'t add roll control.

Link to comment
Share on other sites

You really need to try and make winglets symmetrical if at all possible and use surface attachment anyway - if they aren\'t placed in 2x symmetry they don\'t add roll control.

Bah, but they can\'t be symmetrical if they\'re not straight... I think i could live with them not adding to roll - right now the roll forces of SAS seem so powerful anyway.

Sadly it seems like the whole system is not yet ready for more complicated designs :(

Link to comment
Share on other sites

Welcome to my world... there is a reason all my wings and flight surfaces are symmetrical :/ I really hope we can figure out a way past this. I have all sorts of cool designs I can\'t build yet.

I must say I don\'t envy you. And I\'ve gained a whole new level of respect for you for making your pack work after I\'ve tried this.

I\'ve done some more experimenting with those node directions and I must say it\'s horribly frustrating - I can negate one rotation of the part, but if the part is rotated along two ax...es? axises? (what is plural from axis?) It just won\'t budge. I\'m 90% certain it should be doable, but just nothing works. 3 axis rotation is impossible to negate with just one 3d vector.

Link to comment
Share on other sites

I must say I don\'t envy you. And I\'ve gained a whole new level of respect for you for making your pack work after I\'ve tried this.

I\'ve done some more experimenting with those node directions and I must say it\'s horribly frustrating - I can negate one rotation of the part, but if the part is rotated along two ax...es? axises? (what is plural from axis?) It just won\'t budge. I\'m 90% certain it should be doable, but just nothing works. 3 axis rotation is impossible to negate with just one 3d vector.

They will definitely work if you do them as surface attachments, you just need to add a box to the end of the wings for it to attach vertically on (like C7s hardpoints do)

That screenshot up there with them on the liquid tanks: they were animating as rudders just fine.

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...