Join also our Discord channel! Click here.

[PS2] Death by Degrees UV extraction (500$ compensation)

Post questions about game models here, or help out others!
User avatar
MrAdults
Moderator
Posts: 1007
Joined: Mon Mar 23, 2009 2:57 am
Has thanked: 44 times
Been thanked: 501 times

Re: [PS2] Death by Degrees UV extraction (500$ compensation)

Post by MrAdults » Thu Apr 09, 2015 2:05 am

Good job coming through for mario there, IvoryCutter. Sorry I was a dick by default.

I could probably add the ability to apply different poses by name on top of the initial poses pretty easily. I didn't look to see if that pose data is a delta to or if it replaces the initial pose data for the supplied bones. If it replaces it, it'd actually work as-is, if you just add more AddDataToNamedSkeleton commands below the initial pose entries, and have those reference the character poses in the character mop file. That's just for initial anim poses though, not actual sequences. The way actual animation sequence deltas are stored may or may not be easy to figure out. I can probably look into that sometime in the next weekend or two. I also never looked around to see if there's already a file that ties the objects and animations and everything together, I'm sure that data is somewhere, although it could be in the elf.

IvoryCutter
beginner
Posts: 31
Joined: Sun Jan 15, 2012 9:25 am
Has thanked: 22 times
Been thanked: 1 time

Re: [PS2] Death by Degrees UV extraction (500$ compensation)

Post by IvoryCutter » Thu Apr 09, 2015 9:51 pm

mariokart64n wrote: I'm no where close to the level that MrAdult is at, so I appreciate it very much that I wasn't forgotten about.
Ha! Mariokart, as MrAdults said himslef, he "never would've gotten involved with this thread if that hex block you pasted hadn't looked like it started off with VIF cycle and mask commands" ;-) So thanks for posting that hex block that starts off with VIF cycle and mask commands (I have no idea what any of this means).

I'm using your MaxScript for all the static objects. Mainly to put together the enormous and intricate cruise liner. I just wanna texture these parts manually (b/c I later want to have it 3D printed and I feel much more comfortable doing so if I know the model inside out), and the colour coding your script provides is just such a brilliant and convenient way to do that.

For models with an armature I use Noesis, obviously. So happy to see the format supported so flawlessly in the newest releases.
MrAdults wrote:Good job coming through for mario there, IvoryCutter. Sorry I was a dick by default.
Ha! Don't be! After our little back and forth I went ahead and had a look at how a lot of these financial offers go, both here and on a few other forums. Let's just say, I can absolutely see where the skepticism came from. :-)
MrAdults wrote:I could probably add the ability to apply different poses by name on top of the initial poses pretty easily. I didn't look to see if that pose data is a delta to or if it replaces the initial pose data for the supplied bones. If it replaces it, it'd actually work as-is, if you just add more AddDataToNamedSkeleton commands below the initial pose entries, and have those reference the character poses in the character mop file. That's just for initial anim poses though, not actual sequences. The way actual animation sequence deltas are stored may or may not be easy to figure out. I can probably look into that sometime in the next weekend or two. I also never looked around to see if there's already a file that ties the objects and animations and everything together, I'm sure that data is somewhere, although it could be in the elf.
Many thanks for the explanation. Didn't know applying the in-game animation poses would be that easy. At least you make it sound easy. Looking forward to play around with that later. If you ever get a chance to look into what you call animation sequence deltas, that would be the icing on the cake. With mario's brilliant maxscript and the complete and flawless noesis implementation this game has already received so much more attention and support than I ever anticipated. To think that, originally, I was just looking for UV data... Bloody hell, you guys!!!

Doronetty
advanced
Posts: 51
Joined: Thu Jun 03, 2010 11:05 am
Has thanked: 25 times
Been thanked: 3 times

Re: [PS2] Death by Degrees UV extraction (500$ compensation)

Post by Doronetty » Tue Apr 14, 2015 10:23 pm

Death by Degrees and Tekken 5 models can be ripped now - it's really GREAT news!!!
And what about Tekken 4 - this game have different models format?

IvoryCutter
beginner
Posts: 31
Joined: Sun Jan 15, 2012 9:25 am
Has thanked: 22 times
Been thanked: 1 time

Re: [PS2] Death by Degrees UV extraction (500$ compensation)

Post by IvoryCutter » Sun Apr 19, 2015 1:57 pm

MrAdults, are there commands to let you skip over armatures/bones that are included by default?
I've tried the obvious suspects like SkipBySkeletonName, SkipByBoneName etc but to no avail.

edit: pictures
eg. Armature for Anna's hair even though the txt file with the correct code was used to only have Heihachi's meshes and armature loaded.

Image

or here, where armature for Lana's dress and Nina's hair show up even though the code only references Enrique's meshes and armature.

Image

There's probably a very obvious command that I'm just missing...

Doronetty wrote:Death by Degrees and Tekken 5 models can be ripped now - it's really GREAT news!!!
And what about Tekken 4 - this game have different models format?
I suppose so.

User avatar
MrAdults
Moderator
Posts: 1007
Joined: Mon Mar 23, 2009 2:57 am
Has thanked: 44 times
Been thanked: 501 times

Re: [PS2] Death by Degrees UV extraction (500$ compensation)

Post by MrAdults » Tue Apr 21, 2015 4:09 am

I guess those skeletons are embedded in the file you're loading. I might not be ignoring object skeletons along with object meshes, which it's probably always appropriate to do. If you send over the dbdinfo's you're using, I'll take a look next time I get a chance.

IvoryCutter
beginner
Posts: 31
Joined: Sun Jan 15, 2012 9:25 am
Has thanked: 22 times
Been thanked: 1 time

Re: [PS2] Death by Degrees UV extraction (500$ compensation)

Post by IvoryCutter » Sat Apr 25, 2015 10:08 am

Thank you!

This is the code I've used on Enrique's files (As a side note, he's referenced as "ben" in the character files, which finally confirmed my suspicion he was designed after the likeness of Benicio del Toro. Ha!:

Code: Select all

AddDataToNamedSkeleton "ben_rhand_pose" "chr_common.mop" "02_ben_Rhand_INITIAL_TRANS.mot"
AddDataToNamedSkeleton "ben_rhand_pose" "chr_common.mop" "02_ben_Rhand_INITIAL_ROT.mot"
AddDataToNamedSkeleton "ben_facial_pose" "chr_common.mop" "02_ben_facial_INITIAL_TRANS.mot"
AddDataToNamedSkeleton "ben_facial_pose" "chr_common.mop" "02_ben_facial_INITIAL_ROT.mot"

;apply named skeleton to body, head, and hands
SetObjectNamedSkeleton "chr_ben_b1_mid.obj" "ben_main_pose"
SetObjectNamedSkeleton "chr_ben_tfl_mid.obj" "ben_lhand_pose"
SetObjectNamedSkeleton "chr_ben_tfr_mid.obj" "ben_rhand_pose"
SetObjectNamedSkeleton "chr_ben_hf_mid.obj" "ben_facial_pose"

;just reparent the skeletons for the hands and face, geo is already in the right place.
;the last parameter here is the number of bones which influence weights in front of the
;base joint for the object's local skeleton. so 11 3 means reparent to joint 11 (head),
;while bone weight indices 0-2 reference joints 9-11.
ReparentObjectSkeletonAndRebaseWeights "chr_ben_hf_mid.obj" "ben_main_pose" 11 3
ReparentObjectSkeletonAndRebaseWeights "chr_ben_tfl_mid.obj" "ben_main_pose" 15 2
ReparentObjectSkeletonAndRebaseWeights "chr_ben_tfr_mid.obj" "ben_main_pose" 19 2

;skip over shadow mesh
;skip over effect shell by material
SkipByMaterialName "material1000139f" 1
SkipByObjectName "chr_nin_s1.obj" 1
SkipByObjectName "chr_fer_s1.obj" 1
SkipByObjectName "chr_ben_s1.obj" 1
SkipByObjectName "chr_stv_s1.obj" 1
SkipByObjectName "chr_k1d1sn0n.obj" 1

;skip over additional character models
SkipByObjectName "chr_fer_dk1_mid.obj" 1
SkipByObjectName "chr_fer_dk2_mid.obj" 1
SkipByObjectName "chr_fer_dk3_mid.obj" 1
SkipByObjectName "chr_fer_dk4_mid.obj" 1
SkipByObjectName "chr_fer_dk5_mid.obj" 1
SkipByObjectName "chr_fer_dk6_mid.obj" 1
SkipByObjectName "chr_fer_dk7_mid.obj" 1
SkipByObjectName "chr_fer_b1_mid.obj" 1
SkipByObjectName "chr_fer_hf_mid.obj" 1
SkipByObjectName "chr_fer_tfl_mid.obj" 1
SkipByObjectName "chr_fer_tfr_mid.obj" 1
SkipByObjectName "chr_stv_b1_mid.obj" 1
SkipByObjectName "chr_stv_it1_mid.obj" 1
SkipByObjectName "chr_stv_it2_mid.obj" 1
SkipByObjectName "chr_stv_hf_mid.obj" 1
SkipByObjectName "chr_stv_tfl_mid.obj" 1
SkipByObjectName "chr_stv_tfr_mid.obj" 1
SkipByObjectName "chr_ni2_b1_mid.obj" 1
SkipByObjectName "chr_ni2_hf1_mid.obj" 1
SkipByObjectName "chr_ni2_tfl_mid.obj" 1
SkipByObjectName "chr_ni2_tfr_mid.obj" 1
SkipByObjectName "chr_ni2_dk1_mid.obj" 1
SkipByObjectName "chr_ni2_dk2_mid.obj" 1
SkipByObjectName "chr_ni2_dk3_mid.obj" 1
SkipByObjectName "chr_skn_b.obj" 1
SkipByObjectName "chr_skn_h3.obj" 1
SkipByObjectName "chr_skn_h2.obj" 1
SkipByObjectName "chr_skn_h4.obj" 1
SkipByObjectName "chr_skn_h1.obj" 1
SkipByObjectName "chr_skn_t3l.obj" 1
SkipByObjectName "chr_skn_t3r.obj" 1
SkipByObjectName "chr_skn_dk1.obj" 1

;skip over additional weapon models
SkipByObjectName "sub_brg_1.obj" 1
SkipByObjectName "sub_ebs_1.obj" 1
SkipByObjectName "sub_hdg_1.obj" 1
SkipByObjectName "sub_tsc_1.obj" 1
In case you need them, here are his files: http://www.mediafire.com/download/pl0u5 ... nrique.rar


edit:
MrAdults wrote:I had to add ReparentObjectSkeletonAndRebaseWeights for the cinematic models, cause they reference a bunch of different poses.

Image

I'll put a build up later with that change. Once I do, stuff like this will work (for s2000.obj):

Code: Select all

;uncomment if you want to force recalculation of triangle windings instead of relying on ps2 draw kicks with strip order
;FixWindings 1

;create a named skeleton from translation and rotation data
AddDataToNamedSkeleton "nina_main_pose" "../DATA0_files/chr_common.mop" "01_nin_Mid_INITIAL_TRANS.mot"
AddDataToNamedSkeleton "nina_main_pose" "../DATA0_files/chr_common.mop" "01_nin_Mid_INITIAL_ROT.mot"
AddDataToNamedSkeleton "nina_facial_pose" "../DATA0_files/chr_common.mop" "01_nin_facial_INITIAL_TRANS.mot"
AddDataToNamedSkeleton "nina_facial_pose" "../DATA0_files/chr_common.mop" "01_nin_facial_INITIAL_ROT.mot"
AddDataToNamedSkeleton "nina_lhand_pose" "../DATA0_files/chr_common.mop" "01_nin_Lhand_INITIAL_TRANS.mot"
AddDataToNamedSkeleton "nina_lhand_pose" "../DATA0_files/chr_common.mop" "01_nin_Lhand_INITIAL_ROT.mot"
AddDataToNamedSkeleton "nina_rhand_pose" "../DATA0_files/chr_common.mop" "01_nin_Rhand_INITIAL_TRANS.mot"
AddDataToNamedSkeleton "nina_rhand_pose" "../DATA0_files/chr_common.mop" "01_nin_Rhand_INITIAL_ROT.mot"

;apply named skeletons to body, face, and hands
SetObjectNamedSkeleton "chr_ni3_b1_mid.obj" "nina_main_pose"
SetObjectNamedSkeleton "chr_ni2_hf1_mid.obj" "nina_facial_pose"
SetObjectNamedSkeleton "chr_ni2_tfl_mid.obj" "nina_lhand_pose"
SetObjectNamedSkeleton "chr_ni2_tfr_mid.obj" "nina_rhand_pose"

;transform hair onto the head (the head bone index is 11)
;this will also transform and reparent any sub-skeletons associated with the object.
;can be used to perform transforms to multiple bones in order.
TransformAndReparentObject "chr_ni2_dk1_mid.obj" "nina_main_pose" 11
TransformAndReparentObject "chr_ni2_dk2_mid.obj" "nina_main_pose" 11
TransformAndReparentObject "chr_ni2_dk3_mid.obj" "nina_main_pose" 11
;just reparent the skeletons for the hands and face, geo is already in the right place.
;the last parameter here is the number of bones which influence weights in front of the
;base joint for the object's local skeleton. so 11 3 means reparent to joint 11 (head),
;while bone weight indices 0-2 reference joints 9-11.
ReparentObjectSkeletonAndRebaseWeights "chr_ni2_hf1_mid.obj" "nina_main_pose" 11 3
ReparentObjectSkeletonAndRebaseWeights "chr_ni2_tfl_mid.obj" "nina_main_pose" 15 2
ReparentObjectSkeletonAndRebaseWeights "chr_ni2_tfr_mid.obj" "nina_main_pose" 19 2

;skip over shadow mesh
SkipByObjectName "chr_nin_s1.obj" 1
;skip over alternate hair by material
SkipByMaterialName "material10001719" 1
SkipByMaterialName "material10001717" 1
SkipByMaterialName "material1000171b" 1
Also, for anyone using MrAdults' example script (quoted above) for s2000.obj (I've already seen it on deviantart lol), go for the code below instead, which references another one of Nina's skeletons that includes armature for the lower part of her dress:

Code: Select all

;uncomment if you want to force recalculation of triangle windings instead of relying on ps2 draw kicks with strip order
;FixWindings 1

;create a named skeleton from translation and rotation data
AddDataToNamedSkeleton "nina_main_pose" "chr_common.mop" "01_nin_Sk_Mid_INITIAL_TRANS.mot"
AddDataToNamedSkeleton "nina_main_pose" "chr_common.mop" "01_nin_Sk_Mid_INITIAL_ROT.mot"
AddDataToNamedSkeleton "nina_facial_pose" "chr_common.mop" "01_nin_facial_INITIAL_TRANS.mot"
AddDataToNamedSkeleton "nina_facial_pose" "chr_common.mop" "01_nin_facial_INITIAL_ROT.mot"
AddDataToNamedSkeleton "nina_lhand_pose" "chr_common.mop" "01_nin_Lhand_INITIAL_TRANS.mot"
AddDataToNamedSkeleton "nina_lhand_pose" "chr_common.mop" "01_nin_Lhand_INITIAL_ROT.mot"
AddDataToNamedSkeleton "nina_rhand_pose" "chr_common.mop" "01_nin_Rhand_INITIAL_TRANS.mot"
AddDataToNamedSkeleton "nina_rhand_pose" "chr_common.mop" "01_nin_Rhand_INITIAL_ROT.mot"

;apply named skeletons to body, face, and hands
SetObjectNamedSkeleton "chr_ni3_b1_mid.obj" "nina_main_pose"
SetObjectNamedSkeleton "chr_ni2_hf1_mid.obj" "nina_facial_pose"
SetObjectNamedSkeleton "chr_ni2_tfl_mid.obj" "nina_lhand_pose"
SetObjectNamedSkeleton "chr_ni2_tfr_mid.obj" "nina_rhand_pose"

;transform hair onto the head (the head bone index is 11)
;this will also transform and reparent any sub-skeletons associated with the object.
;can be used to perform transforms to multiple bones in order.
TransformAndReparentObject "chr_ni2_dk1_mid.obj" "nina_main_pose" 11
TransformAndReparentObject "chr_ni2_dk2_mid.obj" "nina_main_pose" 11
TransformAndReparentObject "chr_ni2_dk3_mid.obj" "nina_main_pose" 11
;just reparent the skeletons for the hands and face, geo is already in the right place.
;the last parameter here is the number of bones which influence weights in front of the
;base joint for the object's local skeleton. so 11 3 means reparent to joint 11 (head),
;while bone weight indices 0-2 reference joints 9-11.
ReparentObjectSkeletonAndRebaseWeights "chr_ni2_hf1_mid.obj" "nina_main_pose" 11 3
ReparentObjectSkeletonAndRebaseWeights "chr_ni2_tfl_mid.obj" "nina_main_pose" 15 2
ReparentObjectSkeletonAndRebaseWeights "chr_ni2_tfr_mid.obj" "nina_main_pose" 19 2

;skip over shadow mesh
SkipByObjectName "chr_nin_s1.obj" 1
;skip over alternate hair by material
SkipByMaterialName "material10001719" 1
SkipByMaterialName "material10001717" 1
SkipByMaterialName "material1000171b" 1

User avatar
MrAdults
Moderator
Posts: 1007
Joined: Mon Mar 23, 2009 2:57 am
Has thanked: 44 times
Been thanked: 501 times

Re: [PS2] Death by Degrees UV extraction (500$ compensation)

Post by MrAdults » Sun Apr 26, 2015 3:05 am

Yeah, looks like it just needs to skip the skeletons associated with the objects too. Will be fixed whenever I get a new build up.

gledson999
ultra-n00b
Posts: 5
Joined: Sun Mar 18, 2012 3:59 am

Re: [PS2] Death by Degrees UV extraction (500$ compensation)

Post by gledson999 » Sun Nov 29, 2015 5:29 am

anyone had a plugin or tool to import this model for ps2?

Post Reply