Export/Import PSK and PSA. New Garrett's model. - by lolkabl
lolkabl on 28/9/2013 at 18:46
Some introduction.The only one thing I asked before I've started to create my FM: "Is it possible to change Garrett's model?". The answer was: "Yes" and these screenshots was shown (
http://www.ttlg.com/forums/showthread.php?t=108301&highlight=garrett+mesh) . In 2010 I was maximalistic even more than now: "If someone could make it, I will".
I was looking on TTLG many times, this question appears often but without any relatively clear answer - HOW to do it. Almost all usefull links are dead. So, I'm very sorry about creating one more thread, but I just want to collect all information and finally to dot the i's in this issue. And finilly I DID IT!
[center]Necessaries[/center]
Programs:3Ds Max 5.1. The only thing that T3Ed loves.
Milkshape 3D. 3D-editor with wide import and export capabilities.
Plugins:All of them found somewhere on TTLG and DarkFate. Some of them I've got from 2.5 years old downloads, because as find them again I failed. I've uploaded them to Google.
ActorX 3Ds Max 5.1 plugin for import/export animations and meshes, or main plugin. плагин для 3Ds Max 5.1 Special version for Thief3: (
https://docs.google.com/file/d/0B5wktFWIvNA6TmV0LTVNWHg3elE/edit?usp=sharing) LINK (101 KB).
Cannonfodder's - 3Ds Max 5.1 plugin for import and export format CMD. According to my old records and wiki, is able to import the animation and probably models in 3Ds Max. ATM NOT USED IN TUTORIAL(
https://docs.google.com/file/d/0B5wktFWIvNA6djV0RnV4Nk0tMkU/edit?usp=sharing) LINK (74 KB).
FBX-plugin, version, suitable for import models exported from Milkshape3D. The version that built in 3DsMax does not do anything, I don't know why. The archive also includes a plug-in of unknown purpose (
https://docs.google.com/file/d/0B5wktFWIvNA6TVg0dzZSbExsdzg/edit?usp=sharing) LINK (1 MB).
Thief 3 PSK importer for Milkshape3D by Shockeye. It still can be found on TTLG for sure, but I've uploaded it anyway. (
https://docs.google.com/file/d/0B5wktFWIvNA6WmpBNHk1bHpIOHc/edit?usp=sharing) LINK (7 KB).
[center]Import/Export of Skeletal Meshes (PSK)[/center]
As big pictures are not allowed, they are hidden under links.
1. Opening. Open Milkshape3D.
File > Import > Thief 3 Importer. Go to the editor's directory:
...\Thief3\CONTENT\T3\SkeletalMeshes\Garrett_08.psk.
(
http://cs316529.vk.me/v316529506/8e0a/kPfrvNxdE-k.jpg)(
http://cs316529.vk.me/v316529506/8e13/vooZVNIGnGg.jpg)
2. Exporting. Export Garrett to FBX:
File > Export > Alias FBX.
3. Import to Max. So we can open 3Ds Max. Go
File > Import, choose
Kaydara (*FBX) or
All Formates and open our file.
(
http://cs316529.vk.me/v316529506/8e25/jgvbzmVNAow.jpg)
Use these options:
(
http://cs424823.vk.me/v424823506/a911/J8sa4wnJJW4.jpg) http://cs424823.vk.me/v424823506/a911/J8sa4wnJJW4.jpg
You also can check "Y-up to Z-up root node rotation", if you want
We see Garrett again.
(
http://cs424823.vk.me/v424823506/a91a/IqS3FGOq-m8.jpg) http://cs424823.vk.me/v424823506/a91a/IqS3FGOq-m8.jpg
4. Texturing. Add Unwrap UVW modifier to each part of model: legs, body, hands, head, face. Textures won't work right in the game, but, I think, we can handle it later. (Forget about Skin, it's old screenshoot)
(
http://cs421726.vk.me/v421726506/7dd3/ZDK1TpokcJo.jpg) http://cs421726.vk.me/v421726506/7dd3/ZDK1TpokcJo.jpg
5. Physique. Well, now we have to make him move. Now we have to initialize Physique. Pick any his part (I began from legs) and go to
Modify > Physique and click on this button:
(
http://cs424823.vk.me/v424823506/a923/qeQBJ57Qyhg.jpg) http://cs424823.vk.me/v424823506/a923/qeQBJ57Qyhg.jpg
Now click on any fit bone. I don't know if there is a big difference between choosing other bones. I've chosen a bone named "Garrett". You can find it near pelvis.
After clicking this bone you'll see the window. Choose
Vertex > Rigid and
Blending: 3 Links. Other options will be default. Click
Initialize.
(
http://cs424823.vk.me/v424823506/a92a/mqSgA4u0vZo.jpg) http://cs424823.vk.me/v424823506/a92a/mqSgA4u0vZo.jpg
Repeat this operations with other four parts of Garrett.
6. Weighing. Go to
Modify > Physique > Vertex.
Now you can pick some vertices and link them. For example, I pick these:
(
http://cs424823.vk.me/v424823506/a933/SIU75mPypCw.jpg) http://cs424823.vk.me/v424823506/a933/SIU75mPypCw.jpg
After that click on
Assign to Link and pick Link (link are yellow, while picking they becomes red):
(
http://cs424823.vk.me/v424823506/a93c/vy5pO35Hkv0.jpg) http://cs424823.vk.me/v424823506/a93c/vy5pO35Hkv0.jpg
Click
Lock Assignments. Crosses turn squares.
Repeat this for whole mesh according to logic and sanity. You can check your assignment by moving bones.
7. Exporting. After all open ActorX Plugin. To do that, open
Utilities (right, last, with hammer picture), press
More... and choose
ActorX. Choose a destination folder (
...\Thief3\CONTENT\T3\SkeletalMeshes\), type a name and in section
ActorX-Setup (down) put a check in front of
all textured geometry. After that press
save mesh/respose.
8. Back to T3Ed. Open the Editor and go to
View > Show Skeleton Browser. The editor says that there is a new model and automatically creates .pro and .ski files.
After that find your mesh in the list.
Right-click on it > Add Animation... and add all required animations (you can see the list of Garrett animations at the Garrett_08 mesh). The only thing, I don't know how to add LIPSinc.
(
http://cs424823.vk.me/v424823506/a945/Y-GX4BQgfKI.jpg) http://cs424823.vk.me/v424823506/a945/Y-GX4BQgfKI.jpg
9. Changing model. Go to the
ActorBrowser > Pawn > PlayerPawn > Garrett > PlayerGarret and change
Render > SkeletalTag to your new name of mesh. So we don't need to replace Garrett_08.psk. And it mean that we can have different meshes for protagonist, and maybe even change them during the game, who knows (nice idea for experiment!).
10. Testing. We can "Play Map!" and look at this SCARY thing: (
http://youtu.be/nW7gzeSWmsE )
I didn't work at other parts of his body, so his arms and face are horrible. But it works! Garrett run (turned to wrong side, but I am working on it), jump (sometimes even without broking a game) and fight. Now So answer to my question is YES and my 3-year work is finally done.
I just need to create new model of my girl (hey, does anybody can help? I'm not a 3D-modeler :D) on finished skeleton and with base of body.
[center]Import/Export Skeletal Animations (PSA)[/center]
In development.
Thanks for attention
UPD 12 Oct 2013: I was trying to convert psk using smd as link given by snobel says, but this file even don't want to be open, causing unknown error :(
UPD 26 Nov 2013: Changed the tutorial with new achievements. What's left: I should find out what happened to Skin Modifier.
UPD 27 Jan 2014: Skin Modifier doesn't work? Fine, let's go with Physique! Work is done, just some cosmetic touches left.
snobel on 30/9/2013 at 06:03
Good to know that there's still FMs brewing.
I can't help I'm afraid, but noticed that ascottk is using a different intermediate format (
http://www.ttlg.com/forums/showthread.php?t=106594&p=1476687&viewfull=1#post1476687) here.
If you don't get a reply, try posting a pointer to this thread in the 'what are you working on' thread, I guess a few people will get email notification from that.
lolkabl on 30/9/2013 at 11:22
Thank for advices, i will )
lolkabl on 16/10/2013 at 16:04
Quote Posted by snobel
I wonder if I could have a copy of your scary replacement Garrett_08.psk? I can use it to test the mod support I'm working on.
Yes, of course: (
https://docs.google.com/file/d/0B5wktFWIvNA6OFh3N3dzWGNLN1U/edit?usp=sharing)
No, I didn't try. Honestly, I'm very afraid of disturbing people )
Wow, his piece is cool.
Quote:
A couple of nitpicks, since your first post is going to be a tutorial: In item 1 you import the .psa, not the .psk - typo? In item 6 there's 2 underscores in the file name.
Oh, yeah, it's a typo. I'll fix them right now, thank you )
snobel on 17/10/2013 at 12:09
Thanks for the file. Unfortunately it won't work. The original Garrett_08 files from the editor don't work either...
Default.ini specifies a DynamicallyLoaded folder for .psk files, but the data in the IBT files appears to be a combination of the .pro file and a binary version of the .ski file. :weird: So it might be possible to get overriding skeletal meshes to work, but it's not as simple as providing an external file and hiding the IBT version from the game.
Too bad, I had hoped it would be possible to use your character to play the original game as a girl with a very deep voice. :joke:
lolkabl on 17/10/2013 at 13:06
I do not understand a bit... Do you mean that just replacing .psk and automatically created .pro and ,ski is not enough? oO
Quote:
Too bad, I had hoped it would be possible to use your character to play the original game as a girl with a very deep voice.
Haha, it would be intresting :D
ADDED:
I think I am a little closer now.
At first, I've just added Unwrao UVW modifer to each part of model (5 parts - body, legs, hands, :
(
http://cs421726.vk.me/v421726506/7dd3/ZDK1TpokcJo.jpg)
Now I don't have errors in item 5, and Garrett have his old texture now.
Also I changed .ski file - I've just copied info from old Garrett_08.ski (found this idea long ago somewhere on ttlg). Now it has animation:
(
http://cs421726.vk.me/v421726506/7ddc/6J4OeTkhIC0.jpg)
Now it's a little more scary, but it's better :D
(
http://cs421726.vk.me/v421726506/7de5/SR3W3tVoAlA.jpg)
I will add this info to tutorial when I'll be sure that it works fine )
I think that I have to link mesh and bones (I don't know how, time to read some tutorials)). Maybe it will also need new texture after that.
snobel on 17/10/2013 at 14:08
Quote Posted by lolkabl
I do not understand a bit... Do you mean that just replacing .psk and automatically created .pro and ,ski is not enough? oO
Well I've patched the game so that it will find and use external resources even when blockloading. So there's no guarantee that it should work. But it works for textures and seems to work for static meshes and trigger scripts so why not skeletal meshes? :)
Maybe I'll have a look at what happens when the game is
not blockloading, in that case it
must use the external files, right?
lolkabl on 11/11/2013 at 16:44
A little thing. After that nobody will sleep well.
(
http://youtu.be/38cKscjYwM8)
And more of box just for kidding: (
http://www.youtube.com/watch?v=Gj8Y-vBfsLs) It has no arms, but it must fight. This makes box angry.
I'm too lazy to create tutorial in pictures, so I just tell.
At first, I found tdsrig_bones.max among files downloaded from TTLG long ago. It was the skeleton. I drew a box, linked it to the bone and added material (an educated bet, really) and exported as a exp.psk. After that I've added an animation of guard to my box in the SkeletonBrowser, changed parameter Render>SkeletalTag to "exp" on some NPC and launched. What happened - see on the second video. After that I decided to try the same with already imported from fbx Garrett. I've created the box by the same way. The result - the first video. Box attached well. That's fine. Fun, but fine. Theoretically, it should work good if I will link other parts - I'm on the way. Nearly victory.
snobel on 12/11/2013 at 07:11
Now, that was weird! :D But nice to see progress...