tekken57 Posted February 3, 2017 Posted February 3, 2017 So I was looking into the animations of the pc models again this week and managed to finally figure out how they work. I managed to manually inject some animations into my Kurt Angle mod as evidenced here: The animations work completely different to the previous gen games. If you open a model in X-Rey and scroll to the end of the of grid, you will see that some models have 111 vertex headers. I wasn't able to figure out what data was stored in this section of the model in previous years but made a breakthrough this week. To put it simply, each of the 111 vertex headers contains a mesh with a different facial expression i.e happy, sad, smiling, etc. The reason why the model was getting corrupted with facial animations enabled previously is that the model was trying to revert back to the previous shape when making an expression. What I've done is created a few facial expressions (3 expressions) in 3dsmax using a technique called blend shapes (blender calls this shape keys), and injected these using a hex editor into the model. The result is what you see in the video. You can get more information about blend shapes and shape keys here, if you want to practice this technique: https://cgi.tutsplus.com/tutorials/create-a-facial-animation-setup-in-blender-part-1--cg-32251 or As you can imagine this is a very time consuming process as there are 111 different expressions. What I've done is only injected a few of the main expressions into the model, however in the end it will be up to you to determine how many expressions you want to inject. In my opinion you can get away with about 20 expressions. These are the expressions I've created over the past week which I have yet to inject into the model: I'll post another in game video when I'm done injecting these, it will be a few days as it takes a lot of time to inject. At present very few people will be able to get the animations working manually as the process is incredibly complex and time consuming. It's taken me the entire week just to get Angle working with 3 animations. In order to simplify the process, I can code functions into X-Rey which will automate the process. I will need to code the following functions: 1. Read all 111 animation meshes from the model and display a grid which can preview each mesh. 2. Injection functions for each of the 111 meshes 3. Extraction functions for the 111 meshes 4. Rewrite the main injection function for objects to accommodate the additional meshes 5. New functions to disable animations only for specific objects i.e the eyelids, tongue and eye reflection objects also have 111 meshes. I'm sure like me, not many people are going to want to create multiple meshes for these as the animations look fine without them moving. 6. Rewrite the main export function to cater for the additional animation data. 7. Functions to read the animation meshes and display these in the viewport As you can see this is a significant amount of work to be undertaken as I'm basically rewriting all the functionality in X-Rey as well as adding new complex code. This will probably take me about 6 weeks to code in total, excluding the time I'll have to put into adding support for the 2k17 PC save file in X-Packer 2017. In the four years that I've coded X-Rey, I haven't charged for single update, however I will have to charge for this update as this is a significant amount of work. In the interest of fairness I will not charge anyone who has donated towards X-Rey after the release date of 2k17 (11 October 2016) or those who have contributed for multiple licenses of X-Rey. So what do you guys think? Are facial animations something you want in pc models, considering that you will have to spend additional time creating meshes with expressions? Should I begin coding the functionality? 8 Quote
4 Life Posted February 3, 2017 Posted February 3, 2017 I was discussing some of this stuff with @AlcLegacyyesterday and as he pointed out, a lot modders are perfectionists and would relish the opportunity to make their mods just as functional as the in-game models. I too think that animations on some guys are essential as they had very animated faces IRL - so for example, making a mod of a guy like Chris Benoit or Dean Malenko you could get away with no animations as they were pretty expressionless a lot of the time, whereas someone like, say Scotty 2 Hotty who was very expressionate, it seems weird to have him poker-faced all the time. If the program was released with a guide along the lines of "Make a facial expression that looks like this, and inject it into this mesh" for all 20-odd expressions then I imagine many of us would be on board and I'd be more than happy to re-donate for the addition of such a function Quote
AlcLegacy Posted February 3, 2017 Posted February 3, 2017 Yeah, this would most likely require an extremely in depth tutorial if you were to justify releasing it. Also would you have to animate every face you make, or is there some kind of preset mesh that can be injected for every mod? If there's a preset, I'm all for it. But I couldn't justify spending tons more hours sitting around animating every face numerous times for every mod. 1 Quote
bravebird31 Posted February 4, 2017 Posted February 4, 2017 I just played with creating a quick expression head on a mod I was working on (An original character based on a CAW I made back the old ps2 smackdown games). If you have zbrush, using the "move elastic" brush and activate symmetry makes it easy open the mouth of your mod. Then you can easily tweak the muscles in the face using the regular move tool. I did a quick happy expression in a couple of minutes as a test: 1 Quote
tekken57 Posted February 4, 2017 Author Posted February 4, 2017 (edited) @4 Life , I was thinking about coding an interface where you can double click the animation to view in the viewport. In this was you have a reference mesh on what your epxression should look like. e.g Open one instance of X-Rey as a reference point and open any wrestler to see each animation, create the expression in 3dsmax and import into your mod using another instance of X-Rey. A quick photoshop concept of what I mean: I have made a list of some of the animation meshes and which slot they correspond to in the 111, however some models have different expressions in the same slot as others. Maybe it has to do with order of the animations called at the bottom of the yobj file. Displaying the mesh in a slot is the only way I can think of to help guide the user when creating the expressions. If you have any other ideas on this, let me know and I can code something accordingly. @AlcLegacy , there is no preset way of creating a template for all the expressions. What I am doing at the moment is inject the neutral expression into all the 111 slots first, then you can decide how many expression meshes you want to inject. Then I am using the morpher modifier in 3dsmax to create the animations I need. With the morpher modifier you create the most extreme expression e.g. mouth very wide open and then the modifier can be applied to get all the expressions in between e.g. mouth slightly open, etc. However you will still need to create the extreme expressions in separate meshes which takes time, there is no way around this. How much time it takes to create each expression depends on you as you may want to make each expression very detailed e.g does the cheek move outwards when he smiles or do you just move the mouth. Also each expression needs to be exported as a separate mesh and then injected back into the model one at a time as you currently inject changes to objects in X-Rey. I'm not sure if there is an easier way to automate the process in 3smax where you can get a range of animations and automatically export each one. I'm not a modelling expert and the morpher modifier seems to be the easiest, create bones rigging the face might also be an option. Also I am thinking about coding a bulk import for the animations instead of the user injecting one at a time, however this would involve a lot of overhead on the users pc as X-Rey would have to open 111 files simultaneously. If you have any ideas around these two issues, let me know. @bravebird31 , thats pretty much how the morpher modifier works in 3dsmax, I'm sure there is a similar tool in z-brush. It took a few hours to create this, granted it was my first attempt at using this modifier: I'm keen to hear all you guys ideas around coding this functionality, keep the comments coming. Edited February 4, 2017 by tekken57 2 Quote
AlcLegacy Posted February 4, 2017 Posted February 4, 2017 @tekken57 So as you're injecting all the expressions back in, are there certain places they would go? For example if there's a sad expression it has to be in the file where the sad expression came from, or am i missing something here? Honestly, i thought originally this was going to be replacing bones, but now i know what it is im VERY interested in giving it a shot. I just think it'd be funny if Bret Hart puts you in the sharpshooter, and instead of a painful face there's a suprised face or happy face lol. Quote
tekken57 Posted February 4, 2017 Author Posted February 4, 2017 The facial animations in this game are not controlled by bones but by the individual meshes. That's an interesting question, I suppose if you inject a different expression into the wrong slot, you could get the outcome you described with Bret Hart. Look at the morpher tutorial I posted in the first post, it describes how to create facial animations. Quote
jakeypearce Posted February 4, 2017 Posted February 4, 2017 Speaking of animations, I just looked at The Rock '03's entrance, and there was several strings of animation (eg. ,"BrowInn_L_Dn", "BrowInn_L_Up"). Is Rock's vertex header different at all? Quote
bravebird31 Posted February 4, 2017 Posted February 4, 2017 (edited) So I started looking into different expressions and found different references we can use: Edited February 4, 2017 by bravebird31 Quote
tekken57 Posted February 5, 2017 Author Posted February 5, 2017 @jakeypearce, those are references to animations which are called during the entrance. Every wrestler has 111 vertex headers. @bravebird31 , those are pretty much all the expressions the game has for each wrestler. Except that the model has separate meshes for left and right e.g mouth smile on left side only Quote
jakeypearce Posted February 5, 2017 Posted February 5, 2017 @tekken57 The bizarre thing is, when I 00'd out those emotions, Rock still did them. It makes me wonder if those animations are for other wrestlers... Quote
tekken57 Posted February 5, 2017 Author Posted February 5, 2017 Which systems animations are you looking at I.e pc or console? Quote
jakeypearce Posted February 5, 2017 Posted February 5, 2017 PC. The console version doesn't have those references. Quote
tekken57 Posted February 7, 2017 Author Posted February 7, 2017 Those are animation references which are also contained in the yobj. Don't know why you don't see a change when you delete those. Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.