Jump to content

Wijitmaker

WFG Retired
  • Posts

    9.663
  • Joined

  • Last visited

  • Days Won

    9

Everything posted by Wijitmaker

  1. It is hard for me to give you instructions because I don't know enough about blender to see what your seeing. I guess I could install it and try my theories myself, but I'm a total noob with the software. It would be worth a start though perhaps. Could you point me to a download of the same verion of the software you are using? Also, here this might be worth take a look at. This is the basic structure of the dude: http://trac.wildfiregames.com/wiki/ArtDesignDocument#Tools The portion of the file you would be looking at is: 1 <skeletons> 2 <standard_skeleton title="Standard biped" id="biped"> 3 <bone name="root"> 4 <bone name="pelvis"> 5 <bone name="spine"> 6 <bone name="spine1"> 7 <bone name="neck"> 8 <bone name="head"> 9 <bone name="DUMMY_headnub"/> <!-- kept for binary compatibility with PSA files --> 10 <bone name="l_clavicle"> 11 <bone name="l_upperarm"> 12 <bone name="l_forearm"> 13 <bone name="l_hand"> 14 <bone name="DUMMY_l_finger0"> 15 <bone name="DUMMY_l_finger0nub"/> 16 </bone> 17 </bone> 18 </bone> 19 </bone> 20 </bone> 21 <bone name="r_clavicle"> 22 <bone name="r_upperarm"> 23 <bone name="r_forearm"> 24 <bone name="r_hand"> 25 <bone name="DUMMY_r_finger0"> 26 <bone name="DUMMY_r_finger0nub"/> 27 </bone> 28 </bone> 29 </bone> 30 </bone> 31 </bone> 32 </bone> 33 </bone> 34 </bone> 35 <bone name="l_thigh"> 36 <bone name="l_calf"> 37 <bone name="l_foot"> 38 <bone name="DUMMY_l_toe0"> 39 <bone name="DUMMY_l_toe0nub"/> 40 </bone> 41 </bone> 42 </bone> 43 </bone> 44 <bone name="r_thigh"> 45 <bone name="r_calf"> 46 <bone name="r_foot"> 47 <bone name="DUMMY_r_toe0"> 48 <bone name="DUMMY_r_toe0nub"/> 49 </bone> 50 </bone> 51 </bone> 52 </bone> 53 </bone> 54 </bone> 55 </bone> 56 </standard_skeleton> 57 58 <!-- 59 60 The <skeleton>s must specify all the bones that may influence vertexes of 61 skinned meshes. The <bone name> is the name of the bone in the relevant 62 modelling/animation program. The <identifier> name is used to determine 63 whether this <skeleton> applies to the data found in a given model file. 64 65 <target> must be the name of a bone in the standard_skeleton identified by 66 <skeleton target>. 67 68 The hierarchy of bones is mostly irrelevant (though it makes sense to match 69 the structure used by the modelling program) - the only effect is that 70 the default <target> (i.e. when none is specified for a given bone) is 71 inherited from the parent node in this hierarchy. 72 73 --> 74 75 <skeleton title="3ds Max biped" target="biped"> 76 <identifier> 77 <root>Bip01</root> 78 </identifier> 79 80 <bone name="Bip01"> 81 <target>root</target> 82 83 <bone name="Bip01_Pelvis"> 84 <target>pelvis</target> 85 86 <bone name="Bip01_Spine"> 87 <target>spine</target> 88 89 <bone name="Bip01_Spine1"> 90 <target>spine1</target> 91 92 <bone name="Bip01_Neck"> 93 <target>neck</target> 94 95 <bone name="Bip01_Head"> 96 <target>head</target> 97 98 <bone name="Bip01_HeadNub"/> 99 100 <bone name="Bip01_L_Clavicle"> 101 <target>l_clavicle</target> 102 103 <bone name="Bip01_L_UpperArm"> 104 <target>l_upperarm</target> 105 106 <bone name="Bip01_L_Forearm"> 107 <target>l_forearm</target> 108 109 <bone name="Bip01_L_Hand"> 110 <target>l_hand</target> 111 112 <bone name="Bip01_L_Finger0"> 113 114 <bone name="Bip01_L_Finger0Nub"/> 115 116 </bone> 117 </bone> 118 </bone> 119 </bone> 120 </bone> 121 122 <bone name="Bip01_R_Clavicle"> 123 <target>r_clavicle</target> 124 125 <bone name="Bip01_R_UpperArm"> 126 <target>r_upperarm</target> 127 128 <bone name="Bip01_R_Forearm"> 129 <target>r_forearm</target> 130 131 <bone name="Bip01_R_Hand"> 132 <target>r_hand</target> 133 134 <bone name="Bip01_R_Finger0"> 135 136 <bone name="Bip01_R_Finger0Nub"/> 137 138 </bone> 139 </bone> 140 </bone> 141 </bone> 142 </bone> 143 </bone> 144 </bone> 145 </bone> 146 147 <bone name="Bip01_L_Thigh"> 148 <target>l_thigh</target> 149 150 <bone name="Bip01_L_Calf"> 151 <target>l_calf</target> 152 153 <bone name="Bip01_L_Foot"> 154 <target>l_foot</target> 155 156 <bone name="Bip01_L_Toe0"> 157 158 <bone name="Bip01_L_Toe0Nub"/> 159 160 </bone> 161 </bone> 162 </bone> 163 </bone> 164 165 <bone name="Bip01_R_Thigh"> 166 <target>r_thigh</target> 167 168 <bone name="Bip01_R_Calf"> 169 <target>r_calf</target> 170 171 <bone name="Bip01_R_Foot"> 172 <target>r_foot</target> 173 174 <bone name="Bip01_R_Toe0"> 175 176 <bone name="Bip01_R_Toe0Nub"/> 177 178 </bone> 179 </bone> 180 </bone> 181 </bone> 182 </bone> 183 </bone> 184 </bone> 185 </skeleton> 186 187 <skeleton title="XSI biped" target="biped"> 188 <identifier> 189 <root>Biped_GlobalSRT</root> 190 </identifier> 191 192 <bone name="Biped_GlobalSRT"> 193 <target>root</target> 194 195 <bone name="Biped_Spine01"> 196 <target>pelvis</target> 197 198 <bone name="Biped_Spine02"> 199 <target>spine</target> 200 201 <bone name="Biped_Spine03"> 202 <target>spine1</target> 203 </bone> 204 </bone> 205 </bone> 206 <bone name="Biped_Lshoulder"> 207 <target>l_clavicle</target> 208 </bone> 209 <bone name="Biped_Lbicept"> 210 <target>l_upperarm</target> 211 212 <bone name="Biped_Lforearm"> 213 <target>l_forearm</target> 214 </bone> 215 </bone> 216 <bone name="Biped_Rshoulder"> 217 <target>r_clavicle</target> 218 </bone> 219 <bone name="Biped_Rbicept"> 220 <target>r_upperarm</target> 221 222 <bone name="Biped_Rforearm"> 223 <target>r_forearm</target> 224 </bone> 225 </bone> 226 <bone name="Biped_neck"> 227 <target>neck</target> 228 229 <bone name="Biped_head"> 230 <target>head</target> 231 </bone> 232 </bone> 233 <bone name="Biped_Lthigh"> 234 <target>l_thigh</target> 235 236 <bone name="Biped_Lshin"> 237 <target>l_calf</target> 238 </bone> 239 </bone> 240 <bone name="Biped_Rthigh"> 241 <target>r_thigh</target> 242 243 <bone name="Biped_Rshin"> 244 <target>r_calf</target> 245 </bone> 246 </bone> 247 <bone name="Biped_Lhand"> 248 <target>l_hand</target> 249 <bone name="Biped_Lfingers"/> 250 </bone> 251 <bone name="Biped_Lfoot"> 252 <target>l_foot</target> 253 <bone name="Biped_Ltoe"/> 254 </bone> 255 <bone name="Biped_Rhand"> 256 <target>r_hand</target> 257 <bone name="Biped_Rfingers"/> 258 </bone> 259 <bone name="Biped_Rfoot"> 260 <target>r_foot</target> 261 <bone name="Biped_Rtoe"/> 262 </bone> 263 </bone> 264 </skeleton> So... if you notice in the code above, there are 3 sections (Philip please correct me if I'm wrong here). Rows 1-56 is defining the standard biped. That is a generic biped that the game engine uses. Rows 75-185 is the 3ds Max version of the biped. It is saying for example... in row 100 & 101 that 3dsmax bone named: Bip01_L_Clavicle equals l_clavicle on the generic biped (see row 10). Rows 187-264 is the XSI version of the biped. It is saying for example... in rows 206 & 207 that XSI bone named: Biped_Lshoulder equals l_clavicle on the generic biped (see row 10). Sooooo, what I foresee for Blender is a similar variant that is like the 3ds max and XSI versions that will need to be created. It would have the same number type, size, constraints, etc... of bones (this can hopefully be achieved by importing an existing .dae file) - however you can rename the bones as Blender requires (maybe it doesn't care?). Once the changes are made you need to make a bit of code to tell the game engine what the new bone names equals on the generic biped. Hopefully that is somewhat sensible... let me know if you need some clarification. In the past we had requested programming to support vertex animations. I'm not sure what the status of that is or ever will be, but that would accomplish the same thing. In the short term, for an immediate solution, we have the ability to create as simple one bone animation/rig that would effectively do what you want to do. It just isn't something as easy for the artist as exporting an unboned vertex based animation.
  2. There you have it! I haven't really had a need in the past to do such an animation, so I don't think you'll find baton twirling to be frequent motion Yes, there are numerous motion capture files in the repository. I forget the format, but I believe some of them could work with blender (though most were intended for max and it's Character Studio software). These aren't perfect, but they provide some great fluid animations. I used many of them with slight alterations (to get them to repeat and loop properly, shorten to one action per animation, etc...).
  3. I think it may be possible to animate the prop point nodes. I've never tried it. Only one way to find out though Nice work with your first ever animation! This shouldn't require any coding, what do you think you need to code?
  4. Agreed. If you could make a blender version of the default humanoid then any animations make in blender would be able to be applied to the existing .dae models and vice versa - any existing animations of humanoids could be applied to new blender humanoid models.
  5. I think it shouldn't be to difficult to import a .dae into blender. I know that there is some issues getting the .dae animations into blender... but does that mean that the file doesn't open at all? Or, can it at least load up even if none of the animations work? These things I don't know. If you import a .dae head from the game, you should be able to snap him to the position of blender's head bone. We seperated the head from the body because the body uses the alpha channel in it's map for player color, while the head uses the alpha channel in it's map for random object (hair) color. The game engine can only use the alpha for one thing at a time. Anyway... Once you import a head, snap and attach it to the head bone. When you animate the head bone the imported head should follow. I'm using 3ds max terminology, but I'm sure Blender has something similar. About the boat, it isn't as difficult as you think to sync them. Just ensure that the number of animation frames in both the boat animation and the fisherman animation are the same. Also ensure that the animation speed defined in the actor file are the same. If those 2 factors are identical they should be sync'd. You should be able to work with them both in the same scene in blender. The only trick is to select what you want to export when it is time to export to .dae and then "export selected" to separate them from each other into different .dae files. At least that is how I would do it in max. Your blender rig looks pretty good, but something is going on with the hands there... perhaps the hand bones are rolled over or twisted and it is distorting the wrists? When your creating a rig, note when you import a .dae file from the game. It should come into blender with some dummy objects that are being used as nodes to define prop points. These nodes are linked to the skeleton, but are not exported with the mesh/skin so they aren't rendered in the game.
  6. I'd be happy to help, but I fear my advise would be outdated and it is 3ds max specific, not blender. The blender guys could help you I think. All the old 3d max animation, rigs, and original files are in the SVN art repository. for your questions... if you create a sword, you put it's origin at the handle of the sword. When you define what prop point the sword is attached to in the actor.xml file - the game engine will do that for you. You don't animate the sword, it simply moves with the actor's hand. for your boat and fisherman... I would create two seperate rigs. One that animates the boat. The boat would include a prop point that would be the bottom of the foot location of the fisherman. The fisherman and his movements would be his own animation that shares the same skeleton as all the rest of the humanoid characters in the game. This would allow you to perhaps use that fishing animation by a guy who isn't on a ship, and maybe on shore. There isn't anything super fancy about the skeletons.xml file. I think one of it's main purposes is to allow cross compatability of .dae files and different software packages and their unique rigs. For example, a standard named rig out of XSI software can be common with a rig out of 3ds max (biped). The heierachical bone structure between animals could be shared by the skeletons as well. For example, a goat and a deer could have the same skeleton because they would likely have the same number of bones and joints. Elephants and camels would be different because they have unique bones for things like an extra long neck or a trunk. Boat rowing skeletons could be shared across all boats. Siege units, and chariots could each be common... etc. Alas I fear I'm not explaining myself well... let me know if I can provide more guidance.
  7. Great work! Keep it up! mreiland = Michael Reiland Former Programming Leads: Raj = Raj Sharma H20 = Daniel Wilhelm Dak Lozar = Dave Loeser (tragically passed away August 2004) I sent you a PM with some old old information. Though they contributed in the early stages of the game and their contributions may have now been replaced... 0 A.D. would not be what it is today without their contributions. Edit: doh - Philip beat me
  8. While your at it fix the logo at the top of the forums too... GAMES is the wrong font http://upload.wikimedia.org/wikipedia/en/e/e2/Wildfire_Games_Logo.svg
  9. I think that would be a fantastic addition. These were features we were planning to include years ago: http://trac.wildfiregames.com/wiki/XML.Entity.Actions.Attack http://trac.wildfiregames.com/wiki/XML.Entity.Actions.Move#Run Trample was intended to be a "damage" aura that was going to be coupled with the stamina (run capability) of the units. Accuracy was to be a function of unit class, rank, distance, formation, etc. Philip has done some pondering on this in the past: http://www.wildfiregames.com/forum/index.php?showtopic=12669&view=findpost&p=204807 Many of these features were implemented in the pre-simulation rewrite in 2009. After the re-write I suspect they haven't been given a priority to be re-implemented. Another advanced attack features to consider are elevation bonus to the unit that takes the higher ground, also the direction of attack. Face to face combat is best case vs. an attack from behind which would cause considerable more damage.
  10. These are two interesting articles: http://wildfiregames.com/0ad/page.php?p=1587 http://wildfiregames.com/0ad/page.php?p=1594 Follow that up with this: http://www.dailymail.co.uk/sciencetech/article-1332636/DNA-tests-Chinese-villagers-green-eyes-descendants-lost-Roman-legion.html
  11. Good discussion, sorry if this has been brought up... What if the formation does not reach it's target, if it is confronted by an attack or comes to a unpassable object (wall/water/forrest), will it stay in column, or assume the designated formation?
  12. Great, glad you like them. Re-reading this topic I now realize there were two separate people making the request. Ganon, if you are out there shoot me an email and I can send them to you too.
  13. Shoot me an email, I think I can dig it up for you and reply with an attachment.
  14. If you have any specific questions, I'd be happy to answer them. WFG wasn't directly affiliated with SCNPunk, WFS was focused on modding - not scenario design. However, they "sponsored" us which allowed us to get website and forum hosting through Heaven Games. We (Tsunami, Woad Creations, etc..) were a part of the SCNPunk Network. Reverie Studios (initially lead by Micah H.) and WFS didn't really have a direct connection other than we launched into game development around the same time and had roots in AoKH. If I recall correctly Konstantin (EX-T from SCNPunk) didn't join Reverie until a few years later. I think there was a little friendly competition in the early days that encouraged both groups to make some great progress.
  15. Just payed the yearly $25 IPB renewal fee: Here is our balance as of today: $3,613.15 USD
  16. I would suggest Westood's RTS capture model. Have a GUI command to "capture" on units that are given that capability. A 3 click process: select your unit you want to capture, select the capture button from the UI, then select the building you want to capture. This starts the processes of "capturing". During which the building starts flashing/pulsing (you can do whatever you want - this is what Command and Conquer games did. You could have an audio sound with it, you could have the pulse speed up the closer it got to completion of the capture... etc.) notifying both players that a building is trying to be captured/stolen. The duration of the capture is a function of the health points (and possibly the number of units preforming a 'capture action' - though, I seem to recall only one being able to preform the command at a time). So, weaker buildings are much more vulnerable it is to being captured. Capturing can only be possible if there are no units garrisoned inside, and no enemy units that have this structure/entity in their LOS. So, if you want to take a building, kill all the units in the vicinity. A decision needs to be made if you capture a Roman barracks as a Persian, are you able to train roman soldiers? I would suggest no... Or as Michael mentioned, do something with a tech choice. If you as a player hear that someone is trying to steal your building, you need to get a unit to that building ASAP - to eliminate the capturer. Similar logic can be used for female citizens, loose domestic animals, special structures in a "capture the flag" objective game, and probably others.
  17. Wow, that is an awesome feature Philip. Oh how I would have loved to have such a feature 15 years ago back in the modem days. Who knows... I may have enjoyed playing on the internet in multiplayer games. Keep up the good work.
  18. If I recall correctly the reason was because the "box" using the skybox textures (in the standard default viewing angle) was causing the edges of the map to inherit the colors of the skybox. So what you ended up with was various shades of blue around the edges of the map, not black. Philip modified the rendering engine to only show the skybox to the be reflected through the water textures. It was an easy "fix". I believe the correct fix would be to modify all of the skybox textures so that they were black from the horizon (prefect halfway point of the texture) down, and re-implement the feature.
  19. Nice, good pic! Where did you find it? Do they have more?
  20. Yeah I noticed that. I guess what I was asking was... can you do rectangles and ovals?
  21. Looks very nice You have put a lot of thought into this. What would you suggest for an approach to non-round/square entities, such as chariots, elephants, and boats? Yes, the plan (as far as I know) is to have the ground deform when constructing most "structures" in the game. This would basically be taking the Z height of the vertexes in the grid that are under the structure's envelop and averaging them.
  22. If you can export .dae files from Maya (and I'm pretty sure you can), you most certainly could use Maya. Setting up a bone/skeleton structure in Maya and replicating it in the skeleton.xml file is certainly doable. I would recommend some simple rigs to test an export and animation before you invest to much time, but I'm pretty sure any bugs could be worked out.
  23. Hey Malte, glad to hear things are going well with you. It's always neat to hear about current stories of past members. Perhaps 0 A.D. made a small contribution in your education and career development. That was always one of my main intents Can you tell us what your doing at Google?
  24. To further automate you could also waypoint the citizens to automatically rally at a specific building. If you want to focus in the early part of the game on food, move them to the farm center. If you need more lumber, move it to the mill. If you are ready to create some military, move it to the barracks. If you aren't sure yet what you want, just move it to a patch of ground near the town center. A commoner is good, I like that. In the game you wouldn't have to identify them as a commoner, citizen or a slave, you could just call them a roman, carthaginian, etc. Few more things to consider. Would advanced (in your model - units that were trained), elite (units that gain greater stats through experience) soldiers still have an economic purpose? Right now they do, just not as efficient as a basic citizen soldier (freshly created unit). I believe they should, as a fall back option. Or could a unit have multiple training - both military and economic? Would a generic commoner have any economic or military capability without any training? If the training wasn't done at a structure, and instead done by clicking on a single unit then doing the "training/upgrade" specialization from there - it would be a similar idea to Westwood Command and Conquer RTS games and later the same studio that EA bought and made Battle for Middle Earth. Basically your applying a tech through means of garrisoning a unit in a structure for a period of time.
×
×
  • Create New...