Jump to content

Wijitmaker

WFG Retired
  • Posts

    9.673
  • Joined

  • Last visited

  • Days Won

    10

Everything posted by Wijitmaker

  1. Here you go, I've attached, just unzip into public/art and maintain folder structure.EDIT: On a side note, this blender animation will only work with the blender exported mesh. As I figured would happen, when you try to load this animation with one of our existing skeletal animations it turns the mesh into something that looks like a moving mass of crinkled up paper. This is because the rigify structure (bone lengths, coordinate location of the joints) doesn't match the 3ds Max and XSI structures we have been using for the game. So... the choices I see are 1) put forth just a little bit more effort to make blender's model conform the existing structures to make them compatible 2) use 2 separate sets of animations and models and don't worry about cross compatibility 3) toss 50+ old biped animations and redo them all using blender. art.zip
  2. It works! Nice job Now we just need to get prop points working and you need to work on those wrists! Way to go
  3. Daniel, while you see if you can make any headway with Ben's suggestion... I'll see if I can get a custom rig set up in blender by exporting through motion builder. It may be a long shot, but worth a try. Otherwise, I'd recommend creating a custom rig in Blender and not using rigify preset tools.
  4. Well, I updated and got the latest .exe after Ben fixed the divide by zero error. This is what you see now: <p class="error">ERROR: art/animation/test/fisherman_paddling.dae: Assertion not satisfied (line 87): failed requirement "animation must have frames"</p> <p class="error">ERROR: CSkeletonAnimManager::GetAnimation(art/animation/test/fisherman_paddling.dae): Failed loading, marked file as bad</p> Sooo, your animation is missing frames. Not sure why because I can see them in your blender file. Perhaps it is how the .dae was exported? On a positive note - I do see the mesh in the game engine.
  5. I cleared the cache and I get this in the main log: <p>art/meshes/test/fisherman_paddling.dae: Starting conversion</p> <p>art/meshes/test/fisherman_paddling.dae: Running FixBrokenXML</p> <p>art/meshes/test/fisherman_paddling.dae: Authoring tool: Blender 2.61.0 r42615</p> <p>art/meshes/test/fisherman_paddling.dae: FCollada 175: COLLADA document loaded successfully.</p> <p>art/meshes/test/fisherman_paddling.dae: Found convertible object 'Mesh'</p> <p>art/meshes/test/fisherman_paddling.dae: Converting 'rig'</p> <p>art/meshes/test/fisherman_paddling.dae: Found skinned geometry</p> <p>art/animation/test/fisherman_paddling.dae: Starting conversion</p> <p>art/animation/test/fisherman_paddling.dae: Running FixBrokenXML</p> <p>art/animation/test/fisherman_paddling.dae: Authoring tool: Blender 2.61.0 r42615</p> <p>art/animation/test/fisherman_paddling.dae: FCollada 175: COLLADA document loaded successfully.</p> <p>art/animation/test/fisherman_paddling.dae: Found convertible object 'Mesh'</p> <p>art/animation/test/fisherman_paddling.dae: Converting 'rig'</p> <p>CSkeletonAnimManager::GetAnimation(art/animation/test/fisherman_paddling.dae): Loaded successfully</p> Then I get this crash from the program error. I'm going to Atlas, switching to actor viewer, and selecting this test actor. Much to our regret we must report the program has encountered an error. Please let us know at http://trac.wildfiregames.com/ and attach the crashlog.txt and crashlog.dmp files. Details: unhandled exception (Integer divide by zero) Location: unknown:0 (?) Call stack: (error while dumping stack: No stack frames found) errno = 33 (?) OS error = 2 (The system cannot find the file specified.) I guess I need a more descriptive error in order to proceed. I might try tinkering with a few things in the mean time. art.zip
  6. Hmmm... I'll probably have to check this out when I get off work. Your only placing the fisherman actor right? Not the fisherman on the boat? If you removed the skeleton stuff you had in there yesterday and replaced it with my skeleton I posted last night... it should work because it worked for me. Unless I was getting some advantageous caching error.
  7. What does it say in your log files at %appdata%\0ad\logs Also you have: <animation file="fisherman_paddling.dae" name="idle" speed="10"/> Is the animation file really at the root of your animation folder, or is it in a subfolder like infantry or support or test?
  8. 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). I didn't alter the .dae file, so you can use the fisherman_paddling.dae you shared earlier.
  9. 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
  10. That does sound easier, there is a lot of clutter in this rig 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 )
  11. 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.
  12. 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).
  13. 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?
  14. I wondered, so fisherman_paddling.dae is the same as fisherman.dae?
  15. This helps. Could you post the fisherman.dae file? Lets look at line 393. Also please share your current skeleton file your using.
  16. Soo... the engine log doesn't give you any errors? Looking at this code again: http://www.wildfiregames.com/forum/index.php?showtopic=15552&view=findpost&p=233174 DEF- doesn't seem to apply to root. Try taking it off root. Also note that the structure I have above was based on the ORG- heirarchy. I'm not certain that the DEF- is the same (should be). You also shouldn't have to create your own seperate standard biped - but I suppose it was worth a shot
  17. Daniel, try Ben's suggestion. Example: <bone name="shoulder.L"><target>l_clavicle</target> Add "DEF-" like this: <bone name="DEF-shoulder.L"><target>l_clavicle</target> Or try "ORG-" or "MCH-" It is odd, because the other skeleton rigs from blender (BlenderChicken as an example) in the skeleton.xml file don't call these out. This last weekend I tried getting a .bvh out of Max and into Blender - no luck. I was trying to export a .fbx from Max into Motion builder - then exporting a .bvh from MB to Blender. Something isn't working right. I'll give it a shot next weekend again. Also, it would be helpful to describe any errors the engine throws out at you. Hopefully the engine error would be descriptive enough to tell us what is breaking. Michael - I would have no objections.
  18. Try this adding this to the skeleton.xml file and running it: <skeleton title="Blender biped" target="biped"> <identifier> <root>root</root> </identifier> <bone name="root"><target>root</target> <bone name="hips"><target>pelvis</target> <bone name="spine"><target>spine</target> <bone name="ribs"><target>spine1</target> <bone name="neck"><target>neck</target> <bone name="head"><target>head</target> </bone> </bone> <bone name="shoulder.L"><target>l_clavicle</target> <bone name="upper_arm.L"><target>l_upperarm</target> <bone name="forearm.L"><target>l_forearm</target> <bone name="hand.L"><target>l_hand</target> </bone> </bone> </bone> </bone> <bone name="shoulder.R"><target>r_clavicle</target> <bone name="upper_arm.R"><target>r_upperarm</target> <bone name="forearm.R"><target>r_forearm</target> <bone name="hand.R"><target>r_hand</target> </bone> </bone> </bone> </bone> </bone> </bone> <bone name="thigh.L"><target>l_thigh</target> <bone name="shin.L"><target>l_calf</target> <bone name="foot.L"><target>l_foot</target> <bone name="toe.L"> </bone> </bone> </bone> </bone> <bone name="thigh.R"><target>r_thigh</target> <bone name="shin.R"><target>r_calf</target> <bone name="foot.R"><target>r_foot</target> <bone name="toe.R"> </bone> </bone> </bone> </bone> </bone> </bone> </skeleton>
  19. Ok, I parsed it and took out all the crap. I think it should look something like this. Now it just needs to be tagged and attributed correctly in the skeleton.xml file... then tested. Daniel, can you try that? <node name="root"> <node org="hips"> <node org="spine"> <node org="ribs"> <node org="neck"> <node org="head"> </node> </node> <node org="shoulder.L"> <node org="upper_arm.L"> <node org="forearm.L"> <node org="hand.L"> </node> </node> </node> </node> <node org="shoulder.R"> <node org="upper_arm.R"> <node org="forearm.R"> <node org="hand.R"> </node> </node> </node> </node> </node> </node> <node org="thigh.L"> <node org="shin.L"> <node org="foot.L"> <node org="toe.L"> </node> </node> </node> </node> <node org="thigh.R"> <node org="shin.R"> <node org="foot.R"> <node org="toe.R"> </node> </node> </node> </node> </node> </node> A simple text editor with a find/replace tool does wonders.
  20. I can't get my dreamweaver to load... that is the tool I would use to go through and delete (find/replace) out all the attribute / element junk that isn't needed. Ben your right on Daniel, please bear with me and my computer issues.
  21. I took a look at the .dae file and I think this is your heirarchy. I haven't broken it down, but I think you can parse it out to structure it to fit the format of the skeleton.xml file:
  22. No worries. My point is not just to get animations from blender into the game, but to make them compatible with the existing human biped model and animations so that everything is shared and can be used by any person with a variety of software (Max, Maya, Blender, XSI, etc...). Getting any old animation into the game from blender shouldn't be hard Pureon has done that many times - it is getting it to be cross compatible which is trickier. It would be foolish to start creating a whole new batch of unique humanoid animations that are using a blender specific model. Unless this team thinks it has the resources to replace all the existing animations an models to make it common.
  23. Ok, perhaps I can get the animation out as a .bvh file. This is generally a motion capture file type that is generated by some sort of motion capture device. Max takes that data and turns it into a .bip file, and that is what Character Studio uses as it's animation format. FYI there is a lot of .bvh files in our repository for you blender users to play with: http://trac.wildfiregames.com/browser/art/trunk/art/animation/resources/bvh I'll see if I can get an export of a .bvh from max to blender with some sort of script (or tools, I think there must be something out there on the web for this).
  24. I thought maybe the cubes would show you where the bone's joints should be located, and their size. I'll check out the .dae when I get home from work. Can a blender user answer the .FBX question? That could be a great format to transfer animation between Max and Blender.
  25. For the unused animations... is it possible some of the files are duplicated and used in another folder? Many of them look like they are unused because we are waiting for return of the run/stamina feature. Animations are a precious commodity so I find it odd that any are not in use.
×
×
  • Create New...