3d Interface GUI - Java-Games

This is a discussion on 3d Interface GUI - Java-Games ; This is just a question on what you think would be a good way to do this. I have a 3d modeler programer for my modeler. It takes a model built in some other program (such as Milkshape) and allows ...

+ Reply to Thread
Results 1 to 4 of 4

3d Interface GUI

  1. Default 3d Interface GUI

    This is just a question on what you think would be a good way to do this.

    I have a 3d modeler programer for my modeler. It takes a model built in
    some other program (such as Milkshape) and allows them to add information
    into other files that my game needs.

    The controls are fairly simple, the numpad up/down/left/right keys rotate
    the model on the X or Y axises. Shift up/down/left/right moves the model
    up/down/left or right. Numpad + and numpad - move the model
    forward/backword in the Z plane. Ctrl left clicking the mouse will add or
    remove a model triangle to a set (needed to identify parts). Holding down
    the alt key shifts already identified triangles in space so the modeler can
    see which ones he still has to identify. I'm using the arrow keys (not
    numpad) to cycle through the list of parts to identify triangles for.

    Well, at this point I need the modeler (person) to move a "joint". The
    joint is initially placed in the center of mass for the part so it's
    relatively close to where it needs to be, but now I need someway for the
    user to move it to the correct position in 3d space. Which is where I'm
    scratching my head trying to think of a good input method to use. Left
    Clicking the model somewhere would only give me 2 axis (x and y). I'm using
    shift, ctrl, alt so have pretty much ran out of special keys. Numeric input
    is always a pain when working with 3d space (for me anyway) so I'm not real
    happy with them just changing the 3d coordinates with text.

    I've kinda run out of keys to use. I was thinking, okay, have some toggle
    when on it moves the joint location, when off it moves the model.

    Any other suggestions?

    Mice are getting dated. Someone needs to invent a 3d input device.



  2. Default Re: 3d Interface GUI

    Jim Langston wrote:

    > This is just a question on what you think would be a good way to do this.
    >
    > I have a 3d modeler programer for my modeler. It takes a model built in
    > some other program (such as Milkshape) and allows them to add information
    > into other files that my game needs.
    >
    > The controls are fairly simple, the numpad up/down/left/right keys rotate
    > the model on the X or Y axises. Shift up/down/left/right moves the model
    > up/down/left or right. Numpad + and numpad - move the model
    > forward/backword in the Z plane. Ctrl left clicking the mouse will add or
    > remove a model triangle to a set (needed to identify parts). Holding down
    > the alt key shifts already identified triangles in space so the modeler
    > can
    > see which ones he still has to identify. I'm using the arrow keys (not
    > numpad) to cycle through the list of parts to identify triangles for.
    >
    > Well, at this point I need the modeler (person) to move a "joint". The
    > joint is initially placed in the center of mass for the part so it's
    > relatively close to where it needs to be, but now I need someway for the
    > user to move it to the correct position in 3d space. Which is where I'm
    > scratching my head trying to think of a good input method to use. Left
    > Clicking the model somewhere would only give me 2 axis (x and y). I'm
    > using
    > shift, ctrl, alt so have pretty much ran out of special keys. Numeric
    > input is always a pain when working with 3d space (for me anyway) so I'm
    > not real happy with them just changing the 3d coordinates with text.
    >
    > I've kinda run out of keys to use. I was thinking, okay, have some toggle
    > when on it moves the joint location, when off it moves the model.
    >
    > Any other suggestions?


    One way to do it is by showing the user three views through three different
    planes (just like in a CAD package) top down, front, left. There is a 2D
    cursor in each view which can be manipulated by dragging it around in that
    view. By moving the cursor in each of the three views the user can select a
    point in 3D space, NOTE there is an overlap because you have used three 2D
    planes when you only need two but it is easier to manipulate three. You can
    make this selection easier by having a fourth view which is your original
    3D viewport. In the fourth view the cursor appears as a set of three lines
    which intersect at a point. This enables the user to quickly assess whether
    they are at the right place. It is not perfect but it does work.

    +------------------+ +------------------+
    | | | |
    | | | Top Down |
    | | | |
    | 3D view | | Perspective |
    | | | |
    | | | |
    +------------------+ +------------------+


    +------------------+ +------------------+
    | | | |
    | | | |
    | Front | | Left |
    | | | |
    | Perspective | | Perspective |
    | | | |
    | | | |
    +------------------+ +------------------+


    +---------+--------+ +----+-------------+
    | | .-'| | | |
    | | .-' | +----+-------------+
    +---------.-'------+ | | |
    | _.-'| | | | |
    | .-' | | | | |
    .-' | | | | |
    +---------+--------+ +----+-------------+
    3D cursor 2D cursor
    view only User Movable
    +--------+---------+ +------------+-----+
    | | | | | |
    | | | +------------+-----+
    | | | | | |
    +--------+---------+ | | |
    | | | | | |
    | | | | | |
    | | | | | |
    +--------+---------+ +------------+-----+
    2D cursor 2D cursor
    User Movable User Movable

    > Mice are getting dated. Someone needs to invent a 3d input device.


    There are 3D mice I don't know how well they work though.

    Richard James

  3. Default Re: 3d Interface GUI

    Richard James wrote:
    >> Mice are getting dated. Someone needs to invent a 3d input device.

    >
    > There are 3D mice I don't know how well they work though.
    >
    > Richard James



    I'm not sure I want to feel like I'm playing the Wii every time I want
    to launch an application

    I wouldn't mind an interface like in the movie Minority Report.

    --
    LTP



  4. Default Re: 3d Interface GUI

    Luc The Perverse wrote:

    > Richard James wrote:
    >>> Mice are getting dated. Someone needs to invent a 3d input device.

    >>
    >> There are 3D mice I don't know how well they work though.
    >>
    >> Richard James

    >
    >
    > I'm not sure I want to feel like I'm playing the Wii every time I want
    > to launch an application
    >
    > I wouldn't mind an interface like in the movie Minority Report.
    >
    > --
    > LTP
    >
    >


    I like the idea of Ubiquitous computing or the computer that hides in your
    closet and you never have to use it just does it's job
    http://en.wikipedia.org/wiki/Pervasive_computing

    I also like the model of computing as presented in Star Trek especially the
    Next Generation, Deep Space 9, and Voyager Series. I believe that those are
    worthy goals to be working towards.

    But unfortunately for some of us, like programmers and designers we have to
    get real close to the system to do work. I worked for quite some time as a
    computer technician and may do so in the future. Boy am I glad that I have
    a deep level understanding of concepts in Computer Engineering, Operating
    Systems, Applications Programming etc. It really helps you to understand
    what is going on.

    So on to my point. If you are making game systems the User Interface must be
    designed to be easy to use. If you are making other systems you need to
    take into consideration who your users really are. An easy to use interface
    for one level of user may be useless for an advanced user and the reverse
    applies. Over time people have developed two models to overcome this
    problem one is to create multiple levels of interfaces for each user level
    and the other is to create a unified interface that tries to suit both.
    Unfortunately too many designs just don't work with either model. This
    normally stems from people designing systems for either themselves or
    abstract users. It is a problem that many people in the computer industry
    just don't get how people in the real world actually work.

    Take a look at the difference between the Wii and the Minority Report
    systems work and then try to reapply those ****ogies to some other type of
    work like Word Processing or Programming. Would they work? I don't think
    so. This is not a problem with the Wii or the computer system from Minority
    Report it is a problem of using the wrong tool for a job.

    If we consider the OP (Original Poster to this thread) he has a problem
    which is somewhat defined in his post and he also has a semi-solution also
    outlined in his post. Working out the best solution may not be possible. I
    mean VR would probably solve all his problems right? But that is not
    practical in the real world. So instead we look for another method to solve
    the problem. Always remembering who is using his system. Taking into the
    consideration the User should always be part of any solution.

    Richard James

+ Reply to Thread

Similar Threads

  1. Interface Method with Interface Parameter
    By Application Development in forum Java
    Replies: 4
    Last Post: 11-02-2007, 12:36 PM
  2. Replies: 8
    Last Post: 07-05-2007, 04:23 PM
  3. Replies: 1
    Last Post: 06-08-2007, 08:06 AM
  4. local-host-names per interface / sasl users per interface
    By Application Development in forum SendMail
    Replies: 2
    Last Post: 05-15-2007, 02:57 AM
  5. On Java's Interface (the meaning of interface in computer programing)
    By Application Development in forum Functional
    Replies: 15
    Last Post: 03-23-2007, 05:30 PM