Java-Gaming.org Hi !
Featured games (83)
games approved by the League of Dukes
Games in Showcase (517)
Games in Android Showcase (123)
games submitted by our members
Games in WIP (578)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
   Home   Help   Search   Login   Register   
  Show Posts
Pages: [1]
1  Java Game APIs & Engines / Xith3D Forums / Re: Animation, loaders, bones, weights and morphin on: 2004-11-17 20:58:26
I think I speak for everyone when I say that you should definitely post it. I think it would be a very welcome contribution.

Thanks,
-Paul
2  Java Game APIs & Engines / Xith3D Forums / Re: Animation, loaders, bones, weights and morphin on: 2004-11-17 16:03:14
Hi NewbTon,
thanks for your reply and your very kind offer.

I would certainly like to know more. Is the code available online? Which file formats can you load?

If you are considering making your code available, there is actually a spin-off Java3D project specifically about skin & bones animation:

https://skinandbones.dev.java.net/

I'm sure alternative implementations would be welcome.

Anyway, please tell/show us more.
Thanks,
-Paul
3  Java Game APIs & Engines / Xith3D Forums / Re: Animation, loaders, bones, weights and morphin on: 2004-11-16 20:01:14
Thanks to everyone who responded.

Mithrandir,
I look forward to seeing your code ported to Java3D and Xith3D.

Which graphics file formats do you have loaders for?

Which file format would be your preference for skin + skeleton/bones animations?

If you have time, please could you give more details about your use of shaders in this context?

Many thanks,
-Paul
4  Java Game APIs & Engines / Xith3D Forums / Re: Animation, loaders, bones, weights and morphin on: 2004-11-03 17:42:26
Hi Jeramie,
I think people couldn't understand what I meant simply because I'm not very good at expressing myself.

I confess though that I would have been very surprised if noone was doing skeleton/single mesh animations.

I do mean moving the characters by changing the TransformGroups constituting the skeleton in the java code though - and not simply morphing between key frames generated by the graphics package. Which do you do? The former?

If so, I look forward to seeing your code when you submit it to Xith.

So you would recommend Milkshape as a format? Most models that I've come across though are in 3DS or MAX format. I'll look this up on the Milkshape website but do you have any experience of importing those models into Milkshape? If so, does it successfully import all the bones and vertex-bone/weighting information?

Thanks for your interest,
-Paul
5  Java Game APIs & Engines / Xith3D Forums / Re: Animation, loaders, bones, weights and morphin on: 2004-10-27 07:31:48
Hi William,
yes I noticed that about the ASE loader.
However, my understanding is that that only works where the different body parts are separate graphics objects. That is not usually the case.

Nowadays, aren't most characters developed by artists as single meshes? In order to animate the character - from within the Java code (as opposed to using morphing between frames) - I need to relate each vertex in the mesh to a TransformGroup skeleton.

Creating the skeleton of TransformGroups is relatively easy. My problem is getting information from the graphics package about the relationship of each point on the mesh to each of the skeleton's bones.

I can attempt to write this myself but I was expecting it to be such a common requirement that it would have been done before now. Apparently, that is not the case.

Are all character animations included in games done by morphing between different frames? Those series of frames having been created in the graphics package.

Doesn't anyone control the characters' limb movements in the Java code? And use single mesh models?

I'm a little surprised,
-Paul
6  Java Game APIs & Engines / Xith3D Forums / Re: Animation, loaders, bones, weights and morphin on: 2004-10-26 20:20:01
Please bear with me - I think I must be missing something here.

I want to determine a character's moves from within my Java code - I do not want to use a series of animations developed in a graphics package and imported into the Java program as a set of keyframes.

To do that, I think I need a hierarchy of TransformGroups (eg. one for the torso, one for the upper arm, another for the forearm, the hand and so on).

I have created just such a set of TransformGroups and imported a character model in which each of the body parts is a separate object/shape/geometry. Each TransformGroup has one of the graphical objects associated with it.

That works ok. However, most character models these days are developed as single meshes.

I want to import a single mesh model. I will use a "skeleton" of Transform Groups in which each vertex on the mesh is associated with one or more of the bones of the skeleton - with weights determining which bone influences the position of the vertex.

As the skeleton moves, I update the mesh of vertices accordingly. That way I can control the animations from within my code rather than using predetermined morphing between imported frames.

Am I right?

If not, please forgive my naivety. Please explain things to me.

If so, please could someone tell me about a loader that has been developed which imports the vertices of a single mesh and relates each of the vertices, along with the corresponding weights, to the bones of the skeleton used by the graphic artist in the graphics package. I can then use the bone information to construct my TransformGroup hierarchy and the bone-weight-vertex information to determine the geometry of the character as the skeleton moves according to the Java code.

My understanding is that David Yazel and the Magicosm team have developed just such a loader for files produced by the Flexporter plugin for 3D Studio Max. However, Flexporter requires that one have 3D Studio Max and the original graphics files. I have neither so I wondered if anyone has a loader for the more commonly available 3D file formats e.g. 3DS, MAX, OBJ, ASE, MD2 or any other - and that loads that skin/bones information.

Thank you,
-Paul
7  Java Game APIs & Engines / Xith3D Forums / Re: Animation, loaders, bones, weights and morphin on: 2004-10-25 14:56:19
Thanks LaLiLuLeLo for your reply.

Yes, I'd rather import the skeleton information - and use it to assemble a TransformGroup hierarchy. Then I can use that to control the character's movements rather than morphing between animation frames.

David Yazel and the Magicosm people used FlexPorter, a 3D Studio Max plugin, to get the bones info, along with the weights for the mesh vertices.
I wondered whether there were any loaders around for other file formats. FlexPorter requires a copy of 3D Studio Max - which I cannot afford - aswell as full access to the original graphics files.

Thanks,
-Paul
8  Java Game APIs & Engines / Xith3D Forums / Animation, loaders, bones, weights and morphing... on: 2004-10-22 12:41:55
Hi,
I know there's already been a lot of interesting and useful debate on these topics. In particular, I found the debate on which loaders to develop very useful:

http://www.java-gaming.org/cgi-bin/JGNetForums/YaBB.cgi?board=xith3d;action=display;num=1074586164;start=0

http://www.java-gaming.org/cgi-bin/JGNetForums/YaBB.cgi?board=share;action=display;num=1078652098;start=0

Please forgive the naivety of my questions but I would like to know:

1) The most developed loader for Xith3D seems to be the one for the ASE format. Is that correct?

2) Does the ASE format include bones and weighting?

3) If so, does the Xith3D ASE loader read/use the bones/weighting data?

4) when people talk about loaders "supporting animation" are they talking about morph targets?

5) Does Xith3D support morphing?

6) I believe that in Java3D morphing is achieved as a behavior. My understanding is that Xith3D doesn't have plans to support behaviors, so what is the best way to include morphing?

If it helps, I will explain a little of what I would like to do.
I would like to import a rigged character model. My understanding of rigged is a character with a single mesh and an underlying skelton - bones and weights.
Then I would prefer to move the character by transforming the TransformGroup nodes corresponding to the skeleton bones in the program code. I do not want to import walks or other preset animation apart from....

I am also interested in morphing because I think it will be easier to do facial expressions and lip synching with morphing.

Many thanks,
-Paul
9  Java Game APIs & Engines / Xith3D Forums / Re: Merge Java3D and Xith3D? on: 2004-10-16 19:39:36
Hi,
I wouldn't dream of mandating anyone.

I agree with you to a large extent. However, I also feel that many in the 3D java community will stay with Java3D simply because that is the Sun backed project. Whereas, I think Xith3D could still satisfy their requirements.

I think more could be achieved - for everyone - with a single united effort - backed by Sun. Or at the very least a lot of cross-pollination of common aspects.

Anyway, it's just an opinion, a thought, not a mandate.
-Paul
10  Java Game APIs & Engines / Xith3D Forums / Re: Merge Java3D and Xith3D? on: 2004-10-16 18:17:39
Hi,
Quote

Either everyone develops Xith3D or everyone develops Java3D


I guess that's really what I was trying to say in my original post but didn't phrase it very well..
("merged" was totally the wrong word to use - or at least I should have said "merged the new development effort")
Both Mithrandir and Shawn expressed it better than I did.

Given the limited number of people available to work on developing both Xith3D and Java3D, wouldn't it be better to put all of the development effort into one project or the other?

Now the problem becomes "which one?"

Java3D was neglected by Sun for a couple of years. I would argue that that neglect and its relatively poor FPS performance for games led to the birth of Xith3D. Of course, Xith3D has other advantages - it  sits on top of JOGL/OpenGL or LWGJL allowing access to those.

Now Java3D has been resurrected. And all those people doing scientific visualization or work in CAVEs etc where multithreading is important will say that they don't need the games level performance of Xith3D. But it also strikes me that many people who do that kind of stuff develop their own APIs anyway (eg Aviatrix3D from the J3D people), or had left Java3D during its demise.

But although Java3D has been resurrected - and even though there is Sun staff working on it - and doing a great job - there aren't many of them and Sun's hope is clearly that it will mostly be developed through the "community".

My point - had I expressed it better - is can the community develop two different though similar 3D scenegraph APIs? (add in a third with JME, a fourth with Aviatrix, any more?)

My own personal preference is that all the effort goes into Xith3D but I'm biased because I develop desktop applications. Even now and even as a big fan of Sun (cf IBM/Microsoft) I also wonder about Sun's long term support of Java3D - I wonder how much of the current support is wrapped up with Project looking Glass.

So, I would say that the community should maintain Java3D for those that need it as it is, but that all new development effort should go into Xith3D.

Xith3D has taken the object model from Java3D because it was extremely well designed. But it's moved things on.  It's now added faster performance. Its provided the flexibility of OpenGL calls. The Java 3D development should all be going into Xith3D and that should be backed by Sun.

I hope this clarifies,
-Paul
11  Java Game APIs & Engines / Xith3D Forums / Re: Merge Java3D and Xith3D? on: 2004-10-15 12:38:33
Thanks zparticle,

That is really my point. I do think Java3D needs to be improved. I cross posted here to try and garner some support.

If the performance of Java3D was good enough to support the development of games, would Xith3D have been born?

Now that development on Java3D is starting up again, the reason for my post was to suggest that it draws from the great work being done by you guys with Xith3D and thereby address the primary issue in my mind - performance.

Having said all of that, I do appreciate the point that performance isn't necessary for everyone's application. But surely, optimizations etc. for different purposes can be done under the hood and selected by flags or implemented as extensions.

Let the application developers have one API and switch implementations at runtime.
-Paul

ps no offence taken  Lips Sealed
12  Java Game APIs & Engines / Xith3D Forums / Re: Merge Java3D and Xith3D? on: 2004-10-15 10:26:39
I've read the threads and articles that you mention.

It seems to me that the main difference is the threading issue that I mentioned in my original message. Surely issues about licencing can be overcome with willing on Sun's side - which would be needed for my proposal to happen anyway. The other key difference, that I see, is that Xith3D is implemented on top of JOGL allowing direct access to OpenGL which I see as another good thing.

I am not actually criticising Xith3D (so there is no need for you to be so defensive). In fact, quite the opposite - I am all in favour of the development of a 3D scenegraph API in Java that has performance as one of its primary objectives.

OK, let me rephrase my original question:
"Isn't there a strong case for Java3D to adopt the Xith3D goal of making performance a higher priority?
Would it be possible to have a single API with differences in implementation to accommodate different uses (e.g. Herkules mentioned support for CAVES), hidden from the user, with options specified by flags or included as extensions?"

(By the way Blah, Blah, the "I" in API stands for "interface" - the similarity in the object models is why I said the "same API")

Thanks,
-Paul
13  Java Game APIs & Engines / Xith3D Forums / Re: Merge Java3D and Xith3D? on: 2004-10-15 09:03:08
By the "same API", I'm referring to the fact that Xith3D has intentionally followed the same object model of Java3D.

I acknowledge my naivety when it comes to understanding the detail of the two implementations, however, it still seems to me that there is so much in common that there is room for a single larger project that encompasses the features of each as a set of options or extensions.

I actually like the performance goals of Xith3D but prefer the stability, robustness and (now renewed) support of Java3D.

If it cannot be done or if people don't want it to be done, that's fine, but surely it's legitimate to pose the question without receiving such a torrent of abuse.

Cheers,
-Paul
14  Java Game APIs & Engines / Xith3D Forums / Re: Merge Java3D and Xith3D? on: 2004-10-15 08:49:12
OK, but that's an example of the two sides not communicating/following eachother's work.

You can probably guess what I'm suggesting from the subject but here is a copy of my post:
----
Hi,
now that Java3D is reborn and has become open source, it occurs to me that the development effort on these two projects could and should be merged.

I understand that there are some significant differences in the implementation. My understanding is that Xith3D is not thread safe because of the goal of achieving faster performance. However, please forgive my naivety, but are these differences insurmountable?

If you apply the same argument that Sun are using for not open sourcing Java itself, that it will lead to splintering, should we not be uniting the two implementations of what is essentially the Java3D API?

There are some big advantages of Xith3D, the performance issue just mentioned, the fact that you can get to the underlying JOGL/OpenGL.

With so few of you guys contributing to the 3D code development, doesn't it make sense to pool your resources and work together on one implementation - that has everything?

Anyway, just a thought for a Friday....
-Paul
15  Java Game APIs & Engines / Xith3D Forums / Merge Java3D and Xith3D? on: 2004-10-15 07:19:47
Hi,
I've started a thread on merging Java3D and Xith3D at:

http://www.javadesktop.org/forums/thread.jspa?threadID=5776&tstart=0

Please contribute your thoughts there.
Thanks,
-Paul
16  Java Game APIs & Engines / Java 3D / Re: Loader for the bones with a single mesh model on: 2003-11-21 20:30:41
Cheers, I'll be in touch.
17  Java Game APIs & Engines / Java 3D / Loader for the bones with a single mesh model on: 2003-11-20 21:29:51
Hi,
There seem to be three ways to include character animations in 3D applications

(1) use segmented graphics - a body is built using separate 3D graphical objects for each limb or body part, head, forearm, thigh, foot etc.
(in Java 3D we assigned each of the imported Shape3Ds to a hierarchy of transform groups in order to build a skeleton)

(2) import the mesh at keyframes of predefined animations from a graphics package into your program and morph the mesh between those frames

(3) use a single mesh of vertices (or 'skin'), assign each of those vertices to the bones of an underlying skelton - subsequently transforming the skeleton then requires updating the position of each of the vertices. (see for example:  http://www.cosm-game.com/dev_skinbones.php )

The latter route seems to be gaining in popularity - it gives greater flexibility of movement than predefined animations and results in cleaner movement than segmented graphics objects (I've found unwanted effects like limbs cutting through clothing etc).

Anyway, I'm teaching all you grandmothers to suck eggs and besides, this is a long introduction to a very simple question:

Does anyone have a freely available loader that imports into Java3D the bones or skeleton from a package like StudioMax along with the relationship between the individual vertices in the mesh (skin) with those bones?

I am aware of object loaders (http://www.j3d.org/utilities/loaders.html) like the one from Startfire Research for 3D Studio Max (http://www.starfireresearch.com/services/java3d/inspector3ds.html) and Kevin Duling's for MilkShake (http://home.earthlink.net/~kduling/Milkshape/index.html). They're fine for importing the mesh (I think the latter imports frames for animations also) but does anyone have a loader that will also import the bone information?

I can devise a skeleton myself but I really do not fancy - manually - assigning each vertex to the appropriate bone.

I'd prefer a loader that deals with output from 3D Studio max but, at the moment, I'd take anything.

Many thanks in anticipation,
-Paul
Pages: [1]
 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

DarkCart (24 views)
2014-10-31 21:44:48

DarkCart (30 views)
2014-10-31 21:43:57

TehJavaDev (40 views)
2014-10-27 03:28:38

TehJavaDev (31 views)
2014-10-27 03:27:51

DarkCart (45 views)
2014-10-26 19:37:11

Luminem (27 views)
2014-10-26 10:17:50

Luminem (31 views)
2014-10-26 10:14:04

theagentd (36 views)
2014-10-25 15:46:29

Longarmx (64 views)
2014-10-17 03:59:02

Norakomi (62 views)
2014-10-16 15:22:06
Understanding relations between setOrigin, setScale and setPosition in libGdx
by mbabuskov
2014-10-09 22:35:00

Definite guide to supporting multiple device resolutions on Android (2014)
by mbabuskov
2014-10-02 22:36:02

List of Learning Resources
by Longor1996
2014-08-16 10:40:00

List of Learning Resources
by SilverTiger
2014-08-05 19:33:27

Resources for WIP games
by CogWheelz
2014-08-01 16:20:17

Resources for WIP games
by CogWheelz
2014-08-01 16:19:50

List of Learning Resources
by SilverTiger
2014-07-31 16:29:50

List of Learning Resources
by SilverTiger
2014-07-31 16:26:06
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!