0 Replies Latest reply on Dec 18, 2007 12:56 AM by ebgames

    Custom avatars


      I'm currently working with a programer on creating an avatar system that will allow players to create their own unique avatar. We will be dividing up the mesh into multiple sections (head, upperbody, hands, legs, feet). For simple things like accessories we will just attach to a bone.

      We are running into a problem with the bones and getting items to swap out and using the animation.

      So this is what he's telling me:

      "Our mesh isn't separated in to separate parts, its a single mesh that is rigged with bone animation. The separate 'groups' are merely the vertex groups of the single mesh with coaralate to the bones they are assigned to. When the animation plays these vertex groups simply rotate around the group center (or bone center in the modelling world).

      Thats why this is hard to accomplish with a single mesh. Changing the pants on the character wont be possible as the legs are part of the whole avatar mesh. What I cannot do is take out those leg verticies and reconstruct the pants onto the whole avatar. Applying shoes to the avatar groups (paranting) or gloves, or a watch, or glasses, or a hat isnt a problem as those are seperate meshes that can be merely parented to a bone and it follows the bone positions through the animation. Taking a whole mesh apart (taking out a group of verticies) and inserting a new set of verticies that have an arbitrary number (say its more polys than the original legs) is the issue as the animation data is constructed with the verticies (group) of the single mesh. Overlaying that information onto a new mesh is our issue. Even with the new legs having animation data, that requires we remove the old legs from the single mesh (singling out the group of verts and removing them) adding the new verticies and polys (and somehow getting them to attach to the original mesh without having to rebuild the whole mesh in memory because we would loose the animation data if we had to do that, not to mention getting the new verts to align up with the old mesh that was built with the old legs aligning up) and then playing the animation queues that the main body is playing (and making sure the delta timing didnt mess with us and cause strange artifacts in the mesh visually as one animation is catching up to a keyframe where the other mesh animation is slowing down to stay in time of the keyframe)."

      Someone mentioned we should use reanimator3D, and he's looking into this, but I'm just posting this to see if there's other solutions or if anyone has had experince doing this.