(Please forgive me if this seems like venting)
After getting the KeyNavigatorBehavior working, I've come to the conclusion
that it needs a LOT of work to make it practical.

First performance takes a MAJOR nosedive, granted I'm working on slow
machines, (100 & 133Mhz) but the operation of the application gets bogged
down for several minutes any time I try to do anything. Once the View starts
to move I get decent framerates during the move, only to get bogged down the
next time I try to change anything.

Secondly.....  there's absolutely no control, if I tap a direction key, once
things start to move I'm transported clear across the universe in a few
seconds with no way to stop other than tapping the opposite direction key,
then I zoom backwards through my world and off into never-never land in the
opposite direction. I've played with the scales of the different branch
groups making my objects huge and re-setting my back clipping distance,
hoping that things would move slower by making it farther to travel to cross
the scene, but even this doesn't seem to help.

Rotation of the view is a Major problem as well, there's no "turning just a
little bit" I have the same problem with VRML. In VRML if your world is
scaled huge so forward movement is at a reasonable pace when you go to turn,
all of a sudden your facing 180 degrees from where you were, Java3D seems to
have the same problem.

Recommendations:

1.) Make the motion with acceleration an option, that can be turned off (or
on with the default off), I only want to move while I'm holding the key
down, stopping immediately once the key is released.
2.) Allow any keystroke to affect the scene for only 3 or 4 frames so with
low framerates you don't suddenly jump across a scene. Do not buffer key
actions that happen between frames so that each frame can notice a key
release, stopping movement, if the key is still held continue forward until
the next frame.
3.) Let the movement speed be set, units per second preferably, so framerate
doesn't affect it.
4.) Rotation needs to have a radians-per-second value that's easy to get at.
(0.0175 as a default);
5.) As with everything in Java & Java3D thread priorities need to be
accessible with a decent range (1 to 128?) so we can fine-tune our
applications.


Don Casteel

Manufacturing Engineer
TEXTRON Automotive Company -- Athens Operations
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        Voice:  (423)744-1109
        Fax:    (423)744-1112
        Pager:  (423)744-1129  -- 109
                Internet:       [EMAIL PROTECTED]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA3D-INTEREST".  For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".

Reply via email to