IPB Style© Fisana

Jump to content


Animation Pipeline


323 replies to this topic

#81 Mythos_Ruler

Mythos_Ruler

  • 0 A.D. Project Leader

  • Megas Philhellene
    (13,793 posts)

Posted 01 February 2012 - 05:10 PM

Off-topic: Nice avatar, Kenobi. (y)
Michael D. Hafer [aka Mythos_Ruler]

Wildfire Games Project Leader
Contact me: michaeldhafer[at]gmail.com
Support Wildfire Games!


0 A.D.

#82 Wijitmaker

Wijitmaker

  • 0 A.D. Art Team

  • 0 A.D. Old Timer
    (9,451 posts)

Posted 01 February 2012 - 05:17 PM

View PostGen.Kenobi, on 01 February 2012 - 05:09 PM, said:

Yep. I just renamed it.
Alright, so row 393 means nothing in the .dae file: It is simply </source>

So, what is 393 in your skeleton.xml file?

Also, could you share the code of your actor file?
Jason Bishop [ aka Wijitmaker ]

Wildfire Games CFO, retired artist
Contact me: jason@wildfiregames.com

Support Wildfire Games!!!

#83 Gen.Kenobi

Gen.Kenobi

  • 0 A.D. Art Team

  • Centurio
    (703 posts)

Posted 01 February 2012 - 06:58 PM

Hmm... So, to make it easer... why not share the files as a whole? :P

Attached File  files.zip   5.76K   11 downloads

@Michael: A friend of mine at Revora made it for me :P
Daniel Schubert [ aka Gen.Kenobi]

Wildfire Games 3d Artist
Contact me: daniel[at]wildfiregames.com


Vote for 0 A.D. in the 2012 Indie of the Year awards!
Posted Image

Posted Image
Visit Revora Creative Network! : )

#84 Wijitmaker

Wijitmaker

  • 0 A.D. Art Team

  • 0 A.D. Old Timer
    (9,451 posts)

Posted 01 February 2012 - 07:18 PM

Ok, taking a look here: file="infantry/general/forage.psa" & file="infantry/general/dude/dudeidle.psa"

Those animations aren't going to work with your .dae file because they are intended to be used with the standard skeleton. Right now your using some sort of custom blender skeleton (which we need to fix in the future). So that is probably giving you an error. You also can't use m_pants_celt.dae because it is also using the default skeleton (not the custom blender skeleton you made).

I doubt your prop points are going to work either. So lets just eliminate that questionable variable as well.

So try this:

1) Place fisherman_paddling.dae in the skeletal mesh folder (where m_pants_celt.dae resides).
2) For testing purposes - change your actor to this:
<?xml version="1.0" encoding="utf-8"?>
<actor version="1">
  <castshadow/>
  <group>
    <variant frequency="100" name="Base">
      <animations>
        <animation file="fisherman_paddling.dae" name="Idle" speed="30"/>
	<animation file="fisherman_paddling.dae" name="Walk" speed="30"/>
      </animations>
      <mesh>skeletal/fisherman_paddling.dae</mesh>
    </variant>
  </group>
  <material>player_trans.xml</material>
</actor>

Line 393 doesn't help with the skeleton file either... odd. Let me know what your new error is (I'm sure you'll get one).
Jason Bishop [ aka Wijitmaker ]

Wildfire Games CFO, retired artist
Contact me: jason@wildfiregames.com

Support Wildfire Games!!!

#85 Gen.Kenobi

Gen.Kenobi

  • 0 A.D. Art Team

  • Centurio
    (703 posts)

Posted 01 February 2012 - 07:28 PM

Just did what you said. :)

ERROR: art/meshes/skeletal/fisherman_paddling.dae: Assertion not satisfied (line 393): failed requirement "recognised skeleton structure"

ERROR: Could not load mesh 'art/meshes/skeletal/fisherman_paddling.dae'

ERROR: CObjectEntry::BuildVariation(): Model art/meshes/skeletal/fisherman_paddling.dae failed to load

ERROR: Failed to build prop model "units/china/chin_fisherman.xml" on actor "fishing_ship"

My .dae file is supposed only to provide the animation, not to work as a unit... It should take the current unit model and animate it...
I think I'm getting lost again. :P But I did as you said.
Daniel Schubert [ aka Gen.Kenobi]

Wildfire Games 3d Artist
Contact me: daniel[at]wildfiregames.com


Vote for 0 A.D. in the 2012 Indie of the Year awards!
Posted Image

Posted Image
Visit Revora Creative Network! : )

#86 Wijitmaker

Wijitmaker

  • 0 A.D. Art Team

  • 0 A.D. Old Timer
    (9,451 posts)

Posted 01 February 2012 - 07:37 PM

View PostGen.Kenobi, on 01 February 2012 - 07:28 PM, said:

Just did what you said. :)

ERROR: art/meshes/skeletal/fisherman_paddling.dae: Assertion not satisfied (line 393): failed requirement "recognised skeleton structure"

ERROR: Could not load mesh 'art/meshes/skeletal/fisherman_paddling.dae'

ERROR: CObjectEntry::BuildVariation(): Model art/meshes/skeletal/fisherman_paddling.dae failed to load

ERROR: Failed to build prop model "units/china/chin_fisherman.xml" on actor "fishing_ship"

My .dae file is supposed only to provide the animation, not to work as a unit... It should take the current unit model and animate it...
I think I'm getting lost again. :P But I did as you said.

Did your animation file have a mesh included with it - or was it all bones? I remember seeing a mesh. There is no difference between a .dae file that was saved for mesh purposes and those that were saved for animation purposes. When you call the .dae file out as a mesh in the actor it only looks at the mesh information in the .dae file. When you call out animation file in the actor it only looks at the animation portion of the .dae.

It looks like you still have an issue with the skeleton. Humor me and give me your fisherman_paddling.dae file - even though you think it is the same as the fisherman.dae file you posted earlier.
Jason Bishop [ aka Wijitmaker ]

Wildfire Games CFO, retired artist
Contact me: jason@wildfiregames.com

Support Wildfire Games!!!

#87 Gen.Kenobi

Gen.Kenobi

  • 0 A.D. Art Team

  • Centurio
    (703 posts)

Posted 01 February 2012 - 07:59 PM

Your wish, is my order ;)

Attached File  paddling.zip   33.16K   10 downloads
Daniel Schubert [ aka Gen.Kenobi]

Wildfire Games 3d Artist
Contact me: daniel[at]wildfiregames.com


Vote for 0 A.D. in the 2012 Indie of the Year awards!
Posted Image

Posted Image
Visit Revora Creative Network! : )

#88 historic_bruno

historic_bruno

  • WFG Programming Team

  • Primus Pilus
    (1,928 posts)

Posted 01 February 2012 - 08:12 PM

View PostGen.Kenobi, on 01 February 2012 - 01:25 PM, said:

ERROR: art/animation/fisherman_paddling.dae: Assertion not satisfied (line 393): failed requirement "recognised skeleton structure"

ERROR: CSkeletonAnimManager::GetAnimation(art/animation/fisherman_paddling.dae): Failed loading, marked file as bad

Just the errors the engine gives me. (Tried again with both DEF and no DEF at the root, no luck)
:(

EDIT: Ben: the file is here> http://www.wildfireg...ndpost&p=233148

If it's the same file, then your latest posted skeleton won't work, because it still doesn't get the bones names correct (it leaves off .01, .02, etc. on the end of some of them). I don't know if it's clear or not, but you know that you can open the DAE file in a text editor? I recommend something like Notepad++ on Windows and set the language to XML so you get nice syntax highlighting. If you're only looking at the names in Blender, they might be different.
Ben Brian [ aka historic_bruno ]

Wildfire Games Programmer
Contact me: ben@wildfiregames.com

#89 historic_bruno

historic_bruno

  • WFG Programming Team

  • Primus Pilus
    (1,928 posts)

Posted 01 February 2012 - 08:15 PM

Wouldn't it be much easier to just make the rig by hand and match existing bipeds in the game? I think you would already be done :)
Ben Brian [ aka historic_bruno ]

Wildfire Games Programmer
Contact me: ben@wildfiregames.com

#90 Wijitmaker

Wijitmaker

  • 0 A.D. Art Team

  • 0 A.D. Old Timer
    (9,451 posts)

Posted 01 February 2012 - 09:13 PM

View Posthistoric_bruno, on 01 February 2012 - 08:15 PM, said:

Wouldn't it be much easier to just make the rig by hand and match existing bipeds in the game? I think you would already be done :)

That does sound easier, there is a lot of clutter in this rig :S

Daniel try replacing the DEF- with ORG-

    <visual_scene id="Scene" name="Scene">
      <node>
        <node name="root">          
          <node org="ORG-hips">           
            <node org="ORG-spine">              
              <node org="ORG-ribs">                
                <node org="ORG-neck">                  
                  <node org="ORG-head">                    
                  </node>
                  <node def="DEF-head">                    
                  </node>
                </node>             
                
                <node org="ORG-shoulder.L">                  
                  <node org="ORG-upper_arm.L">                    
                    <node org="ORG-forearm.L">                      
                      <node org="ORG-hand.L">                        
                        <node def="DEF-hand.L">                          
                        </node>
                      </node>
                      <node def="DEF-forearm.L.01">                        
                      </node>
                      <node def="DEF-forearm.L.02">                        
                      </node>                      
                    </node>
                    <node def="DEF-upper_arm.L.02">                      
                    </node>                    
                  </node>
                  <node def="DEF-shoulder.L">                    
                  </node>
                  <node def="DEF-upper_arm.L.01">                    
                  </node>                 
                  
                  <node name="upper_arm_pole.L">                    
                  </node>
                </node>
                <node org="ORG-shoulder.R">                  
                  <node org="ORG-upper_arm.R">                    
                    <node org="ORG-forearm.R">                      
                      <node org="ORG-hand.R">                        
                        <node def="DEF-hand.R">                          
                        </node>
                      </node>
                      <node def="DEF-forearm.R.01">                        
                      </node>
                      <node def="DEF-forearm.R.02">                        
                      </node>                      
                    </node>
                    <node def="DEF-upper_arm.R.02">                      
                    </node>                    
                  </node>
                  <node def="DEF-shoulder.R">                    
                  </node>
                  <node def="DEF-upper_arm.R.01">                    
                  </node>                 
                  
                  <node name="upper_arm_pole.R">                    
                  </node>
                </node>
                <node def="DEF-neck">                  
                </node>               
                
                <node name="shoulder.L">                  
                </node>
                <node name="shoulder.R">                  
                </node>
              </node>
              <node def="DEF-ribs">                
              </node>
            </node>
            <node org="ORG-thigh.L">              
              <node org="ORG-shin.L">                
                <node org="ORG-foot.L">                  
                  <node org="ORG-toe.L">                    
                    <node def="DEF-toe.L">                      
                    </node>
                  </node>
                  <node def="DEF-foot.L">                    
                  </node>                  
                </node>
                <node org="ORG-heel.L">                  
                  <node org="ORG-heel.02.L">                    
                  </node>
                </node>
                <node def="DEF-shin.L.01">                  
                </node>
                <node def="DEF-shin.L.02">                  
                </node>                
              </node>
              <node def="DEF-thigh.L.02">                
              </node>              
            </node>
            <node org="ORG-thigh.R">              
              <node org="ORG-shin.R">                
                <node org="ORG-foot.R">                  
                  <node org="ORG-toe.R">                    
                    <node def="DEF-toe.R">                      
                    </node>
                  </node>
                  <node def="DEF-foot.R">                    
                  </node>                  
                </node>
                <node org="ORG-heel.R">                  
                  <node org="ORG-heel.02.R">                    
                  </node>
                </node>
                <node def="DEF-shin.R.01">                  
                </node>
                <node def="DEF-shin.R.02">                  
                </node>                
              </node>
              <node def="DEF-thigh.R.02">                
              </node>              
            </node>
            <node def="DEF-spine">              
            </node>
            <node def="DEF-thigh.L.01">              
            </node>           
            
            <node def="DEF-thigh.R.01">              
            </node>           
            
          </node>
          <node name="hand_ik.R">            
          </node>
          <node name="VIS-hand_ik.R">            
          </node>
          <node name="VIS-upper_arm_pole.R">            
          </node>          
          <node name="hand_ik.L">            
          </node>
          <node name="VIS-hand_ik.L">            
          </node>
          <node name="VIS-upper_arm_pole.L">            
          </node>         
          
          <node name="foot_ik.R">           
            
            <node name="foot_roll.R">              
            </node>
            <node name="thigh_pole.R">              
            </node>
          </node>
          <node name="VIS-foot_ik.R">            
          </node>
          <node name="VIS-thigh_pole.R">            
          </node>          
          <node name="foot_ik.L">           
            
            <node name="foot_roll.L">              
            </node>
            <node name="thigh_pole.L">              
            </node>
          </node>
          <node name="VIS-foot_ik.L">            
          </node>
          <node name="VIS-thigh_pole.L">            
          </node>
          
          <node def="DEF-hips">            
          </node>
          <node name="torso">            
            <node name="ribs">             
              
            </node>
            <node name="hips">        
              
              
            </node>
            
            
          </node>
        </node>
      </node>
 

Here is what the dae structure looks like simplified. Does blender have any documentation explaining further what the rig's setup is - what are the DEF, ORG, MCH, VIS supposed to mean? The problem with the DEF is that I don't understand the difference between the shin and forearm. Somtimes rigs have a 2 bone solution for that portion of the leg/bone to account for better motion with wrist rolls and angle twists. Maybe that is why? I'm not sure which one to pick - .01 or .02

Ben, sorry to beat a dead horse on this... but could you explain why did you think it was DEF and not ORG (my head is a bit thick ;))
Jason Bishop [ aka Wijitmaker ]

Wildfire Games CFO, retired artist
Contact me: jason@wildfiregames.com

Support Wildfire Games!!!

#91 Gen.Kenobi

Gen.Kenobi

  • 0 A.D. Art Team

  • Centurio
    (703 posts)

Posted 01 February 2012 - 09:31 PM

No luck at all.

Looks like that with this new actor code, there's not even a model displaying on the fishing boat (the fisherman boat).


I didn't use a normal rig, I used Blender's add-on Rigfy. It automatically adds the rigs and the deformation bones and solvers for the user, so we don't have to spend too much time rigging and jump into animating... Maybe that's the issue... Maybe it would need a rig to be made from scratch... I dunno... Maybe Pureon can help out with this? Since he gots most rigs working ingame so far...
Daniel Schubert [ aka Gen.Kenobi]

Wildfire Games 3d Artist
Contact me: daniel[at]wildfiregames.com


Vote for 0 A.D. in the 2012 Indie of the Year awards!
Posted Image

Posted Image
Visit Revora Creative Network! : )

#92 historic_bruno

historic_bruno

  • WFG Programming Team

  • Primus Pilus
    (1,928 posts)

Posted 01 February 2012 - 10:06 PM

View PostWijitmaker, on 01 February 2012 - 09:13 PM, said:

Ben, sorry to beat a dead horse on this... but could you explain why did you think it was DEF and not ORG (my head is a bit thick ;))

Because of this part of fisherman.dae:

<library_controllers>
    <controller id="rig_Mesh-skin" name="rig">
      <skin source="#Mesh_181_kl-mesh">
        <bind_shape_matrix>0.4865988 0 0 0 0 -7.9277e-8 -0.4865988 0 0 0.4865988 -7.9277e-8 0 0 0 0 1</bind_shape_matrix>
        <source id="rig_Mesh-skin-joints">
          <Name_array id="rig_Mesh-skin-joints-array" count="29">DEF-head DEF-hand_L DEF-forearm_L_01 DEF-forearm_L_02 DEF-upper_arm_L_02 DEF-shoulder_L DEF-upper_arm_L_01 DEF-hand_R DEF-forearm_R_01 DEF-forearm_R_02 DEF-upper_arm_R_02 DEF-shoulder_R DEF-upper_arm_R_01 DEF-neck DEF-ribs DEF-toe_L DEF-foot_L DEF-shin_L_01 DEF-shin_L_02 DEF-thigh_L_02 DEF-toe_R DEF-foot_R DEF-shin_R_01 DEF-shin_R_02 DEF-thigh_R_02 DEF-spine DEF-thigh_L_01 DEF-thigh_R_01 DEF-hips</Name_array>
          <technique_common>
          ...

The most important being the data in rig_Mesh-skin-joints-array, which to get into really technical details of the COLLADA spec, is a list of the SIDs (not names!) of bones/joints for which inverse bind poses are provided in the model, and which can be used for vertex weighting. Note there are 29 IDs in the above array and there are 29 pose transforms in rig_Mesh-skin-bind_poses. Those IDs are looked up in the scene nodes, ignoring the ORG/MCH bones.

All of our existing models work the same way, though with a different numbers and names of bones. Unfortunately adding to the confusion in this example, the IDs and names are not identical for the bones, the game expects the exact names (not IDs!) in skeletons.xml. This info is external to the rigify tool or Blender, and according to the COLLADA spec. The reason it's this complicated is that you might want to share data between multiple models and animations in the same scene - a bit overkill for us :(

As far as why there are so many extraneous bones, it's perfectly legal COLLADA to have nodes/bones that aren't used in the animation, and in this case Blender dumps all the bones in the scene to the COLLADA document, even though most other apps have no practical use for them, the exporter doesn't know about rigify. The bones do have specific meanings though, for which you need to read the rigify README (in scripts\addons\rigify) ;)

Quote

Rigify next prepends "ORG-" to all of the bones. These are the "original"
bones of the metarig,
and they are used as the glue between rig types, as I
will explain later.

...

In short: with the exception of adding children/constraints to "ORG-"
bones, only mess with things that you yourself create.

It is also generally a good idea (though not strictly required) that the rig
type add constraints to the "ORG-" bones it was generated from so that the
"ORG-" bones move with the animation controls.
For example, if I make a simple arm rig type, the controls that the animator
uses should also move the "ORG-" bones. That way, any other rig-types that are
children of those "ORG-" bones will move along with them. For example, any
fingers on the end of the arm.

Also, any bones that the animator should not directly animate with should have
their names prefixed with "DEF-" or "MCH-". The former if it is a bone that
is intended to deform the mesh, the latter if it is not.

It should be obvious, then, that a bone cannot be both an animation control and
a deforming bone in Rigify. This is on purpose.

I interpret this to mean: when animating in Blender after using rigify, only animate the ORG bones or those you create. This is because the ORG bones will automatically transform the others as appropriate, only in Blender. But they don't directly control the skin/mesh, the DEF bones do that, which is why they are assigned the importance in the COLLADA document.
Ben Brian [ aka historic_bruno ]

Wildfire Games Programmer
Contact me: ben@wildfiregames.com

#93 historic_bruno

historic_bruno

  • WFG Programming Team

  • Primus Pilus
    (1,928 posts)

Posted 01 February 2012 - 11:08 PM

There's something called "baking" the animation, what do you think? http://blenderartist...l=1#post1887716
Ben Brian [ aka historic_bruno ]

Wildfire Games Programmer
Contact me: ben@wildfiregames.com

#94 Gen.Kenobi

Gen.Kenobi

  • 0 A.D. Art Team

  • Centurio
    (703 posts)

Posted 02 February 2012 - 03:21 AM

So I did a little bit of research... http://blenderartist...ature-animation
There isn't too much official documentation... the blender wiki only does have info about baking in the 2.4 version...And it's not very clear. This thread above says something about a script...but I'm unsure...

Would be awesome if the engine could read .bvh ... Does it? Anyways... I never tried baking an animation before, as I said, I'm not an animator by trade... This area is still brand new to me.
Anyways... I exported it to bvh... Dunno if it helps.

Attached File  bvh.zip   61.29K   7 downloads
Daniel Schubert [ aka Gen.Kenobi]

Wildfire Games 3d Artist
Contact me: daniel[at]wildfiregames.com


Vote for 0 A.D. in the 2012 Indie of the Year awards!
Posted Image

Posted Image
Visit Revora Creative Network! : )

#95 Wijitmaker

Wijitmaker

  • 0 A.D. Art Team

  • 0 A.D. Old Timer
    (9,451 posts)

Posted 02 February 2012 - 04:14 AM

Well, I think I'm closer. I need to go to bed, but here is what I got. I now get this from the log:
CSkeletonAnimManager::GetAnimation(art/animation/test/fisherman_paddling.dae): Loaded successfully

But, then immediately afterward I get this:
ERROR: Failed to find file: ""

Odd... I don't know what its asking for.

Here is my actor:
<?xml version="1.0" encoding="utf-8"?>
<actor version="1">
  <castshadow/>
  <group>
    <variant frequency="100" name="Base">
      <animations>
        <animation file="test/fisherman_paddling.dae" name="idle" speed="10"/>
      </animations>
      <mesh>test/fisherman_paddling.dae</mesh>
    </variant>
  </group>
  <material>player_trans.xml</material>
</actor>

Here is my revised skeleton:
<skeleton title="Blender biped" target="biped">
        <identifier>
                <root>rig</root>
        </identifier>
		<bone name="root"><target>root</target>   
          <bone name="DEF-hips"><target>pelvis</target>            
            <bone name="DEF-spine"><target>spine</target>              
              <bone name="DEF-ribs"><target>spine1</target>                
                <bone name="DEF-neck"><target>neck</target>             
                  <bone name="DEF-head"><target>head</target>                    
                  </bone>                  
                </bone>
                <bone name="DEF-shoulder_L"><target>l_clavicle</target>                  
                  <bone name="DEF-upper_arm_L_01"><target>l_upperarm</target>   
                  <bone name="DEF-upper_arm_L_02">			  
                    <bone name="DEF-forearm_L_01"><target>l_forearm</target>
                    <bone name="DEF-forearm_L_02"> 					
                      <bone name="DEF-hand_L"><target>l_hand</target>
                      </bone>
                    </bone>
		    </bone>
                  </bone>
                  </bone>
                </bone>
                <bone name="DEF-shoulder_R"><target>r_clavicle</target>
                  <bone name="DEF-upper_arm_R_01"><target>r_upperarm</target>
                  <bone name="DEF-upper_arm_R_02">
                    <bone name="DEF-forearm_R_01"><target>r_forearm</target>
                    <bone name="DEF-forearm_R_02">
                      <bone name="DEF-hand_R"><target>r_hand</target>
                      </bone>
                    </bone>
		    </bone>
                  </bone>
		  </bone>
                </bone>
              </bone>
            </bone>
            <bone name="DEF-thigh_L_01"><target>l_thigh</target>
            <bone name="DEF-thigh_L_02">  			
              <bone name="DEF-shin_L_01"><target>l_calf</target>
              <bone name="DEF-shin_L_02"> 			  
                <bone name="DEF-foot_L"><target>l_foot</target>                  
                  <bone name="DEF-toe_L"> 
                  </bone>    
                </bone> 
              </bone>  
              </bone>  
            </bone>
            </bone>
            <bone name="DEF-thigh_R_01"><target>r_thigh</target>
            <bone name="DEF-thigh_R_02">            
              <bone name="DEF-shin_R_01"><target>r_calf</target>
              <bone name="DEF-shin_R_02">			  
                <bone name="DEF-foot_R"><target>r_foot</target>                  
                  <bone name="DEF-toe_R"> 
                  </bone>  
                </bone>
              </bone>
              </bone>
            </bone>
            </bone>
          </bone>
        </bone>
</skeleton>

What are the differences? I'm pointing to the sid= attribute instead of the name= attribute on the node. I believe the root is actually "rig" instead of what we had it before (root). I've added the 01 and 02 to the appropriate bones.

Why sid? Because I was previously getting errors like this:

<p class="error">ERROR: art/meshes/test/fisherman_paddling.dae: Vertex influenced by unrecognised bone 'DEF-thigh_R_01'</p>
<p class="error">ERROR: art/meshes/test/fisherman_paddling.dae: Vertex influenced by unrecognised bone 'DEF-thigh_L_01'</p>
<p class="error">ERROR: art/meshes/test/fisherman_paddling.dae: Vertex influenced by unrecognised bone 'DEF-thigh_L_01'</p>
<p class="error">ERROR: art/meshes/test/fisherman_paddling.dae: Vertex influenced by unrecognised bone 'DEF-thigh_L_02'</p>
<p class="error">ERROR: art/meshes/test/fisherman_paddling.dae: Vertex influenced by unrecognised bone 'DEF-thigh_R_01'</p>
<p class="error">ERROR: art/meshes/test/fisherman_paddling.dae: Vertex influenced by unrecognised bone 'DEF-thigh_L_01'</p>
<p class="error">ERROR: art/meshes/test/fisherman_paddling.dae: Vertex influenced by unrecognised bone 'DEF-spine'</p>
<p class="error">ERROR: art/meshes/test/fisherman_paddling.dae: Vertex influenced by unrecognised bone 'DEF-thigh_L_01'</p>
<p class="error">ERROR: art/meshes/test/fisherman_paddling.dae: Vertex influenced by unrecognised bone 'DEF-thigh_L_02'</p>
<p class="error">ERROR: art/meshes/test/fisherman_paddling.dae: Vertex influenced by unrecognised bone 'DEF-hips'</p>
<p class="error">ERROR: art/meshes/test/fisherman_paddling.dae: Vertex influenced by unrecognised bone 'DEF-thigh_L_01'</p>
<p class="error">ERROR: art/meshes/test/fisherman_paddling.dae: Vertex influenced by unrecognised bone 'DEF-spine'</p>
<p class="error">ERROR: art/meshes/test/fisherman_paddling.dae: Vertex influenced by unrecognised bone 'DEF-ribs'</p>
<p class="error">ERROR: art/meshes/test/fisherman_paddling.dae: Vertex influenced by unrecognised bone 'DEF-hips'</p>
<p class="error">ERROR: art/meshes/test/fisherman_paddling.dae: Vertex influenced by unrecognised bone 'DEF-thigh_L_01'</p>
<p class="error">ERROR: art/meshes/test/fisherman_paddling.dae: Vertex influenced by unrecognised bone 'DEF-spine'</p>
<p class="error">ERROR: art/meshes/test/fisherman_paddling.dae: Vertex influenced by unrecognised bone 'DEF-ribs'</p>
<p class="error">ERROR: art/meshes/test/fisherman_paddling.dae: Vertex influenced by unrecognised bone 'DEF-thigh_L_01'</p>
<p class="error">ERROR: art/meshes/test/fisherman_paddling.dae: Vertex influenced by unrecognised bone 'DEF-thigh_L_02'</p>
<p class="error">ERROR: art/meshes/test/fisherman_paddling.dae: Vertex influenced by unrecognised bone 'DEF-thigh_L_01'</p>
<p class="error">ERROR: art/meshes/test/fisherman_paddling.dae: Vertex influenced by unrecognised bone 'DEF-thigh_L_02'</p>
<p class="error">ERROR: art/meshes/test/fisherman_paddling.dae: Vertex influenced by unrecognised bone 'DEF-hips'</p>
<p class="error">ERROR: art/meshes/test/fisherman_paddling.dae: Vertex influenced by unrecognised bone 'DEF-thigh_L_01'</p>
<p class="error">ERROR: art/meshes/test/fisherman_paddling.dae: Vertex influenced by unrecognised bone 'DEF-spine'</p>
<p class="error">ERROR: art/meshes/test/fisherman_paddling.dae: Vertex influenced by unrecognised bone 'DEF-ribs'</p>
<p class="error">ERROR: art/meshes/test/fisherman_paddling.dae: Vertex influenced by unrecognised bone 'DEF-spine'</p>
<p class="error">ERROR: art/meshes/test/fisherman_paddling.dae: Vertex influenced by unrecognised bone 'DEF-hips'</p>
etc... 724 in total (I think the number of vertex' in the model)

Note the _ instead of the . separating the R/L and 01/02.

Hopefully this stimulates some thoughts, I think we are almost there :)
Jason Bishop [ aka Wijitmaker ]

Wildfire Games CFO, retired artist
Contact me: jason@wildfiregames.com

Support Wildfire Games!!!

#96 historic_bruno

historic_bruno

  • WFG Programming Team

  • Primus Pilus
    (1,928 posts)

Posted 02 February 2012 - 04:22 AM

Edit: ignore all that, the test model was cached and didn't reload :blink:

View PostGen.Kenobi, on 02 February 2012 - 03:21 AM, said:

This thread above says something about a script...but I'm unsure...
The script would probably clean up the unused bones, rename them, and apply whatever animation magic goes on in Blender, resulting in only transformations of the bind pose, which is what we need.

Quote

Would be awesome if the engine could read .bvh ... Does it?
No, it currently only reads COLLADA. If someone was able to write an importer for BVH, we might use it, I don't know what (dis)advantages it has :)
Ben Brian [ aka historic_bruno ]

Wildfire Games Programmer
Contact me: ben@wildfiregames.com

#97 Ykkrosh

Ykkrosh

  • WFG Programming Team

  • Primus Pilus
    (4,869 posts)

Posted 02 February 2012 - 11:22 AM

View PostWijitmaker, on 02 February 2012 - 04:14 AM, said:

ERROR: Failed to find file: ""

Odd... I don't know what its asking for.
Maybe it needs a texture?

View Posthistoric_bruno, on 02 February 2012 - 04:22 AM, said:

Edit: ignore all that, the test model was cached and didn't reload :blink:
One danger is that the PMD/PAE cache isn't keyed on the contents of skeletons.xml, i.e. if you edit skeletons.xml but not the mesh/animation then it won't notice the change. (You have to delete %appdata%\0ad\cache\ or ~/.cache/0ad to empty the cache, or modify the mesh/animation so it won't be found in the cache). (That bug used to not matter since nobody edited skeletons.xml much, but now it seems everyone is at it :()
Philip Taylor [aka Ykkrosh]

Wildfire Games Programmer
Contact me: philip@wildfiregames.com

#98 Gen.Kenobi

Gen.Kenobi

  • 0 A.D. Art Team

  • Centurio
    (703 posts)

Posted 02 February 2012 - 01:49 PM

That's great news!
Jason, could you share the edited .dae file?
So I can also try it? :)
Daniel Schubert [ aka Gen.Kenobi]

Wildfire Games 3d Artist
Contact me: daniel[at]wildfiregames.com


Vote for 0 A.D. in the 2012 Indie of the Year awards!
Posted Image

Posted Image
Visit Revora Creative Network! : )

#99 Wijitmaker

Wijitmaker

  • 0 A.D. Art Team

  • 0 A.D. Old Timer
    (9,451 posts)

Posted 02 February 2012 - 02:24 PM

Quote

Maybe it needs a texture?
A good call! Daniel try adding a texture callout to the actor I posted here (be sure the mesh and animation file are in the appropriate location - I put mine in the test folder of both mesh and animation).

Quote

Jason, could you share the edited .dae file?
I didn't alter the .dae file, so you can use the fisherman_paddling.dae you shared earlier.
Jason Bishop [ aka Wijitmaker ]

Wildfire Games CFO, retired artist
Contact me: jason@wildfiregames.com

Support Wildfire Games!!!

#100 Gen.Kenobi

Gen.Kenobi

  • 0 A.D. Art Team

  • Centurio
    (703 posts)

Posted 02 February 2012 - 03:19 PM

LOL. I got a program error when trying to load the fisherman in the map editor...
Atlas crashed.


Assertion failed: "variant.GetNodeName() == el_variant"
Location: ObjectBase.cpp:133 (CObjectBase::Load)

Call stack:

(error while dumping stack: No stack frames found)
errno = 0 (No error reported here)
OS error = 0 (no error code was set)

Just did what you said, and added a texture:

<?xml version="1.0" encoding="utf-8"?>
<actor version="1">
  <castshadow/>
  <group>
    <variant frequency="100" name="Base">
      <animations>
        <animation file="fisherman_paddling.dae" name="idle" speed="10"/>
      </animations>
      <mesh>skeletal/fisherman_paddling.dae</mesh>
    </variant>
	  <group>
    <variant frequency="1" name="Clothes-1">
      <texture>skeletal/chin_iar_b.png</texture>
  	</variant>
  </group>
  </group>
  <material>player_trans.xml</material>
</actor>

LOL. And yeah, I have added your new skeleton code into the skeleton.xml file.
Daniel Schubert [ aka Gen.Kenobi]

Wildfire Games 3d Artist
Contact me: daniel[at]wildfiregames.com


Vote for 0 A.D. in the 2012 Indie of the Year awards!
Posted Image

Posted Image
Visit Revora Creative Network! : )



Reply to this topic



  


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users