[Tutorial] Tạo Posebox cho The Sims 2 phiên bản đầy đủ bằng tiếng Anh

Thảo luận trong 'Thư viện' bắt đầu bởi AnyamotoAiji, 12/1/17.

  1. AnyamotoAiji

    AnyamotoAiji Thành viên cấp 5

    Tham gia ngày:
    17/2/13
    Bài viết:
    2,527
    Tác giả : hermit_fox

    ***********************
    Trước có một bài làm Posebox The Sims 2 do Mod Ericos post rồi, nhưng đó là bản được dịch lại nhưng chưa đầy đủ. Phiên bản tiếng anh này rất là đầy đủ chi tiết để làm Possebox Sims 2. Nếu các bạn rành tiếng Anh cứ từ từ vô học và vọc thoải mái nhé

    Tools Needed:
    • Milkshape v1.8.0 or higher: Here (You can find Keygen here and I believe this serial should also work, it's the one I used back when I installed it pretty sure you can also find more of those if you google a little)
    • SimPE (newest version): Here
    • AniMesh Exporter: Here
    • Sim Body with Skeleton: Here
    I'm not going to go over how to install those above since in all fairness, if you can't do that without help just step back and try something easier first, this tutorial will be too hard for you. Basically you should at least have some experience with SimPE, the rest you can learn as we go, for example I had no idea how to operate Milkshape when I started but the best way to learn using that is to just try things out yourself. I'll try to give out all the neat tricks I've figured out as we go.

    Anyway this tutorial is divided in three parts: 1. making the poses in Milkshape 2. Putting the pose file together in SimPE and 3. Making the actual posebox. We'll go over the pose making first since it's basically the simplest thing in this. (Honestly though it CAN also be the hardest part depending on what kind of pose you're trying to do) Also I've written this tutorial between making couple of different poseboxes so you might notice that for example the pose I made in milkshape is not the same pose as what I used in the example for the pose-file building and to complicate things further they also aren't the same poses in the posebox building part. (oops) but so without further ado...

    PART 1: MAKING YOUR POSES IN MILKSHAPE

    1. Open Milkshape. The first thing we'll do is check that all the settings are as supposed.
    [​IMG]
    Hit File > Preferences and then you'll get this kind of window:
    [​IMG]
    In the Misc Tab make sure that the joint size has been set to 0.010000 or you see a big blue mess when we'll open the Sim body in milkshape.

    2. Then hit File > Open... and find the sim models you saved at the beginning. I opened the AManimBase model in this case. You should get this pictured view
    [​IMG]
    NOTE1: If the blue skeleton doesn't show up (like it's missing in my picture), Click On the Joints tab, then select Show Skeleton and the skeleton will show up.
    [​IMG]
    NOTE2: You might notice that the model has red circle around his neck, that's due the vertexes being selected by the one who made the model, just hit the Select - button under Model tab and click anywhere on the screen to unselect them.

    3. After that in the top panels click on Window > Show Keyframer
    [​IMG]
    At the right bottom corner you notice input fields and button saying Anim
    [​IMG]
    Hit the Anim button and in those fields input what I have in my picture: 0 | 1.0 | 30 | 30

    And there we have the model all ready for animation! At this point you might want to stop and think about what kind of pose you'll be creating. I've found that it's easiest to have some kind of reference picture, be it stick figure you drew yourself or photo/drawing of something. For starters it's easiest to stick with single standing poses. I'll use this one as my reference picture:

    Why that one? For multiple reasons, firstly because it's sexy, because it has a lot of small details I can point out as we go :D You don't have to use this picture for your pose, just pick whatever you want since they're all basically made the same way anyway. Also I'm going to take some artistic freedom with this pose so it won't be exactly like the picture. After all this is just for reference!

    Anyway move back to the Model Tab and hit the button that says "Select" and make sure the Select Options are set toJoint (just click that if it's something else)
    [​IMG]
    For starters just select one Joint. Anything you think you'll have to move for your pose. The key here really is to only try moving one Joint at a time. Why? Well... I just dare you choose multiple ones at once and then click rotate and try it out yourself. You'll get good laugh out of that at least. Like in most programs just hit CTRL+Z to undo that and then seriously just choose a single joint so we can move on. :)
    [​IMG]
    I chose the joint that shows in red above, to move it you should hit the "Rotate" button that shows under the Select. Also make sure your Rotate settings are like this:
    [​IMG]
    (Rotate Options: Center of Mass and Local) Otherwise weird things might happen if you rotate something. (Again this is something you should just try out yourself to see what I mean)

    Then for a moment you might want to just try out how to move things around. Once you get the hang of it rotate your chosen joint in 'about' correct direction. Since we started from the shoulder I'll just move the arm down beside the Sim's side and tilt it slightly back like this:
    [​IMG]
    Choose the next joint with the select tool (in this case the elbow one) and do the required rotations for that too:
    [​IMG]
    And then we get to one reasons in why I chose this particular pose. While you can zoom closer (Shift, drag mouse up) to the 3D model it will still be pretty hard to see the fingers from under that skeleton so here's one neat trick. Open up theJoints tab. (yes it's the place where you had to tick the Show Skeleton in case it wasn't showing up at the beginning)
    [​IMG]
    See that list? You can also double click on joints there to choose them for moving. The one we had chosen in previous picture is called r_forearm so logically the next joint you'd move is r_hand. (because if you highlight the wrist one you'll notice that that part of the arm doesn't really move, you can use it if you want to make the arm look like it twists bit gentler but seriously don't rotate it in bigger angles or it will look like the Sims' arm is broken... unless of course broken arm was what you were after then go ahead!) Double click that one and you'll notice the skeleton will highlight that alone in green. It will still be hard to see how you are rotating the hand and fingers like that so click the Show Skeleton button again to hide it. As you can see below this way it will definitely be easier to edit smaller parts.
    [​IMG]
    Just choose the finger joints one by one and edit them as you go until you have the hand in the position you want it...
    [​IMG]
    And there we have it, fingers nicely clenched in fist. If you don't have to edit hand more feel free to turn the skeleton back visible too even though nothing is stopping you from making the whole pose this way if you feel it's easier like that. At this point I also edited the other hand where I wanted it so what I have now looks like this:
    [​IMG]
    Not quite there yet but it surely is shaping up! The pose I'm trying to create doesn't have the character standing quite directly toward front so let's check about how to rotate things next. This part is extremely important to do EXACTLY the way I'm describing or you might end up with your sim being pretty much in any position but the one supposed. *cough* So let's go back to the Joints tab.
    [​IMG]
    Double click root_rot to choose it, NOW you can safely rotate your model. When you're rotating the whole model ALWAYS use root_rot, tattoo it to your arm or something to remember it for sure. (Similarly if you need to move the model (for example to lay/sit on ground) you should use root_trans and move button, never rotate while root_trans is selected!) Oh and just in case you're curious I rotated my model like this:
    [​IMG]
    Because I want the other hip to be bit higher than the other one is. And here we have it after I edited the legs:
    [​IMG]
    You're probably thinking "but it doesn't look like the picture at all." I'll just whisper back "artistic freedom - and we're not quite done yet." Yes indeed we haven't touched the upper body except for the arms yet. spine0 joint will be the next one I'll rotate slightly to give the "required" twist to the body. I'll also edit the neck and tilt the head a little...
    [​IMG]
    There we go already better! The shoulders however look pretty stiff so let's edit both clavicle joints too... (either choose them manually or from the list, they're the ones closest to the spine2 and neck joint. Think about where the collarbones are and you got the right joint.)
    [​IMG]
    At this point you're basically done with your first pose although you might want to spend a moment to edit finer details and smooth things out before you export it. However once you're happy with what you've got set the skeleton visible again (just so you see the difference) and hit CTRL+A or Edit >Select All to choose everything and the model should turn red (and skeleton green). On the top bar find option that says Animate and from under that hit "Set Keyframe"
    [​IMG]
    And the skeleton will turn yellow. Hit File > Export and from the loooong list find the one called Sims 2 ANIMESH ANIM Exporter V1.0.1.
    [​IMG]
    And hit it. Then we get to another IMPORTANT part,naming your posefile. When you name your pose it should be in format a-posename the "a-" is important, don't forget it! Also you should only use - in the filename, not _ or other marks. I named mine as a-leaning-against-the-wall-clenching-fist because it made sense to me and will be easy to recognize. After that another window will pop up:
    [​IMG]
    Make sure the Object Name: is auskel, ANIM Type: is Body Overlay and Locomotion Type: is Pose and hit export. Wow your first pose is ready to be imported in game! Give yourself a pat on the shoulder, you've done pretty well by getting this far already. Sadly though the harder parts are still ahead... (If you plan to make more poses you can do them all at once. However I haven't figured out a way to import poses back to milkshape for later editing so if you think there might possibly be need to adjust something afterwards you might want to leave milkshape and your pose open in the background. If you close your pose you'll have to rebuild it from scratch! Sometimes that can be a good thing though since after you've rebuild something for the fifth time it sure as hell looks nicer than it did during the first round but on the other hand if you have to rebuild something multiple times it's also honestly a hassle but it's your decision what option suits you the best.) I'll made another tutorial later on how to make couple/group poses or poses that are tied to certain items.​
     
    Chỉnh sửa cuối: 12/1/17
  2. AnyamotoAiji

    AnyamotoAiji Thành viên cấp 5

    Tham gia ngày:
    17/2/13
    Bài viết:
    2,527
    2. Putting the pose file together in SimPE

    This part is actually still pretty simple and quickly done. So open up SimPE and start up a new file, just hit File > New to get a nice new empty file.​
    [​IMG]
    Right Click the Resource List area and choose Add... > navigate to the folder you saved your animation/pose file(s) at and click "All files (*.*)" to find them then just add your animation file(s) it/they should show up like this:
    [​IMG]
    As you can see it will show up as Unknown file (UNK). Click it and Open the Resource Tab and after the Type there is dropdown menu, from the menu find "Animation Resource"
    [​IMG]
    [​IMG]
    You'll be able to see your pose name and notice that the file type changed from UNK to ANIM:
    [​IMG]
    While you're still in the Resource Tab also change the Group into 0x1C0532FA and hit "force Commit". (I actually have no idea why you should change the group to that but it doesn't work if you don't so DO IT.) See picture below on how it should look like and where's the force commit button. (you might notice that in the picture below I also have both instance numbers set to something other than zeroes, that's because I forgot to take picture before the next step, they'll be changed automatically once you hit fix tgi.)
    [​IMG]
    Next hit the Plugin View tab and then hit "fix TGI" button, Commit and save your file. Only use hyphen's in your file name so for example your posebox name could be username-posebox-1-anims or something. Quite few people use -import or -anims for some reason but that's seriously not necessary. (full size image)
    [​IMG]
    Still in Plugin View tab now take a note of your poses file name minus the _anim part and copy the name to yourself to notepad or such, in my case as you can see the name I copy down is 'a-sit-and-snuggle-chest'. If you are making multiple poses repeat this process for them all (of course you can just add all at once and then commit each step to every pose at once before moving to the next step instead of doing them one by one)

    And that's all there is for creating the pose-file. Next part is the actual posebox building which is seriously the hardest part of this all so if you've reached all the way here now would be a good moment to go ahead and have a break. Drink something or eat, take a walk, play with your cat/dog... Just let your brain rest a moment, you'll be using it a lot soon. :)

    here, just in case you'd like to make yours basegame compatible. (Thanks for this tip Nixedsims, I had never heard of that before so I learned something new today too!) That doesn't allow deeper menus though but if you're good to go with menus that are like pose1.../start it might be a good idea to make your box basegame compatible. If you need deeper pie menus then you need at least one EP. (I personally have my Simpe set to load up basegame, Apartment life and Mansion & Garden stuff since years ago so I didn't even remember that you can change those. ^^U ) Once you're done deciding on that move to the next part.

    Open up SimPE again or if you never closed it then start up a new file in it. Then at the bottom hit the Object Workshoptab:
    [​IMG]
    and then hit the Start Button:
    [​IMG]
    It will take some time for the game to load all the files. Once it has loaded choose the "Unknown" Category, hit letter P on your keyboard and then search for "Paul's Reaction Test Object", choose it and then hit Next
    [​IMG]
    For the task choose "Clone" and then tick all the options but "Reference original Mesh" and "Change Description" and then hit the "Start" button:
    [​IMG]
    The Scenegraph rename Wizard will pop up. Make sure you do not use the underscore "_" when renaming your object. Give your posebox a name. Good name should include your own name and the name of the posebox, for example username-posebox1 could be your box name, I'm lame and simply calling mine DigitalAngels-posebox2 because I'm truly bad with names. Then just hit update and see your file name change like mine here:
    [​IMG]
    Then just hit OK and save your file.

    You notice the file loads with whole lotta stuff now:
    [​IMG]
    Make sure you've got the "Reaction Test" file chosen from the Resource List, click Plugin View and then hit the 'Get GUID':
    [​IMG]
    [​IMG]
    This kind of pop-up will come up:
    [​IMG]
    Note: If you don't have account yet you'll have to register yourself as new user(!)

    Where it says "Object Name:" type your posebox name and then hit "Register Object" button.

    Then click Update, then click Commit, and then Save your file again:
    [​IMG]
    From the Resourse Tree select "Textlists" from the AllRes List, and then select Anims Adult from the ResourceList:
    [​IMG]
    In the underneath at the Plugin View tab choose the string (in blue at the picture) and hit Add button.
    [​IMG]
    Paste your animation name that you earlier pasted to the notepad over it. (If you're making multiple poses at once add them all at this point to save yourself some time. In this example I'm going to add all four poses I have ready at once.) Hit Commit File when you're done.
    [​IMG]

    While we're at it take a note about the numbers in front of the String names. (Yes I mean those 0x001 (1), 0x002 (2) etc numbers) Write them down to yourself to go with the string names. You can save yourself from one extra look back like this. :)

    Under the Resource Tree hit "Pie Menu Strings (TTA)" next and then choose the [Pie Menu Strings]:
    [​IMG]
    In the Plugin View tab scroll down until you find "Pet Reactions", click it and then click Add button.
    This will be the thing where you'll write the thing you wish to show up as pose start command. Very regularly people name them like Pose1.../start(or stop) but that's actually really bad and inconvenient way to name things! Thus consider making them descriptive instead. Also note that the line for Start and Stop command MUST match! So if yours is Pose1.../start the stopping string must be Pose1.../stop (prefer to picture below to see how I named mine)
    [​IMG]
    NOTE1: nothing bad happens if you don't name them similarly, it just clutters the pie menu needlessly so instead of having pose1... and behind it start/stop buttons you'd have two menus with the other one containing start and the other the stop button. Also the / is mark for where the text in the menu ends, in my above example the layer that shows up directly in the posebox says only Couple 1..., Couple 2.... and Couple 3... behind all those there are always 2 more options for both character and when you hit the character pose it will finally show the start/stop button for the pose. If you wanted to you could of course just make it two layers so for example: Couple 1.../ pose 1 start (and next to it would then be pose 1 stop, pose 2 start and pose 2 stop) but that would put four strings in that pie menu. It's up to you which solution you prefer though. :)

    NOTE2: You probably also want to add "Snap Reset" string to the mix if you wish to have one for your poses. That said, if you did your box correctly and all poses start and end as supposed it's not absolutely needed but I like including it to mine just in case. Sometimes the poses just bug up for reason or another even if they otherwise work and then resetting the sim is the quickest way to fix them.

    When you're done, hit "Default Lang Only" then Commit File and save.

    This is probably good place to take another break, drink cup of coffee/tea/beverage of your choice and just breath for a moment. THIS is where things get serious and the hair ripping will start. It's also the part where you are most likely to fuck something up. (Take my word on that, it's always here where I mess up something!)

    And here it is, the nightmare fuel, Behavior functions. So from the Resource tree choose Behavior Function (BHAV)option.
    [​IMG]
    Click "Function - Init" and right click > clone it.
    [​IMG]
    The italicized one is your clone, click it and then choose the Resource tab:
    [​IMG]
    There you'll have to change the Instance to not override the other functions. This part was confusing to me in the tutorial since Jasumi's tutorial just stated "Change it to 0x0000102F" and I was confused about the seemingly random number. Then I realized that if you put the Resource List in order by the instance the 0x0000102F simply happens to be the next unused. So in other words, change the instance to 0x0000102F and then hit force commit and save the file again. (as shown in picture below)
    [​IMG]
    [​IMG]
    That part makes whole lot more sense when you know why you're doing the change now doesn't it? So I repeat again:Changethe instance to 0x0000102F like in the picture above because it's the next unused instance number.

    SMALL BUT IMPORTANT TO UNDERSTAND DETAIL:
    SimPE uses hex numbers. So instead of counting 1,2,3...9,10,11 it goes 0,1,2,3...9,A,B,C,D,E,F,10,11,12...19,1A,1B...1F, 20 etc. Thus since our current Instance is 0x0000102F the next one will be 0x00001030.

    Next open up the Plugin View tab. Under File name, call your BHAV "Start - ()" You can fill whatever you want between the parenthesis. But you must add "Start - " to the name of your BHAV. So for example for my file we're calling it "Start - sit and get kissed" it's good idea to make it something you can then recognize that it goes together with x-posefile/pose text line.
    [​IMG]

    [​IMG]
    Now highlight the first data block. (the gray one in the above picture) You want to enter the same values as pictured:
    [​IMG]
    So you should change:
    OpCode: 0x0002
    True Target: 0x0001 | False Target: Error
    Operands: [02][00][FF][FF][00][05][08][07] (and the next row is full zeroes (0) so no point writing that here)
    It should look like the picture above. Then hit Commit File and save.

    Then select the second block under the first one and change as in picture:
    [​IMG]
    Here again whole thing written out for easier copying:
    OpCode: 0x006B
    True Target: Return True | False Target: Error
    Operands:
    [01][00][20][20][00][00][03][0B]
    [00][81][FF][01][01][00][00][10]
    Note that the bolded one? Remember back in text lists when I told you to take note of those numbers? This is where you'll need them. In that first block you should paste the last two numbers of the 0x00## (# is the numbers you need) Since we want this to call the first animation we made you should put the 01 there. (As long as 01 actually IS the number of your first pose mind you! It should if you followed this tutorial exactly.) For the second pose it will be 02 and so on.

    So things should look like this once you're finished:
    [​IMG]

    [​IMG]
    In the lower block it should mention your pose name like "Animate Overlay (My object id, "posename"), if it doesn't recheck that everything REALLY is as pictured/written, it won't work out if something is off here.

    Next you should clone the Start - ... BHAV that we created earlier.
    [​IMG]
    Choose the italicized one again and then highlight the first block and hit delete button to delete it. You'll only have this block left:
    [​IMG]
    Change the Start part of the filename to Stop then change these:
    OpCode: 0x006C
    Operands:[01][00][02][03][0B][00][81][00]
    [00][00][00][00][00][00][00][00]
    [​IMG]
    You'll notice that the block now says "Animate Stop (My object id, "posename")" if it doesn't recheck everything again. Commit & save. (also never mind that somebody (me) was a dumbass who forgot to change the Filename line to Stop, it should say "Stop - sit and get kissed" there obviously.)

    Then click the Resource tab and add one to the Instance. So since the current one is 0x0000102F the new one is 0x00001030 hit force commit and save.
    [​IMG]
    If you are making more poses clone the Start - pose1 file you created and in the second block change the first Operand into the one to correspond the second pose (usually 02) you'll see the text change to "My object id, "a-pose2name" if you did it correctly. Change the filename and add one to the latest Instance number under the Resource tab. That's all you need to change if you're adding more poses. Then do the same for the Stop BHAV (add one to the first operand and one to the latest instance number and change the filename)
    [​IMG]
    So in other words, when you want to add more poses into the file, Clone the previously created start and stop poses, change the filename-line to correspond the second pose and in the start one change the first operand of the second block into +1 (so if previous one was 01 the second one is 02 and for third pose it will be 03 and so on.) Remember to also change the instance number to +1 from the latest one you've used (I've found it useful to set the Resource list in order by the instance number so I can easily see which one is the latest and always add that +1 to that. Then for the cloned stop pose also change the filename, add +1 to the operand number and add one to the last used instance number. Those are the only parts you need to change when adding more poses.

    While we're at it let's add the Snap Reset button too:
    Clone the start - pose1 (or the last start pose you created if you made multiple poses already):
    [​IMG]
    Delete the second block, we don't need it. Change the filename into "Snap Reset" and then change these:
    OPCode: 0x002E
    True Target: Return True
    Operands: All zeroes (0). You'll notice that under the Operands it now says
    "[prim 0x002E] Snap (slot number in Param 0x0000,
    from slot in temp 1: False,
    ask person to move: False,
    TEST ONLY: False)"

    Then you did it correctly. Remember to change the Instance too. (picture below)
    [​IMG]
    At this point I suggest glancing back to your Resource List and if you didn't already do it earlier hitting it in the order of Instance and then check that each and every file has its own instance and separated names, it also doesn't hurt to glance back that each and every file really points to the correct pose:
    [​IMG]
    All good there? (if not fix them obviously!) Good then we can move to the next part~

    Next we're moving onto somewhat pleasant and simpler things again. On the Resource Tree hit Pie Menu Functions (TTAB) and then hit open the Reaction Test Interaction Table:
    [​IMG]
    In the Plugin View highlight the "Pet Reactions" and hit Add, in the cloned Pet Reactions tick Adult, Teen, Elder and untick the rest. I'm not sure about the one ticked ? mark but I found it done so in multiple poseboxes I glanced as preference so I just ticked it just in case. You can leave it unticked thou
    [​IMG]
    [​IMG]
    Hit the Pie String ID dropdown and find your first "start" pie string
    [​IMG]
    Under Action BHAV click the arrow and search for your "Start - ..." BHAV in the dialog box (you can find them in order by hitting the order by "Val" tab). Also change the Guardian BHAV into: 0x0000 and then hit commit and save.
    [​IMG]
    Click add again to create the Stop BHAV too and just change the Pie String ID to the corresponding Stop string and Action BHAV to corresponding Stop BHAV:
    [​IMG]
    (again if you are doing multiple poses just add them all at once by repeating the process for them all) You can (and should!) remove all the other strings than your own after you've created the first one for yourself to use. Don't forget to hit commit file and save your file between each new line. Sometimes when I delete the unneeded strings here it starts whining about unexpected error, I've found that just clicking OK and then momentarily opening some other part under the Resource tree, telling it to ignore the uncommitted changes and returning to the Pie menu functions and redoing the changes helps. Sometimes you just have to close the file and try again. (Telling that so you don't needlessly panic if it errors here ^^ )

    Next we'll set in which categories the box will show up. Select Object Data from Resource tree, and the Reaction Test. Tick the places you want your box to show up at. This is completely up to you where you wish to place your box to show up, I prefer general > misc so that's what I chose.
    [​IMG]
    Then one last simple thing to do is to change the image of the box. Click Texture Image (TXTR) from the resource tree and then from the Resource list choose the only available file. You'll get similar view to this.
    [​IMG]
    There are two ways to change the image, the first one is: Click the Import button and find image you wish to use as your box picture. It has to be 64x64 pixels in size. Once you have your image there right click > update all sizes and Save. and the second method is: Right click that placeholder image and choose the Build DXT... and then navigate to your saved image and import it that way. Also note, you don't absolutely have to change the image at this point, you can always go back and change it later. (for example if you wanted to use in-game pose of your pose you obviously wouldn't have picture available at this point. I usually make it some random easily recognizable image so I can find it easily in game for the first test and then swap the image into something more sensible after I have new picture to use.)

    You know what? You're done! Now would be the time to test your box in the game and then recheck everything again if something doesn't work. Good luck! There sadly isn't a quick way to check what's wrong if the box doesn't work in game so your best bet is to go through the files created and recheck if they correspond with what the tutorial says. Usually the mistake is something small, I've for example once forgotten to hit the fix TGI button for each pose and they didn't work because of that. Another time I forgot to change the pose files groups and so on... ^^;



    And there it is, like hundred years late but at least it's finally done. I'll try to answer questions if somebody has them although I'm not sure how well I'd actually do at that, pretty much everything I know about this topic is already written in this tutorial and I tried being as thorough as possible. (well except the couple/group poses and using furniture/accessories in the poses part but I'm working on writing a tutorial about those too.) I'd also be happy to hear if somebody actually succeeds at making a posebox with this tutorial because then I'd know I didn't waste all those hours writing it out. ^^U.​

    P/s : Tutorial này nó dài dã man post muốn le lưỡi luôn #:-s, bạn nào mần được Posebox thì chia sẻ cho mọi người dùng nhé. Lần tới tớ post video hướng dẫn làm Posebox luôn.

    Chúc các bạn thành công
    Nguồn
     

Chia sẻ trang này