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 ...
-
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.
-
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
-
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

-
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
Similar Threads
-
By Application Development in forum Java
Replies: 4
Last Post: 11-02-2007, 12:36 PM
-
By Application Development in forum TCL
Replies: 8
Last Post: 07-05-2007, 04:23 PM
-
By Application Development in forum DOTNET
Replies: 1
Last Post: 06-08-2007, 08:06 AM
-
By Application Development in forum SendMail
Replies: 2
Last Post: 05-15-2007, 02:57 AM
-
By Application Development in forum Functional
Replies: 15
Last Post: 03-23-2007, 05:30 PM