|
|
In article <3a633135@news.povray.org>, "Rune" <run### [at] inamecom>
wrote:
> Let's see if we understand each other so far.
>
> In the scene file there will be a block of bone information.
> Maybe like this (like you suggested):
...snip...
I would prefer the boned_mesh syntax, because it will let you specify
data along with each vertex instead of separating it all out into a
deform:
boned_mesh {
bone_list {bone{} bone{} ...}
triangle {P1, P2, P3// normals when smooth_triangle is used
bones {[Bone1, Weight] [Bone2, Weight] [Bone3...}
// the Weight values would be optional
}
}
And this would be useable as a independant object and as a "mix in" for
meshes. (This is a separate idea I have been thinking of...letting you
mix triangle-based objects like height fields or bezier patches along
with the triangles.)
A more compact syntax for machine generation could also be added
(analogous to mesh2).
> A bone consists of an ID number, two times two points and two vectors
> and a radius and a strength. Maybe like:
> bone_deform {
> bone {
> ID-number,
> home_end1, home_dir1, home_end2, home_dir2,
> curr_end1, curr_dir1, curr_end2, curr_dir2,
> radius, strength
> }
> bone {...}
> }
>
> The fields defined by the strengths and radii of the bones will
> control how much each vertex is influenced by each bone.
That is something I haven't thought much about...the simplest way would
be to let the user specify the ID number, but I would prefer a cleaner
method letting the user name each bone (the names would only be valid
within the boned_mesh block, of course) and refer to them by name, the
names would then be translated to ID numbers by the parser. I don't know
how to implement this, though...
> This information will be used to deform the mesh by moving the
> vertices according to the bones and the weights. After the
> deformation has happened, all the bone information can be deleted
> again. In the rendering stage the mesh will render just like any
> other mesh.
Exactly.
> As you see, the only real question I have now is about the user-defined
> weight data. But this is only provided that we agree about all the rest,
> which I doubt... :)
Well, I can't think of a good way to do it with the bone_deform
syntax...maybe specify the weights in the same order as the triangles,
but that seems to be a really ugly and problem-prone solution.
--
Christopher James Huff
Personal: chr### [at] maccom, http://homepage.mac.com/chrishuff/
TAG: chr### [at] tagpovrayorg, http://tag.povray.org/
<><
Post a reply to this message
|
|