Getting a Player Model into SWBFII v.2

How to create models in XSI and other 3D applications and make them work in Battlefront 1 & 2. Post models, tips for application usage and share anything XSI, 3DMax, SketchUp, etc.

Moderator: Moderators

Post Reply
HighValorius
Recruit Womprat Killer
Posts: 5
Joined: Sun Mar 18, 2018 2:53 pm
Projects :: Battlefront II KotOR Mod
Games I'm Playing :: Battlefront II 2005
xbox live or psn: No gamertag set

Getting a Player Model into SWBFII v.2

Post by HighValorius »

Getting a Player Model into SWBFII v.2

________________________________________________
I've had multiple requests for this, and I know they'res not that many tutorials on how to do rigging in Softimage for SWBFII, so here we go!

First you will need to import these bones that psych0fred created.

DOWNLOAD LINK BELOW
http://www.secretsociety.com/forum/down ... e_Beta.zip

____________________________________________________________________

Open up Softimage, BE SURE YOU HAVE DOWNLOADED THE ZE Tools for XSI!

In softimage, you want to go to : File, then go to import, in Import select "Model".

Find your UnitTemplate.emdl file wherever you put it.

Import it and go to the Explorer [ NUM 8 KEY ]
Hidden/Spoiler:
Image [ This is what it should look like when imported ]


In Explorer, you want to hit the Letter L on your keyboard and find the hand bones, they will have a White or Yellow H on them.

To select them both, click on one of them then hold CRTL while clicking the other bone.
Hidden/Spoiler:
Image [Explorer]
Hidden/Spoiler:
Image [ Bones - IDK Why they didn't un-hide these but oh well - ]
Hidden/Spoiler:
Image [ Layers ]



In whatever version of Softimage you use. Hit the letter H while having the hand bones selected. And they will be visible.
Hidden/Spoiler:
Image
- When that's done, deselect them and import your model. -

IMPORTANT NOTE : If you do not know how to get out of this mode :
Hidden/Spoiler:
Image


Then click Wireframe, and select Textured Decal, that'll change the view.
Hidden/Spoiler:
Image
----------------------------------------------------------------------------------------------

OKAY, now for the Fun part... *rotating and positioning... yay!* Probably one of the most time consuming things to do in my opinion..

Once you import your object, in whatever format you imported it into, if it's in groups, you want to select them all : Then go to "Model" top left hand, and go to "CREATE" Under "Model"

Go to Poly.Mesh, and click merge.
Hidden/Spoiler:
Image
Hidden/Spoiler:
Image
In Merge, turn the tolerance all the way down.

In " Properties and Clusters " press merge on everything.

After thats done.

You want to delete the original objects.

Under "Inputs" hit
Hidden/Spoiler:
Image "delete"
-------------------------------------------------------------------------------------------------

NOW FOR SCALING AND ROTATION!

Once your object is merged.

If it's soo small or too tall. Go to "Transform" far right hand, and in Transform, they're should be a letter "S" hit that S to scale objects.

- ALWAYS MERGE YOUR OBJECTS BEFORE SCALING! -

When scaling never touch the green, blue or red dots!

Drag in or out to make it big or small but still remain in shape.

Oh yeah, also, click the T tool in Transform to move your object after merging, because some objects may not be in dead center.

After that's done, your object may not be facing the front... what do you do?

I am using Canderous Ordo's back as an example :
Hidden/Spoiler:
Image
You want to select your object, and in transform, In the Letter "R" category, they're will be three rotation property categorys.

In the middle one, type in for the rotation "180" that'll flip it the other way!
Hidden/Spoiler:
Image
Hidden/Spoiler:
Image
---------------------------

Side Note : At the bottom of the Tutorial they'res an easier way to do this, so if you want to do it the easy way scroll all the way down.

Now, SWBFII requires a T-pose, and Canderous doesn't have one, so I'll have to fix that.

We will start by going back into Wireframe mode.

And having the model selected, click "Point" in "Select" - Top Right hand -

In Point mode, select your players entire arm, by dragging in the window, without touching any of the blue points.

Do not just do that and be done, make sure it's precise by Holding "Shift" whenever doing this.
Hidden/Spoiler:
Image
Now.. you want to rotate it, click the letter "R" in Transform, and zoom out of your model.
Hidden/Spoiler:
Image
And it's ridiculous how it's set up, but you'll have to do it that way, unless they'res an easier way, which I'm sure they're is but anyway..

For your view hold the blue circle in the rotation thingy in the window and [ Drag the right hand or left, whichever you selected, to the opposite side.]
Hidden/Spoiler:
Image
After it's straight, you want to go in Transform, and click the letter "T" and drag it up or down, to match the t-pose of the bones.

If it looks like this :
Hidden/Spoiler:
Image
You want to go to the middle of the Translate and click the middle of it until it turns red, blue, and green.
Hidden/Spoiler:
Image
And if the arm is still not straight, just rotate and translate until it's perfect.

It should look like this when you're done :
Hidden/Spoiler:
Image
----------------------------------------------------------------------

Now, in general, the arms stretch when you're rotating and translating, so it's going to be longer then it should, to fix this..

Use the override_texture as your guide, and while in point mode, change the view to textured decal, and select all of the points you need to.
Hidden/Spoiler:
Image
Then in Transform, use Translate.. - Click the Letter "T" and move it towards the model.
Make it line up with the Clone troopers arm length.
Hidden/Spoiler:
Image
If your arms looks stupid in the elbow area or anwhere else, stay in point mode, click your point and use translate to fix it, by clicking the red, blue, or green arrows and dragging them.


OKAY, now for Enveloping & Weighing.

If you haven't yet, hide your Override texture object.

Now, hit the Number 2 key.

And the left hand side should change to "ANIMATE" with green colors instead of lavender.

In "ANIMATE" go to "DEFORM" and click Envelope, click "Set Envelope. Press "yes".
Hidden/Spoiler:
Image

And make sure to be in object mode - not point! -

Now, your arrow will change to an icon with a mouse pointer that says "PICK".

You're going to go into explorer, and hit the "L" key for Layers.

And you're going to select everything that says "Bone", never click the ones that say "Eff" or "Root"

Once you have clicked every bone, right click and you're done enveloping!

If you mess up, get out of the explorer and hit the "S" key on your Keyboard.

Then try enveloping again.
Hidden/Spoiler:
Image
- It should look like this-


Your model should have all of these colorful points now!
Hidden/Spoiler:
Image
Some people think this is the final state, it isn't...

You have to now do some Weighing, which is basically ; You select all of these points so your model doesn't look wonky ingame.

--------------------------------------------------------

WEIGHING :

Weighing is sometimes a tedious process..

You're going to go into Wireframe view and be in point mode.


Now, I always start with the hands.

In point mode, you will see the unit bone.
Hidden/Spoiler:
Image
Side Note : Ignore this and click

NOW.. you always ALWAYS want to have your hands aligned with the hand bones, same with the arms and such.
Hidden/Spoiler:
Image
With your hand points selected.

Hit CTRL+E
Hidden/Spoiler:
Image
It should look like this.

Look for Bone_L_Hand or whichever hand bone you're starting with, and select the top polygon
Hidden/Spoiler:
Image
Now, you want to click the box of the bone you're using, that'll select everything.
Hidden/Spoiler:
Image
When that is done, this bar :
Hidden/Spoiler:
Image
drag it to 100% then you're hand will be fully weighed to the hand bone only, if you weigh it to the forearm, it'll act like the forearm, which is bad.

NOW.. you just repeat the entire process for everything.
Hidden/Spoiler:
Image
Forearm.
Hidden/Spoiler:
Image
- repeat process -
Hidden/Spoiler:
Image

NOTE : USE THE STOCK PLAYER MODELS FOR REFERENCE ON WHAT TO WEIGH!



When you are done weighing everything, you want to make sure your model is a child of DummyRoot :
Hidden/Spoiler:
Image
When that is done, you wanna hide the bones. Middle click the override texture and hit the H key until the bones and override model are hidden.
Hidden/Spoiler:
Image



--------------------------------------------------------------------

EXPORTATION

Now you want to export your model, in order to do that, click DummyRoot, DONT MIDDLE CLICK it yet, and hide it.

Then Middle click DummyRoot and then if you have ZE Tools installed click it.

And click "Export . MSH"
Hidden/Spoiler:
Image
Hidden/Spoiler:
Image
Choose where you wanna export it, then you're done!


- I hope this Tutorial helped you out! -



Also, thanks to Calrissian97 for pointing out : "Although models don't necessarily need to be in a T pose though.
If you import the IMP Pilot mesh, you'll see he's in A pose"

"But the bones are easier to look at and all that
I myself use the EMDL bones when porting
Just keep in mind once you export, the next time you import it will all just be nulls"


Teancum has provided me with a simple tutorial on how to do rotations correctly, here it is!

----------------------------------------------------------------------------------------

"Select your points, then click the rotate button . Right click REF, then choose Pick Object Reference. Pick the upperarm bone as a reference point for rotation"
Hidden/Spoiler:
Image
Thank Teancum!
Sporadia
Corporal
Corporal
Posts: 151
Joined: Thu Jan 24, 2019 11:02 pm
Projects :: No Mod project currently
Games I'm Playing :: None
xbox live or psn: No gamertag set

Re: Getting a Player Model into SWBFII v.2

Post by Sporadia »

Method 2: Weighting with Reassign Locally


I found this tutorial and I realised I've been using a different method for weighting the points, which I prefer for:
a) Keeping track of what's been done
b) Weighting points to bones which don't come up in the ctrl+e window (weighting points to bones which they aren't automatically assigned to)

So I'm going to try describe it in the same level of detail as the rest of HighValorius' tutorial in case people want to try it out. Follow the tutorial until you get to the heading WEIGHING, then jump down here, do all this and return to the tutorial at NOTE: USE THE STOCK PLAYER MODELS FOR REFERENCES ON WHAT TO WEIGH.

Background: Setting the Envelope
Hidden/Spoiler:
You should have already done this if you're following the tutorial but I need to set up an example for the images in xsi so I'm going to describe how I've done that.

First, I've imported the stock Tusken Raider model where the only Import settings I have selected are Triangulate and Show Dialogue Box on Completion
Image
Image Link

Then, I selected the main object and went to the bar on the left hand side of the screen, and clicked Poly. Mesh which is in the box under Model > Modify (not the one in the Create box) and I selected WeldBoundaryPoints/Edges.
Image
Image Link

Then when the box came up I set the Distance slider to 0.001. (This was just following a tip from one of Gogie's tutorials, instead of selecting Weld Boundary Edges on the import window. It deforms the model less this way.)
Image
Image Link

I then did the WeldBoundaryPoints/Edges for the hands because for some reason they are a separate object on the Tusken Raider model. I will ignore the hands for the rest of this tutorial, if you notice that they're not highlighted.

Next, I have selected the main object and gone to Animate > Envelope > Remove Envelope (note: I could also have changed the panel on the left from Model to Animate and used the command that way.)
Image
Image Link

This has left my model looking like this, where you can't see any of the points in Object Select mode. That's what an object with no envelope should look like:
Image
Image Link

Finally, I went to Animate > Envelope > Set Envelope and selected every bone in the Layers window of the explorer, as described in the main tutorial. And that has left me at the same stage you should be at.
Image
Image Link


Weighting

You will need to be in Wireframe view and Point Select mode. It helps to have the explorer open as well. If you didn't select every bone when you set up the envelope, then you may run into problems with this method. There's a note on that at the end.

1) Zoom out a bit from the model, and select every single point (ie drag a box over the model, covering the whole thing)
Hidden/Spoiler:

2) Go to Animate > Envelope > Reassign Locally
Hidden/Spoiler:

You will enter a picking session. At this point, it's best to pick a single bone that won't be used, like bone_root, or a single bone that's easily recognizable like bone_ribcage. I'm going with bone_root. Only pick one bone, the right click to end the picking session. If you make a mistake, redo it. What this will do, is it will give every point a 100% weight to bone_root.
Hidden/Spoiler:

You can check this by pressing ctrl+e to open the weighting window. The only column there should be the bone_root column. Close the window again.
Hidden/Spoiler:

If you deselect the points on the model, you will see that the points have changed colour, to visually indicate that they are all weighted to the bone_root.

3) Now you're going to start assigning points to the bones that you actually want. I'm going to starting with the head.

Select every point on the head. It takes a bit of rotating around the model to see if you actually do have all the points that you want. And it's good to zoom out to check that you haven't accidentally clicked on any points elsewhere on the model.
Hidden/Spoiler:
Image
Image Link
Caption: Selected points are light red, unselected points are dark red, sorry (because that's the colour xsi chose for bone_root and I didn't change it)

4) Now go to Animate > Envelope > Reassign Locally and this time select bone_head. If you deselect those points, you will see that they have changed colour, because they're now weighted to a different bone.
You can also check it in the ctrl+e window. I sometimes get a meaningless error message run along the bottom of xsi when I use Reassign locally, but if it's right in the ctrl+e window then it's worked.
Hidden/Spoiler:
Image
Image Link
Caption: The points weighted to bone_head are a different colour from the points weighted to bone_root.

5) Repeat steps 3 and 4 for every section of the body. Don't leave anything weighted to bone_root. And you're done, go back to the above tutorial at the line NOTE: USE THE STOCK PLAYER MODELS FOR REFERENCES ON WHAT TO WEIGH. (which is good advice.)
Hidden/Spoiler:


Final Notes
You can check that you haven't missed any points by selecting every point on the object and opening the ctrl+e window. The bone_root column should be gone, otherwise you've missed some points. Scroll down in that window to find the number of the point you missed, it will have 100 in the box under bone_root.
Hidden/Spoiler:
Image
Image Link
Caption: It's not the highest resolution screenshot but point 139 (name in the column on the left) is 100% weighted to the bone_root
Then close the window and type that number in the select box (when in Point Select mode).
Hidden/Spoiler:
Image
Image Link
Caption: It's also a low resolution screenshot but I've typed in 139 in the select box
That will help you find the point. Sometimes there are doubled points which need to be welded together and things like that.

Reassign Locally will not work on bones which you didn't select when you Set the Envelope. So imagine that you had a cape which you know won't be weighted to every bone. You need to think ahead about which bones it will be weighted to, normally bone_ribcage, bone_l_clavicle, bone_r_clavicle. When you are at the Set Envelope stage, click all 3 of those bones. Then when you get the Weighting stage, reassign locally will work for bones like bone_ribcage, or bone_l_clavicle but not for bones like bone_pelvis. This is why for the main object in a model, it is important to select every bone when you Set Envelope. If you miss a bone at the Set Envelope stage, you will need to remove and set the envelope and start the whole thing again.
Post Reply