Go Back   EQEmulator Home > EQEmulator Forums > OpenZone > OpenZone:: Q&A

OpenZone:: Q&A Support forum for OpenZone help

Reply
 
Thread Tools Display Modes
  #1  
Old 05-18-2005, 06:39 AM
Windcatcher
Demi-God
 
Join Date: Jan 2002
Posts: 1,175
Default

I did some thinking, and even ship models are animated (billowing sails). Rowboat models, though, (like the ones in Lake Rathe) aren't animated and would be easier to add.

If I had source material that met the requirements of WLD animated models, I could probably find a way to add the ability to use them (that is, convert to WLD on exporting a zone) pretty easily. WLD animated models have the following characteristics:

- bounding box
- bounding sphere
- hierarchical bone structure (skeleton) where each bone has one and only one parent bone (except the root bone, of course)
- each and every polygon is assigned to one and one and only bone (e.g if the left forearm bone was bone 7, then all of the polygons for that part of the body would have a 7 assigned to them)
- only one root bone for the skeleton
- each bone supports orientation and length
- models can be split into heads and bodies, with alternates for each

I can calculate the bounding box and sphere, but it's always better to get those from a source model. KhaN and I were looking at the Quake III file format as a possible source, but there are issues with alternate meshes: Quake III models are split into upper- and lower-torso parts, where EQ models are split into "head" and "rest of body" (though this splitting isn't required -- you can have a single mesh for an entire monster, for instance).

Animations are another issue, but they can be handled separately for the most part. EQ has a core set of animations that apply to all models of a certain type and then has a few animations that are specific to certain models to handle special cases. For instance, simple actions like walking, running, emotes, and most attacks are the same for many models. Some example model classes are:

- bipedal, normal limb length-to-girth ratio (elf, human, erudian, etc.)
- bipedal, alternate limb length-to-girth ratio (dwarf, ogre, troll, etc.)
- feline
- canine
- ursine (in other words, bears or anything similar)
- snakes
- arthropod (spiders, beetles, etc.)
- reptile (alligator, basilisk)
- birds
- dragons

In this sense, once an animation is created for a model class, it can be copied to all models of that class, and that is exactly what EQ does (according to KhaN, this is a common practice). A good example of a special-case animation would be swinging a 2-handed weapon: different models have different arm lengths, and so the animation parameters will have to be tailored to each model to keep the hands in the correct position. In general this is an issue where two limbs (specifically, bones that don't have a direct parent-to-child relationship) have to be synchronized.

If we can acquire some free models that meet these requirements, I think we can get to the point where we are exporting our own models in OpenZone in relatively short order. It's a lot of work making a model (mesh, animations, textures) and is something I'm not capable of doing, but I understand enough of how WLD handles animated models that I'm pretty sure I can have OZ do the conversion given the right source material. Since the client wouldn't copy its existing animations to ours we would have to create the full set of animations, but would only have to do so once -- we could then apply them to any models we make that are of the same class (similar geometry).

One thing I should point out is that there is an alternate animated model type that WLD supports that isn't used for mobs. If you've ever seen the hanging flags in old-world zones that slightly billow in the wind, you've seen this type. Those models are stored as a series of frames -- for example, there might be ten animated frames, and for each frame a complete mesh is stored in the WLD file (with a fragment that tells the client where the frames are and how many there are). It's a horribly inefficient way to store an animated model, which is why it isn't used for mob models, but if we want to create such things as animated flags it's another possibility.

I should also mention that I've created an elf male model in Anim8or and several animation sequences for it (standing 1, standing 2, looking around, walking 1, walking 2, taking damage). The model isn't stellar (and it's not textured or uv-mapped), but the animations are valid for that skeleton (and it should be possible to put that skeleton on any similar model). I also have a partial Anim8or file parser written, so if people want to make models and animations in Anim8or it shouldn't be hard for me to convert them to WLD. Unfortunately Anim8or doesn't support inverse kinematics or telescoping bones so getting the animations right can be difficult, but it's free and pretty easy to learn.

Last edited by Windcatcher; 05-18-2005 at 10:39 PM..
Reply With Quote
  #2  
Old 05-19-2005, 08:55 AM
GeorgeS
Forum Guide
 
Join Date: Sep 2003
Location: California
Posts: 1,474
Default Creating models

WC - I'm very experienced in 3D model creation, and can create anything static for eqemu. If you would like, I can give some custom ones (using my textures) I sure would love to help out


Animated modeling (I use truespace 6.6) and am very good using that tool. I can texture pretty well and even make monsters. I even made a very eq similar froglok last month! If you can animate them, I can make some and submit them.

Just let me know. I will upload some examples for everyone to check out


George
Reply With Quote
  #3  
Old 05-19-2005, 09:13 AM
Innerfire963
Fire Beetle
 
Join Date: Jul 2004
Posts: 25
Default

I wanna see!
__________________
Innerfire says out of character,' LISTEN PEOPLE! Im tired of the way we rangers are being treated!'
Innerfire says out of character,'Dont laugh at us when we respond to requests for tanks!'
Innerfire says out of character,'Dont Auto-Blame us when someone breaks mez!'
Innerfire says out of character, 'And the next time one of you Necros calls me your PET'.. Im droping this barb tipped bone shafted arrow in your ass.
*** tells you,' HAHA he said BONE and SHAFT!'
*** tells you,' Woops MT..'
Reply With Quote
  #4  
Old 05-19-2005, 11:26 AM
Windcatcher
Demi-God
 
Join Date: Jan 2002
Posts: 1,175
Default

Any help is appreciated. I'm a coder, not a modeler, but with some examples I can see what I can do, or at least determine what the issues are. I have enough of the WLD format licked that I think it will be more of an issue of parsing the source material than storing it as WLD. Ultimately, though, it comes down to how well the source material matches what WLD files require. I definitely think converting animated models to WLD is doable, as long as we have good source material.
Reply With Quote
  #5  
Old 05-19-2005, 12:01 PM
GeorgeS
Forum Guide
 
Join Date: Sep 2003
Location: California
Posts: 1,474
Default models

ok then, what I will do is begin by creating eq static models (I am excellent in low poly models).

Now just a few questions -

What format would these need to be in (3DS, X, etc..) and is mesh hierarchy fine or export as single mesh?

Triangulated or not?


Next, if my models are acceptable, then I can start making static monster mesh's (I usually keep those to under 3000 tris). These would take a bit longer to make ~1 textured mob per week and 1 untextured per day.

I also find eq mob textures come in many separate textures in files. So in essence, 1 mob would have about 12 textures. The advantage of this is to re-use textures for similar themed mobs. I texture this way as well.

I will give it a go. Let you know of the progess as it happens...always glad to help!

Later
George

some links to my low poly work
ultimaIV rewrite
http://www.wizardportal.com/optimaiv/

tutorials for low poly http://www.wizardportal.com/optimaiv...tutorials.html

main page for 3D objects - see left panel
http://www.wizardportal.com/optimaiv/orion2/orion.html

some guns
http://www.wizardportal.com/optimaiv/orion2/guns1.html

Last edited by GeorgeS; 05-19-2005 at 08:05 PM.. Reason: adding links...
Reply With Quote
  #6  
Old 05-19-2005, 01:40 PM
Windcatcher
Demi-God
 
Join Date: Jan 2002
Posts: 1,175
Default

Bleh. I should have mentioned that about the texturing. There should be a separate texture for each body part (that is, skeleton bone), but only one mesh for the entire model (or at most, one mesh for the head and one mesh for the rest of the body). Separate meshes isn't important unless you want to have alternates -- for example, *all* player models all have four alternate heads: bare, wearing leather, wearing chain, and wearing plate. A few also have alternate body meshes, such as armored or robed high elves. By contrast, monster models have alternate mesh heads for different types (e.g. cyclops or hill giant) but always only one body mesh.

A textured model per week is fantastic. I wouldn't even be able to keep up. I already have a .3DS file parser, but as far as I know it doesn't support bones. Maybe the thing to do is export the same model in a bunch of different formats and I can see what I can read. I have a parser for Quake III and I might have one for half-life (not sure, though). I can always scour the net for readers for different formats and convert to Delphi if I have to.

Another thng I forgot: there are some "special" bones in WLD models that don't have any polys. These are for item attachments such as weapons and shields. There should be one for each hand and a shield bone on the left arm. There should also be one for the helmet and one for what they call the guild (sits above the head). Old-world player models have helmets in the head mesh and have non-zero alpha values assigned to the helmet polys so the client can assign tints to them, so the helmet bone is unused for them, but it's used for helmet items that have their own meshes. We can tweak the lengths and orientations of these bones at a later time, but they should exist. Basically the held object bones point along the direction of a prospective held weapon, the shield bone points out through the shield, and the helmet and guild bones point straight up.

Edit: actually I think there are two bones per hand: one for a weapon and one that points to the side somehow for held books and such. I'm not 100% sure about this, but it should be easy do deal with these polygon-less bones anyway since they shouldn't ever move with any animations.

Last edited by Windcatcher; 05-19-2005 at 09:54 PM..
Reply With Quote
  #7  
Old 05-19-2005, 04:35 PM
KhaN's Avatar
KhaN
Dragon
 
Join Date: Mar 2004
Location: France, Bordeaux.
Posts: 677
Default

Back from holidays, so.

Quote:
If we can acquire some free models that meet these requirements
Post a schema of those requirement, ala davinci draw with named bones, bounding box, entities ....

Also, as OZ already import Ogre Meshes, it would be maybe easier to export NPC as ogre format, i already have bunnies, horses and such ready and animated, but nothing humanoid ready yet, and also, i think my bone format wont match what you need (i mainly bone ala Muybridge's way).

Thanks
__________________


Last edited by KhaN; 05-20-2005 at 12:38 AM..
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 09:33 AM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3