[Flightgear-devel] Re: Wing motion
* Josh Babcock -- Tuesday 20 December 2005 02:54: I wonder what the performance hist will be. I assume that it will go linearly with the number of vertecies. I only had two spheres side by side in the scenery (next to the bo105 in KMRY), with 92 vertices each. They were constantly morphing into each other, back and forth. This had no impact. Of course, with a very detailed wing it could be a different matter, but I don't think that it would be a big problem. Morphing is something that you only want on a few nearby objects. And yes, it should be linear. It interpolates four float values per vertex in full mode, but could be limited to 2 (we don't *really* need to interpolate UV coords and vertex colors :-). Unfortunately, so far it only works with solid (unsmoothed) objects. Looks like a plib bug to me, but I have yet to find the exact reason. m. ___ Flightgear-devel mailing list Flightgear-devel@flightgear.org http://mail.flightgear.org/mailman/listinfo/flightgear-devel 2f585eeea02e2c79d7b1d8c4963bae2d
Re: [Flightgear-devel] Re: Wing motion
Melchior FRANZ wrote: Unfortunately, so far it only works with solid (unsmoothed) objects. Looks like a plib bug to me, but I have yet to find the exact reason. Ahh, that would be a shame. I'm very much looking forward to see this in action (or better yet, see it in FlightGear). Erik ___ Flightgear-devel mailing list Flightgear-devel@flightgear.org http://mail.flightgear.org/mailman/listinfo/flightgear-devel 2f585eeea02e2c79d7b1d8c4963bae2d
[Flightgear-devel] Re: Wing motion
Tween method (for the curious ones): That's how you would current set up such an animation. First you organize your objects in the 3D modeler like so: |___wing |normal | |main | |aileron | |... | |bent |main |aileron |... where normal and bent are almost identical and best generated by copying the normal wing to bent and then manually bending that. 3D modeler apps should have tools for achieving good bending results. In the animation file you would then say: animation typemorph/type object-namewing/object-name property/sim/model/foo/wing-bending/property /animation At least that's how it currently (sort-of :-) works. In theory, aileron/flap/... movements should still work. But I haven't tested that yet. m. ___ Flightgear-devel mailing list Flightgear-devel@flightgear.org http://mail.flightgear.org/mailman/listinfo/flightgear-devel 2f585eeea02e2c79d7b1d8c4963bae2d
Re: [Flightgear-devel] Re: Wing motion
Melchior FRANZ schrieb: Unfortunately, so far it only works with solid (unsmoothed) objects. Looks like a plib bug to me, but I have yet to find the exact reason. Maybe the normals of the faces don't get interpolated as well? (Just a stab in the dark) Regards, Ralf ___ Flightgear-devel mailing list Flightgear-devel@flightgear.org http://mail.flightgear.org/mailman/listinfo/flightgear-devel 2f585eeea02e2c79d7b1d8c4963bae2d
Re: [Flightgear-devel] Re: Wing motion
Melchior FRANZ wrote: At least that's how it currently (sort-of :-) works. In theory, aileron/flap/... movements should still work. But I haven't tested that yet. Good point, I'm afraid they don't work properly anymore since the center point and the normal axis' probably have changed after the animation... Erik ___ Flightgear-devel mailing list Flightgear-devel@flightgear.org http://mail.flightgear.org/mailman/listinfo/flightgear-devel 2f585eeea02e2c79d7b1d8c4963bae2d
[Flightgear-devel] Re: Wing motion
* Ralf Gerlich -- Tuesday 20 December 2005 10:16: Melchior FRANZ schrieb: Unfortunately, so far it only works with solid (unsmoothed) objects. Looks like a plib bug to me, but I have yet to find the exact reason. Maybe the normals of the faces don't get interpolated as well? (Just a stab in the dark) That was, of course, what I was suspecting, too. There *is* code to interpolate them, and it doesn't look wrong to me. I'll ask on the plib list. The suspicious thing is that both solid and smooth sphere are made of 92 vertices. But in the scenegraph, the solid one has 540(!?), but the smooth one only the 92. And some faces of the smooth one seem to be smooth when rendered. The real problem is that only a couple of faces are rendered, while the others are just missing. Looks like a skeleton. m. ___ Flightgear-devel mailing list Flightgear-devel@flightgear.org http://mail.flightgear.org/mailman/listinfo/flightgear-devel 2f585eeea02e2c79d7b1d8c4963bae2d
[Flightgear-devel] Re: Wing motion
* Erik Hofman -- Tuesday 20 December 2005 10:26: Melchior FRANZ wrote: In theory, aileron/flap/... movements should still work. I'm afraid they don't work properly anymore since the center point and the normal axis' probably have changed after the animation... Yes, possibly. I just hoped that the transformation would somehow be morphed, too. Steve is using tweening for his exposer, and I would be a bit surprised if he hadn't thought of that. But I haven't looked yet. m. ___ Flightgear-devel mailing list Flightgear-devel@flightgear.org http://mail.flightgear.org/mailman/listinfo/flightgear-devel 2f585eeea02e2c79d7b1d8c4963bae2d
[Flightgear-devel] Re: Wing motion
* Melchior FRANZ -- Tuesday 20 December 2005 10:46: I just hoped that the transformation would somehow be morphed, too. Steve is using tweening for his exposer, and I would be a bit surprised if he hadn't thought of that. Hmm ... no. I take that back. Will hardly be considered by plib. Then we'd need to make the movable objects on the wing separate morph animations. Or something. But as long as smooth object don't work, I won't think much about that. :-/ m. ___ Flightgear-devel mailing list Flightgear-devel@flightgear.org http://mail.flightgear.org/mailman/listinfo/flightgear-devel 2f585eeea02e2c79d7b1d8c4963bae2d
RE: [Flightgear-devel] Re: Wing motion
Unfortunately, so far it only works with solid (unsmoothed) objects. Looks like a plib bug to me, but I have yet to find the exact reason. Ahh, that would be a shame. I'm very much looking forward to see this in action (or better yet, see it in FlightGear). Erik For wing flex (at least at first) I'm thinking that rotating the wing about it's joint with the fuselage would be the easiest. Jon ___ Flightgear-devel mailing list Flightgear-devel@flightgear.org http://mail.flightgear.org/mailman/listinfo/flightgear-devel 2f585eeea02e2c79d7b1d8c4963bae2d
Re: [Flightgear-devel] Re: Wing motion
Jon S. Berndt wrote: Unfortunately, so far it only works with solid (unsmoothed) objects. Looks like a plib bug to me, but I have yet to find the exact reason. Ahh, that would be a shame. I'm very much looking forward to see this in action (or better yet, see it in FlightGear). Erik For wing flex (at least at first) I'm thinking that rotating the wing about it's joint with the fuselage would be the easiest. Jon ___ Flightgear-devel mailing list Flightgear-devel@flightgear.org http://mail.flightgear.org/mailman/listinfo/flightgear-devel 2f585eeea02e2c79d7b1d8c4963bae2d Especially if there are a lot of other objects attached to it. The B-29 has over a hundred objects attached to the wings. Each of those would have to be animated with the wings, and that would mean duplicates of all of them using the tween method. Josh ___ Flightgear-devel mailing list Flightgear-devel@flightgear.org http://mail.flightgear.org/mailman/listinfo/flightgear-devel 2f585eeea02e2c79d7b1d8c4963bae2d
Re: [Flightgear-devel] Re: Wing motion
Hi, Josh Babcock schrieb: Especially if there are a lot of other objects attached to it. The B-29 has over a hundred objects attached to the wings. Each of those would have to be animated with the wings, and that would mean duplicates of all of them using the tween method. Just an idea, but would it help to define a specialised bending animation instead of the general purpose morph? By defining a transformation function which could bend a structure and applying it to all meshes in a given branch at least bending the wings could be made a whole lot easier for the modellers. Such a function transforming a point p into p' could be (out of the back of my head) p'=p+k*u*((p-p0)*v)^2 where p0=(p0x,p0y,p0z) defines a fixpoint of the transformation, u=(ux,uy,uz) with defines the up-axis in which direction the mesh is bent and v=(vx,vy,vz) defines the axis along which the bending increases. k*||u|| and ||v|| define the strength of the bending, where k is a floating factor controlling the bending just like the morphing factor. Hrm, no that would still leave us with the problems regarding the other animations (center-points, rotation axes), except if these would be applied before the bending. Ah, well, I'll go back to my scenery now ;-) Regards, Ralf ___ Flightgear-devel mailing list Flightgear-devel@flightgear.org http://mail.flightgear.org/mailman/listinfo/flightgear-devel 2f585eeea02e2c79d7b1d8c4963bae2d
[Flightgear-devel] Re: Wing motion
* Ralf Gerlich -- Tuesday 20 December 2005 15:16: Just an idea, but would it help to define a specialised bending animation instead of the general purpose morph? Why instead? Adding a bend animation would probably not be that hard for someone proficient with vector calculation. Which I am not. m. ___ Flightgear-devel mailing list Flightgear-devel@flightgear.org http://mail.flightgear.org/mailman/listinfo/flightgear-devel 2f585eeea02e2c79d7b1d8c4963bae2d
[Flightgear-devel] Re: Wing motion
* Melchior FRANZ -- Tuesday 20 December 2005 02:22: * Ampere K. Hardraade -- Tuesday 20 December 2005 02:00: I'm not too excited about having to create another instance of the wings. Good news for you: you don't have to do *anything*! (Was the bitching on IRC not enough?) Umm ... sorry for the harsh reply. You wanted a better solution, and bitching (or rather: criticizing the current approach) was a good ... or at least a working way to achieve that. :-) The best approach would probably be to have a generic morph animation (for parachutes etc.), and a special bend animation that works well for wings. These would then *too* work with ssgTween, but not require two or more instances, but just one from which the others are calculated at init time (using Ralf's magic formula). The first step will, of course, be to make the ssgTween thing work with morph. (We could make our own interpolator, but this could well face the same problems.) m. ___ Flightgear-devel mailing list Flightgear-devel@flightgear.org http://mail.flightgear.org/mailman/listinfo/flightgear-devel 2f585eeea02e2c79d7b1d8c4963bae2d
RE: [Flightgear-devel] Re: Wing motion
Melchior FRANZ * Jon S. Berndt -- Monday 19 December 2005 05:04: Would it be possible to change the visual appearance of wing flex during flight? As Curt and Joacim have mentioned already, there are ways to do it: (A) ornithopter method: several instances of the wing. This has the disadvantage that you'd need a lot of them for smooth transitions. No problem for the fast moving ornithopter, but one would probably need a *lot* of such instances for a glider wing. (B) bo105 method: wing/blade made of smaller parts that are each animated with smaller rotations. Smooth movements, but the hinges between them can look quite ugly. Not a big problem for the bo105, because the blade is dull and black. Wouldn't work well for a shiny white wing. (C) tween method: this isn't implemented in fgfs yet, but plib offers an ssgTweenController (A morph controller) class. Maybe we should make it available in fgfs for wings/blades. It interpolates between two or more objects with the same number of verticesfaces, so one would only need two instances of the wing and could smoothly interpolate. Would probably work better than either (A) or (B). (see http://plib.sourceforge.net/ssg/branches.html and the test application: $PLIB/examples/src/ssg/tween_test/tween_test.cxx) The tween method would be the way to go. There might well be other applications for this animation: I'm thinking of pilot animation in particular. So the effort involved could be well worth it. Vivian ___ Flightgear-devel mailing list Flightgear-devel@flightgear.org http://mail.flightgear.org/mailman/listinfo/flightgear-devel 2f585eeea02e2c79d7b1d8c4963bae2d
[Flightgear-devel] Re: Wing motion
* Vivian Meazza -- Monday 19 December 2005 09:55: (C) tween method: this isn't implemented in fgfs yet, but plib offers an ssgTweenController (A morph controller) class. There might well be other applications for this animation: I'm thinking of pilot animation in particular. I had already started. Just have to finish now. :-) m. ___ Flightgear-devel mailing list Flightgear-devel@flightgear.org http://mail.flightgear.org/mailman/listinfo/flightgear-devel 2f585eeea02e2c79d7b1d8c4963bae2d
Re: [Flightgear-devel] Re: Wing motion
On December 19, 2005 02:49 am, Melchior FRANZ wrote: (C) tween method: this isn't implemented in fgfs yet, but plib offers an ssgTweenController (A morph controller) class. Maybe we should make it available in fgfs for wings/blades. It interpolates between two or more objects with the same number of verticesfaces, so one would only need two instances of the wing and could smoothly interpolate. Would probably work better than either (A) or (B). (see http://plib.sourceforge.net/ssg/branches.html and the test application: $PLIB/examples/src/ssg/tween_test/tween_test.cxx) On December 19, 2005 04:38 am, Melchior FRANZ wrote: I had already started. Just have to finish now. :-) m. I am looking forward to it, although I'm not too excited about having to create another instance of the wings. Ampere ___ Flightgear-devel mailing list Flightgear-devel@flightgear.org http://mail.flightgear.org/mailman/listinfo/flightgear-devel 2f585eeea02e2c79d7b1d8c4963bae2d
[Flightgear-devel] Re: Wing motion
* Ampere K. Hardraade -- Tuesday 20 December 2005 02:00: I am looking forward to it, although I'm not too excited about having to create another instance of the wings. Good news for you: you don't have to do *anything*! (Was the bitching on IRC not enough?) m. ___ Flightgear-devel mailing list Flightgear-devel@flightgear.org http://mail.flightgear.org/mailman/listinfo/flightgear-devel 2f585eeea02e2c79d7b1d8c4963bae2d
Re: [Flightgear-devel] Re: Wing motion
Vivian Meazza wrote: Melchior FRANZ * Jon S. Berndt -- Monday 19 December 2005 05:04: Would it be possible to change the visual appearance of wing flex during flight? As Curt and Joacim have mentioned already, there are ways to do it: (A) ornithopter method: several instances of the wing. This has the disadvantage that you'd need a lot of them for smooth transitions. No problem for the fast moving ornithopter, but one would probably need a *lot* of such instances for a glider wing. (B) bo105 method: wing/blade made of smaller parts that are each animated with smaller rotations. Smooth movements, but the hinges between them can look quite ugly. Not a big problem for the bo105, because the blade is dull and black. Wouldn't work well for a shiny white wing. (C) tween method: this isn't implemented in fgfs yet, but plib offers an ssgTweenController (A morph controller) class. Maybe we should make it available in fgfs for wings/blades. It interpolates between two or more objects with the same number of verticesfaces, so one would only need two instances of the wing and could smoothly interpolate. Would probably work better than either (A) or (B). (see http://plib.sourceforge.net/ssg/branches.html and the test application: $PLIB/examples/src/ssg/tween_test/tween_test.cxx) The tween method would be the way to go. There might well be other applications for this animation: I'm thinking of pilot animation in particular. So the effort involved could be well worth it. Vivian ___ Flightgear-devel mailing list Flightgear-devel@flightgear.org http://mail.flightgear.org/mailman/listinfo/flightgear-devel 2f585eeea02e2c79d7b1d8c4963bae2d Ohh! Ohh! I have dibs on the Nakoma Narrows bridge! And let's see, towers in high winds, windsocks, parachutes, giant cartoon balloons, jet exhaust cones, smoke and fuzzy dice in the cockpit! This is gonna be fun. I wonder what the performance hist will be. I assume that it will go linearly with the number of vertecies. Josh ___ Flightgear-devel mailing list Flightgear-devel@flightgear.org http://mail.flightgear.org/mailman/listinfo/flightgear-devel 2f585eeea02e2c79d7b1d8c4963bae2d
[Flightgear-devel] Re: Wing motion
* Jon S. Berndt -- Monday 19 December 2005 05:04: Would it be possible to change the visual appearance of wing flex during flight? As Curt and Joacim have mentioned already, there are ways to do it: (A) ornithopter method: several instances of the wing. This has the disadvantage that you'd need a lot of them for smooth transitions. No problem for the fast moving ornithopter, but one would probably need a *lot* of such instances for a glider wing. (B) bo105 method: wing/blade made of smaller parts that are each animated with smaller rotations. Smooth movements, but the hinges between them can look quite ugly. Not a big problem for the bo105, because the blade is dull and black. Wouldn't work well for a shiny white wing. (C) tween method: this isn't implemented in fgfs yet, but plib offers an ssgTweenController (A morph controller) class. Maybe we should make it available in fgfs for wings/blades. It interpolates between two or more objects with the same number of verticesfaces, so one would only need two instances of the wing and could smoothly interpolate. Would probably work better than either (A) or (B). (see http://plib.sourceforge.net/ssg/branches.html and the test application: $PLIB/examples/src/ssg/tween_test/tween_test.cxx) m. ___ Flightgear-devel mailing list Flightgear-devel@flightgear.org http://mail.flightgear.org/mailman/listinfo/flightgear-devel 2f585eeea02e2c79d7b1d8c4963bae2d