You can do all those things.
In reality, the scenegraph is really just a hierarchical data storage
mechanism that allows programmers access to a high level abstraction of the
3d world. Java3d's engine is constantly pulling information from this
graph, sorting and filtering it and then sending the geometry to the card.
Providing you have set the appropriate compitibility bits on the nodes, you
can alter this scene graph at runtime and see the results. Building and
modifying landscape mesh can be done in real time. Modifying the mesh
vertices can even be done without creating a new shape, but you will have to
recalc your normals for the result to look correct.
Java3d performs better when you can limit the amount of changes to the
scenegraph each frame, because it builds an optimized version of the
scenegraph for rendering. When you make changes, it has to rebuild this
optimized version. To give you an idea of performance, our landscape engine
uses procedural meshes for pieces of the terrain which are within a
configurable range, these are high detail cells, with possible overlapping
textures for overlaying paths and other terrain details. Normally these
mesh cells are built and destroyed as you walk through the world, but in the
case where you are warped or jumped to a location where you have no cells
built, it has to build them all in a radious surrounding you. Building the
submeshes for a radius of 300 meters, where each sub-mesh is approx 5 meters
on a side, along with their textures, takes approx 700 ms. Thats on a 700
MHz machine with a nVidea TNT2.
One thing to keep in mind is that Java3d is not a game engine like genesis
or some of the other 3d libraries out there. It is therefore "missing" many
things from that perspective (particles, etc). But all those systems can be
built.
In regards to animation. You can do it any way you want, but other than
morphing behavior, there is no built in mechanism for animation. You either
build shapes and switch between them, or apply transformations (rotations,
translations) to all the sub-peices to control your animation. Morphing is
just a built in way to interpolate between two shapes with the same number
of verticies and geometries.
Here is an analogy. If using opengl directly is analogous to building a
house from a bunch of trees, Java3d is like building a house using pre-cut
and cured lumber and a truck full of tools. But you don't get any pre-fab
doors, walls, or roofs.
Dave Yazel
----- Original Message -----
From: Ice Bone <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Sunday, October 01, 2000 12:11 PM
Subject: Re: [JAVA3D] Everquest
Hehehe. That is a very important point since the
actual number of people working on their own MMORPG is
now five. Please include me as I'm working, with some
friends, on a game we're calling RuneWar. :):)
Personally my biggest concern with Java3D, still
reading and learning the API so bear with me, is the
ability to modify the terrain structure in real time
and manipulating actors.
I need the ability to modify the terrain mesh in real
time so that I can construct "mud builder" tools into
the game interface itself. This is so that my
building crews can build, excavate, apply textures and
blend textures while in their avatar form and so it
will get properly rendered by the game engine.
Another point is that I want my players to have the
ability, with restrictions, to accomplish many of the
same tasks. So that if a Wizard tosses a fireball at
a spot on the ground, it shouldn't remain green. It's
texture should be changed to a burnt one and the
Z-axis values should be decreased a little (he dug a
hole in the ground).
Another question I have, which will be answered by the
API no doubt, is how actors are manipulated. I
already realize that there isn't a particle system,
which is a little annoying, but actors are pretty much
required to have anything other than utterly static
displays.
Another thing I was considering was to continue
working on Java3D but dividing my code into rendering
and game oriented sections and then using JNI to
interface with an existing library.
For that purpose there are a couple pretty solid
libraries out there that are written in C/C++ which
should do very nicely.
Tools such as:
http://www.egerter.com
http://www.edgermage.com
http://www.jet3d.org
http://www.genesis3d.com
http://crystal.linuxgames.com
Any answers please?
ed
--- John Wright <[EMAIL PROTECTED]> wrote:
> Setting aside the issue of Everquest's game design
> (which I personally
> think is horrible) it has shown that excellent 3D
> graphics can be done
> in a massively multiplayer online game. And I know
> at least four people
> on this mailing list like myself that would like to
> produce this type of
> game.
>
> A big question is "Can Java 3D be used to match or
> beat Everquest's
> graphics?" And to that so far I'm favorably
> inclined, so far I would
> say Java 3D is definitely up to the task.
>
> A key to why Everquest's graphics are so effective
> is that they have
> very low polygon count creatures with well painted
> textures. That
> certainly can be done in Java 3D. One thing I don't
> see a way to do is
> to match their lighting effects. EQ has some good
> lighting effects
> (setting aside the point that "humans" can't see at
> all at night and are
> unplayable).
>
> As a community another key goal we might want to
> help each other with is
> some standard character animations. Java 3D needs
> an "example" for how
> to animate a character walking.
>
> Also there has been some bashing of the flaws and
> glitches in Java 3D.
> We seem easily able to overlook the flaws in a smash
> success like
> Everquest (have you ever seen the face texture for a
> creature applied to
> it's butt?). I'd like to see "perfection" as much
> or more than anyone,
> but let's face it the industry we are functioning in
> is FULL of bugs.
> Windows has thousands of bugs, even hardware can be
> very tricky to get
> just right. Damn I hate to sound like I'm saying
> bugs are ok, but let's
> not trash Java 3D when it's no worse than the rest
> of the industry.
>
> - John Wright
> Starfire Research
>
> Steve Pietrowicz wrote:
> >
> > Man, I *wish* Everquest had clouds like that.
> Phew....that's a really
> > cool URL.
> >
> > The clouds in Everquest are actually just texture
> maps, done in some paint
> > program. I'm not sure which they use. It could
> have been generated by 3D
> > Studio Ma. You can turn the clouds off
> completely (I think), or have one
> > layer or two layer clouds. It's been a while
> since I've had one layer
> > going, but I think they have clouds painted on a
> blue background. The two
> > layer effect is using the one layer texture in
> conjunction with a second
> > layer of clouds in a texture map with transparency
> turned on. The texture
> > maps move at different rates, and you get a nice
> looking cloud
> > effect. ...At least as nice as current Everquest
> technology can do. I
> > would expect EQ2 and other games will have even
> nicer effects.
> >
> > Anyway, the cloud textures appear to me to be
> thrown onto the inside of a
> > giant sphere that encapsulates the whole outdoor
> zone that you're in. The
> > best place to see this effect is on the "good"
> boat to Kunark, right after
> > you zone into the Finora Vie area. If you face
> away from where the boat
> > will dock, you can see how the sky curves towards
> the edge of the zone.
> >
> > I believe they change the tint of the background
> on the textures as day
> > progresses to night.
> >
> > It's a pretty simple technique, but fairly
> effective.
> >
> > ....At least, that's my guess on how they do it,
> based solely on
> > observation. :-)
> >
> > If anyone here wants to try Everquest, I highly
> recommend the game. The
> > graphics aren't state of the art by today's
> standards (They have to deal
> > with system requirements for systems that are a
> year or two old, since
> > that's when they started it), but the game itself
> is very
> > compelling. Pretty addictive too. I saw
> someone's quote on a message
> > board once... "Everquest makes Crack look like
> Diet Coke". Man, that's
> > the truth.... :-)
> >
> > Steve
> >
> > At 04:02 PM 9/29/2000 -0700, Paul Byrne wrote:
> > >Hi Dave,
> > >
> > >Check out
> http://vterrain.org/Atmosphere/clouds.html
> > >
> > >Rgds
> > >
> > >Paul
> > >
> > >
> > > >MIME-Version: 1.0
> > > >Content-Transfer-Encoding: 7bit
> > > >X-Priority: 3
> > > >X-MSMail-Priority: Normal
> > > >X-MimeOLE: Produced By Microsoft MimeOLE
> V5.00.2615.200
> > > >Date: Fri, 29 Sep 2000 18:51:07 -0400
> > > >From: David <[EMAIL PROTECTED]>
> > > >Subject: [JAVA3D] Clouds
> > > >To: [EMAIL PROTECTED]
> > > >
> > > >Hi all:
> > > >
> > > >I have scoured the web looking for techniques
> for generating clouds ala
> > > >Asheron's call and Everquest. Even came up
> blank on Gamasutra. Can anyone
> > > >toss me a hint? In particular I am looking for
> moving clouds. Should I be
> > > >using a multi-texture for highlighting a plasma
> function?
> > > >
> > > >Dave Yazel
> > > >
> > >
> >
>
>===========================================================================
> > >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".
> >
> >
>
===========================================================================
> > 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".
>
>
===========================================================================
> 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".
__________________________________________________
Do You Yahoo!?
Yahoo! Photos - 35mm Quality Prints, Now Get 15 Free!
http://photos.yahoo.com/
===========================================================================
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".
===========================================================================
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".