Some quick notes on GwynFlex version A09...(23 November, 1999)

New in this version:

- Import single poses and texture coordinates from Quake 2
  (.md2) models

- New mesh-to-bone binding algorithm produces much more accurate
  animation than previous versions

- All normals of the mesh are automatically corrected during
  import (still a bit buggy, but very good results)

- Manually add and subtract faces or groups of faces to the
  bone-mesh association

- Preserves texture coordinates of imported mesh

- Save bone sets, and save bone-mesh associations, and save
  poses, so that animation can be divided up among several
  work sessions.

Known bugs / missing features:
- The normal correction isn't perfect - a few triangles appear
  to be missing or to have reversed normals
- No default weapon mesh support
- Something not quite right about the animations or reference
  points; the character appears to look the wrong direction
  when turning.
- The GLCmd generation is one triangle per GLCmd, which makes
  the generated models a bit bigger and makes your graphics
  card work a bit harder. This will be optimized once the
  other known bugs are fixed.

Installation:
- Just make sure that the default.spz and mocap.spz files are in
  the same folder as gwynflexa09.exe. The default.spz file holds
  the default pose for the skeleton, in frame 'default'
- The mocap.spz file is not included in this archive. Get it from
  the ovum site.

Mini-Tutorial:

- Ideally the your mesh should be modeled in a pose as close to a
  "spread eagle" (like the DaVinci drawing of a man with arms out
  and legs spread) as possible. A standing pose with the arms at
  the sides can also be used, but it may be difficult to select
  triangles on the sides or inner arms with such a pose.

- Turn off all of the weapons in GwynFlex. To do this, select
  Skeleton->Mesh Nodes, and make sure NONE of the following boxes
  has an X:

  Right Grip, Left Bow/Grip, Armor, Blade Staff, Hellstaff,
  Stored Staff, Stored Bow

  All other boxes should have an X. Click OK when done.

- Make sure Skeleton->Normalize Poses is checked.

- Begin animation by importing a pose from mocap.spz that is like
  the pose of your mesh. 'conjure11' is a good spread-eagle pose.
  'breath01,' and 'recover07' are good standing poses.

- Now import your mesh into Gwynflex. Make the mesh solid using
  the Model->Solid menu, and align the base of the spine with the
  "hip anchor" joint of the standard skeleton, and the hips roughly
  with the hips of the skeleton.

  GwynFlex may give you a message like, "Some closed sub-meshes
  in this model don't have their own group. Create groups for
  them?" If this happens, click Yes.

  Hint: Use both the front and side camera views to center the hip
  anchor inside your model, and switch between solid and wireframe
  to get it aligned right. Use the menu item Model->Lock Position
  to lock the model into this position.

- Make sure Skeleton->Rigid Bones is not checked, then use the
  mouse and different camera views to grab joints (other than the
  hip anchor) and position them within your mesh. For example,
  position the "right wrist" joint inside the right wrist of
  your mesh. This will automatically adjust the length of the
  bones to match your mesh. For fine adjustments, check the
  Skeleton->Rigid Bones option and move the joint; this will
  position the joint without changing the bone length.

  Hint: To see what this should look like when you're done, start
  by importing the "conjure13" pose and the q2gal.bnz bone set,
  and the "conjure13EC63.obj" mesh. This mesh is already perfectly
  aligned with the correct bone lengths for the Q2Gal model.

- When you are satisfied with the results, save your bones and
  your pose (File->Save Bones, and File->Save Pose). Save them
  as tutorial.bnz and tutorial,psz. This will make it easier to
  start again if you have to quit GwynFlex for any reason before
  the model is fully animated.

- Now it's time to associate parts of the mesh with bones.
  Select Group->Add... and a "Select Group" dialog box will
  appear. Each group is a set of related triangles in your mesh.
  You want to select all of the triangles. Usually, the first
  group listed (which might have the name of a pose, the name
  of your model, or the name "mesh", for example) is a group
  containing all of the triangles. Select this group and click
  OK. Your model should turn blue. If any part of it stays
  white, add more groups until it is all blue (be sure to use
  the different camera views to verify that all is blue)

- Select Skeleton->Guess Bindings. This tells GwynFlex to guess
  which parts of the mesh belong with each bone. It may take
  a few minutes.

- Review the choices GwynFlex made - most likely, some of them
  will be incorrect. To do this, check View->Bone Bindings, and
  uncheck Model->Solid. Then click on a bone (not a joint). Most
  of the model will be a white wire frame, but the triangles
  that GwynFlex associated with the bone will have blue outlines.

  Hint: use the Tab and Shift-Tab keys to move from bone to bone.
  Use Model->Solid, and the camera views, to get a better look.
  Note that if a bone itself is blue, it is a "reference bone"
  and should not ever have any mesh bound to it. Reference bones
  will be used in future versions of GwynGlex to attach weapons
  and armor to the model.

- If you need to change the triangle set for the bone, make the
  model solid, and click on the triangle you want to add or
  delete. You can also use Group->Add and Group->Flood Add to
  add triangles. Once you have adjusted the set of triangles
  for a given bone, use Skeleton->Bind To Bone to update the
  estimate that GwynFlex made. Repeat this for all bones.

- When you are satisfied with the results, save your bindings
  using File->Save Bindings. Use the name tutorial.bnd for now.

- Now part 1 of the big finish. Here, GwynFlex will convert
  the bone bindings into a set of poseable body parts and tell
  you about any errors it encounters. For example, if there is
  a triangle that is not bound to any bone, GwynFlex will
  complain. It will also complain if the same triangle is
  bound to multiple bones.

  To start the process, select Model->Make Poseable and watch
  the status bar. If an error occurs, GwynFlex will display
  an error dialog box, and highlight the problem triangles
  in blue for you to repair them. If no error occurs...

  CONGRATULATIONS!

- One you finish making the model poseable, you can try different
  Corvus animation poses on it. To do this, check View->Generated
  Model, and then use File->Load Pose to bring in poses from the
  motion capture database mocap.spz. If the poses look funny, you
  might need to re-think which triangles are assigned to each
  bone, and go back a few steps to try different bone / mesh
  bindings.

- If you try a few poses and they look OK, you can make a flexmodel
  (tris.fm file) to use in Heretic II. To do this, select menu item
  File->Export->Flex Model. Name your output file "tris.fm".
  It takes about 1/2 hour to generate a flexmodel, depending on
  the speed of your computer. A flexmodel takes up several
  megabytes of hard disk space - make sure you have enough free.

- Some errors can occur during flexmodel generation. GwynFlex
  will tell you about these, and usually they mean you have to
  go back and re-do your bone / mesh bindings. If you don't
  get any errors...

  CONGRATULATIONS!

- To try the model out, create a new folder in your Heretic II
  folder called "base/players/tutorial". Copy the tris.fm
  file that GwynFlex generated to there. You will also need
  some skins for your model (that is a whole 'nuther story...)
  For a start, use the skins from the Corvus model. They will
  look very strange, but Heretic II won't load a model without
  skins. The skins you MUST have in your base/players/tutorial
  folder are:

  !skin.m8, !skindmg.m8, corvus.m8, corvusdmg.m8, reflect.m8

  Hint: You can take any skin you want and copy it to each of
  these names for starters. An all-black skin will probably
  look best at this point.

- To play-test your model, put in your Heretic II CD, start
  Heretic II and use ~ to bring up the console, then type these
  commands:

  deathmatch 1
  skin tutorial/corvus
  map dmandoria

- I hope this mini-tutorial works well for you! We will be
  publishing better tutorials and more complete documentation
  about GwynFlex as soon as the rest of the bugs are fixed.


Sample meshes:
- The ZIP file includes three sample meshs, conjure11EC63.obj,
  conjure13EC63.obj, and conjure14EC63.obj, to play with.
  conjure11EC63.obj is the Styx1 model as he appears in the conjure11
  animation frame. conjure13EC63.obj is the Q2Gal model as she appears
  in the conjure13 animation frame. conjure14EC63.obj is the Corvus
  model, as he appears in the conjure14 animation frame.
- You can use the sample pose file, conjure11.spz, to load the
  conjure11, conjure13, and conjure14 poses onto either of
  these meshes, in case you haven't downloaded mocap.spz (2.5MB)
- The file voodoo.bmp is the Voodoo skin from Quake 2 for Q2Gal,
  modified to be 256x256 as used by Heretic II player models.

Contacting the Author:
- You can reach Gwynhala, the author of GwynFlex, at any of
  these addresses:

  serotonin@earthlink.net
  gwynhala@hereticii.com
  ICQ 38345327

- GwynFlex is Copyright 1999 by Christopher J. Burke
  Portions are Copyright 1996 by Nigel Thompson
  You can use GwynFlex and its output as you please,
  but you are not allowed to sell GwynFlex.
