General Category > Anim8or v0.98 Discussion Forum

Feature Request Thread

<< < (42/59) > >>

thecolclough:

--- Quote from: Smirkyguy on January 13, 2016, 10:15:57 am ---+1 to animating bone length
--- End quote ---
+2!

Raxx:
Rather than just length, how about scale? Length is, afterall, just one portion of the three axes of scaling. Animating scaling and movement of bones is in all modern animation packages.

(This pretty much falls under the "Free Node System" suggestion: Upgrade the rigid bone system into flexible nodes and constraints like in other animation systems, where they are easily movable, scale-able, etc.)

Smirkyguy:

--- Quote from: Raxx on January 13, 2016, 01:23:28 pm ---(This pretty much falls under the "Free Node System" suggestion: Upgrade the rigid bone system into flexible nodes and constraints like in other animation systems, where they are easily movable, scale-able, etc.)

--- End quote ---

Yes but bone length would be easier to implement, and would be more compatible with older files

Raxx:

--- Quote from: Smirkyguy on January 13, 2016, 04:01:21 pm ---Yes but bone length would be easier to implement, and would be more compatible with older files

--- End quote ---

If only bone length was implemented using shortcuts based on existing architecture...when it comes time to implement scaling, it'll have to be completely tossed aside or else become a mess to fold into the code. Better to lay a strong foundation, I think.

As for compatibility with older files, that's not an issue. Scale and movement are additional data blocks, so its absence just means it doesn't have the new stuff. A key in the anim8or file looks like this (bone01, axis Y):


--- Code: ---jointangle { "bone01" "Y"
    track {
      floatkey { 0 0 10 10 "S" }
    }
  }
--- End code ---

A full rotate, scale, translate implementation can just add "jointscale" and "jointtrans" blocks, and look like this (thinking about it, shouldn't floatkey be pointkey?).

--- Code: ---jointangle { "bone01" "Y"
    track {
      floatkey { 0 0 10 10 "S" }
    }
  }
jointscale { "bone01" "Y"
    track {
      floatkey { 0 0 10 10 "S" }
    }
  }
jointtrans { "bone01" "Y"
    track {
      floatkey { 0 0 10 10 "S" }
    }
  }
--- End code ---

Also, you guys haven't even described what animating the length of bones would do. Would it just translate the vertices or would it scale it? If one was picked then how would the other be implemented later on? Instead, going by the convention of scaling and movement of bones would be less ambiguous and more powerful. If scaling, vertices would be scaled. If moving, vertices would be translated.

Deepthought:
animating bone length should translate vertices along the bone, kind of like they're attached to a hydraulic cylinder. scaling could be a separate tool.

Again, in the figure editor, it would be useful to be able to explicitly choose how an object is mirrored when added to the figure

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version