Jump to content

Raz Welles

Resident
  • Posts

    13
  • Joined

  • Last visited

Everything posted by Raz Welles

  1. So sorry if I missed this earlier in the thread, but since there's a meeting coming up- maybe it would be a good idea to reiterate to use the meeting minutes effectively: What are the motivations from the company's perspective to not implement bone translation, if any?
  2. tl;dir: Bone space translations scale. Translation animations don't work across existing identical macro/micro avatars because they use workarounds that aren't actually scaling. reasoning: Micros/Macros in SL are workarounds for lack of access to scaling. SL doesn't let you scale an avatar to have its shoulders span 2 meters across, so by using a larger mesh, and offsetting the shoulder bones so that they span 2 meters across gets the same visual effect. This illusion breaks when you try to translate those joint offsets.  In the bone space scale, any translations done will work fine, because the coordinate space changed to accommodate the new size. Note the grid has scaled in bone space, keeping positions the same. Translations done here will make sense at any scale because the grid relation is maintained. In the joint offset scale, you're just stretching the guy out, like some medieval torture chamber. Because the coordinate space hasn't changed, translation animations done on the stretched out skeleton will need to be likewise exaggerated. Note in joint offset scaling, grid has not changed, and avatar's shoulders are now roughly twice as far apart according to the grid. Animations done like this will expect a stretched avatar, as they currently do in SL.
  3. Correct me if I'm wrong but I believe translations do scale in a 4x4 matrix? Which is usually how bones are described? http://www.opengl-tutorial.org/beginners-tutorials/tutorial-3-matrices/ (Below, an example of scaling a 4x4 matrix 2x)  Iirc, its like taking a 3D grid, and stretching it out. All your positions will be the same inside that space (so no need to scale your position data), and once you move from that space to the world space, it'll be scaled accordingly.
  4. Not having bone translations would severely hinder/limit facial animation. First, an animated example (best I could do 5 days before Christmas, sorry x.x): https://gyazo.com/91b3b2bce5d7e4ff457ef2662d8bc53b No Translation: Notice that the range of motion is severley limited. We can only move the skinned vertices on a spherical plane coordinate, causing unrealistic eyebrow motion. Even if we moved the base of the bone further away to make the motion more natural- it would only be useful for that one particular motion. You would need a new bone origin for every eyebrow expression. With Translation: By keeping translation, we are able to make subtle motions of the brow, with no trouble at all. A wide range of positions are available because we are not constrained to a spherical surface. https://gyazo.com/8183ac5c2ea0dad33b9b2dc686fbc621 Some History as to why modern game enginesuse bone translations: Iirc (feel free to correct me) back in ye olden days, maybe even some ye new days, skeletal animation in engines were rotation only, e.g. 3x3 matrices. Modern engines handle 4x4, allowing for translation. Do you want to see what happens when all you have are 3x3 matrices- e.g. no translations? " We're looking at a bone count of about 50 bones. Why? From the text (source at the bottom) without these extra bones, the text says: "the bones would likely not deform in an anatomically correct fashion" [ https://udn.epicgames.com/Two/SkeletalSetup.html ] Without these bone chains, each bone would be able to move in only spherical coordinates, can you imagine your eyebrows moving on a sphere and only a sphere? I can't. So these extra bones were inserted between the root and the end point to allow them access to the whole 3D area, rather than a spherical segment fo the 3D area. If it weren't 5 days until Christmas and then new years soon after that, I'm sure I could make more custom tailored examples- but hopefully this establishes the need for translations atm.
  5. I wonder if a python-only solution would be feasible, as it would allow the exporter to become an add-on and not need to deal with compile issues. Although there's something to be said for using the OpenCollada library and being on the same page as all the other major packages right now.
  6. Hey would you mind posting a demo/example of a working Softimage rig and export? Did you have to send across through maya or were you able to export straight from XSI?
×
×
  • Create New...