Tales of Zestiria

The Original Forum. Game archives, full of resources. How to open them? Get help here.
dian333
beginner
Posts: 36
Joined: Mon Sep 15, 2014 11:59 pm
Has thanked: 1 time
Been thanked: 9 times

Re: Tales of Zestiria

Post by dian333 » Tue Sep 06, 2016 9:05 am

before look down
let me explore the reason FVFsize change from 28 to 32

when FVFsize==28

Code: Select all

structrue is
position :   x  y  z
normal? :   float float float
bone index:   for example (17) / 00 /00/ 00


when FVFsize==32 (from 0x594c)

Code: Select all

structrue is
position :   x  y  z
normal? :   float float float
bone index1:   for example (13)/bone index2:   for example (12) /00 00
weight:     float                              for example   0.8    0.13    0.52  0.9  0.5   0.68 0.2  .......

dian333
beginner
Posts: 36
Joined: Mon Sep 15, 2014 11:59 pm
Has thanked: 1 time
Been thanked: 9 times

Re: Tales of Zestiria

Post by dian333 » Tue Sep 06, 2016 9:20 am

back to
offset 0xb28 : {3A 01 00 00}= 314
so 0x594c+314x FVFsize(32) =0x808c

FVF size ==36

Code: Select all

structrue is
position :   x  y  z
normal? :   float float float
bone index1:   for example (0x00)/bone index2:   for example (0x07) /bone index2:   for example (0x08)/ 00
weight1:     float                for example       0.2                
weight2:     float                for example       0.4
that it is say
we can think 0.4 /0.2/0.4 is weight to bone(bone_index) 0x00/0x07/0x08
or 0.2/0.4/0.4

User avatar
shakotay2
MEGAVETERAN
MEGAVETERAN
Posts: 3461
Joined: Fri Apr 20, 2012 9:24 am
Location: Nexus, searching for Jim Kirk
Has thanked: 955 times
Been thanked: 1876 times

Re: Tales of Zestiria

Post by shakotay2 » Tue Sep 06, 2016 10:30 am

sry to interrupt you (see you're using this thread as kinda memo pad :D )

I modified chiri's C# code to directly import your uploaded .dat file:
0b8f_14.jpg
There were 23 objects contained, most of them didn't provide proper vertices for some unknown reasons (FIs ok, so far).

had to expand this line -which I did not fully understand- for those objects with proper vertices, by 12 and -1:
if ((invalidPos == 6) || (invalidPos == 12) || (invalidPos == -1))

Sadly I didn't get correct uvs, so I've suspended further programatical investigations.
You do not have the required permissions to view the files attached to this post.
Bigchillghost, Reverse Engineering a Game Model: viewtopic.php?f=29&t=17889
extracting simple models: viewtopic.php?f=29&t=10894
Make_H2O-ForzaHor3-jm9.zip
"You quoted the whole thing, what a mess."

dian333
beginner
Posts: 36
Joined: Mon Sep 15, 2014 11:59 pm
Has thanked: 1 time
Been thanked: 9 times

Re: Tales of Zestiria

Post by dian333 » Tue Sep 06, 2016 11:25 am

this is the file in DLC 008 "TOMDLB_D"and"TOMDLP_P":
https://mega.nz/#!xowBHIYB!RaLQ2XBeDC0_ ... HXEvQUxMN8

maybe, here be 1-2 cloth model
(i find one texture of cloth only,and i can't find out what is the file name mean or which model in file)

dian333
beginner
Posts: 36
Joined: Mon Sep 15, 2014 11:59 pm
Has thanked: 1 time
Been thanked: 9 times

Re: Tales of Zestiria

Post by dian333 » Wed Sep 07, 2016 11:46 am

in "00000c6f"
write a python code in noesis ,but the scale of the bone is too large.
pull it(export to .dae format) into Blender
You do not have the required permissions to view the files attached to this post.

dian333
beginner
Posts: 36
Joined: Mon Sep 15, 2014 11:59 pm
Has thanked: 1 time
Been thanked: 9 times

Re: Tales of Zestiria

Post by dian333 » Thu Sep 08, 2016 6:48 pm

bone_name
bone_parent
bone_matrix

vert_number
vert_data offset
face_vertindex_offset
face_vertindex_reading_lenth

vert_relate_bone_Index and vert_weight
==============================
these have been find out
but, the weight (<bone_index number) can't diretly read float into noesis data,need a "1- float" --calculate

Code: Select all

                                            can't use rapi.  
                                                     rapi.rpgBindBoneWeightBufferOfs(VertBuff, noesis.RPGEODATA_FLOAT, vertSize[i], Weightpos, 4)
So,
copy python code from "fmt_mdl.py" (TalesGFScripts)

Code: Select all

about weight
for n in range(list1[0]):
      ....
      skinIndiceList.append([v4[0]])
      skinWeightList.append([1.0])
for n in range(list1[1]):
      ......
      v5=g.readFloat()
      skinIndiceList.append(v4[:2])
      skinWeightList.append([v5,1.0-v5])
#"and so on"
     ...
     skinWeightList.append([v5,v6,1.0-v5-v6])
     ....
     skinWeightList.append([v5,v6,v7,1.0-v5-v6-v7])
= =sadly, "fmt_mdl.py" don't have complete code to add weight ,only ###code
like "##mesh.skinWeightList.append([1.0])"

dian333
beginner
Posts: 36
Joined: Mon Sep 15, 2014 11:59 pm
Has thanked: 1 time
Been thanked: 9 times

Re: Tales of Zestiria

Post by dian333 » Thu Sep 08, 2016 7:02 pm

maybe, changing the code in "__NPExample.txt" is a way.
——build a extra weightbuff to be "rapi.rpgBindBoneWeightBuffer()"ed

Code: Select all

if numWeights > 0:
			vwList = []
			for j in range(0, numWeights):
				vwNum = bs.readInt()
				bidx = []
				bwgt = []
				for k in range(0, vwNum):
					bidx.append(bs.readInt())
				for k in range(0, vwNum):
					bwgt.append(bs.readFloat())
				vwList.append(NoeVertWeight(bidx, bwgt))
			fw = NoeFlatWeights(vwList)
			rapi.rpgBindBoneIndexBuffer(fw.flatW[:fw.weightValOfs], noesis.RPGEODATA_INT, 4*fw.weightsPerVert, fw.weightsPerVert)
			rapi.rpgBindBoneWeightBuffer(fw.flatW[fw.weightValOfs:], noesis.RPGEODATA_FLOAT, 4*fw.weightsPerVert, fw.weightsPerVert)
if vert is affect by only one bone:
if vert is affect by two bones:
if vert is affect by three bones:
if vert is affect four bones:

Code: Select all

         weight_after_calculate = .....
         bidx.append(....)
         bwgt.append(weight_after_calculate)

dian333
beginner
Posts: 36
Joined: Mon Sep 15, 2014 11:59 pm
Has thanked: 1 time
Been thanked: 9 times

Re: Tales of Zestiria

Post by dian333 » Fri Sep 09, 2016 3:31 pm

connect to http://imgur.com/ just waste time
You do not have the required permissions to view the files attached to this post.

dian333
beginner
Posts: 36
Joined: Mon Sep 15, 2014 11:59 pm
Has thanked: 1 time
Been thanked: 9 times

Re: Tales of Zestiria

Post by dian333 » Fri Sep 09, 2016 3:41 pm

can not find main bone of character,there are only some bones relate to (physical simulation)collision and joint ,and its' setting parameter.
and miss the character‘s face model(hair and weapon in another .dpd).
vertex data -bone_index and weight must be connected to main bone.
maybe have to download the game (size 11G)...
You do not have the required permissions to view the files attached to this post.

dian333
beginner
Posts: 36
Joined: Mon Sep 15, 2014 11:59 pm
Has thanked: 1 time
Been thanked: 9 times

Re: Tales of Zestiria

Post by dian333 » Fri Sep 09, 2016 3:44 pm

mesh detail
You do not have the required permissions to view the files attached to this post.

dian333
beginner
Posts: 36
Joined: Mon Sep 15, 2014 11:59 pm
Has thanked: 1 time
Been thanked: 9 times

Re: Tales of Zestiria

Post by dian333 » Wed Sep 14, 2016 6:26 pm

alisha_bone_all in file "00000064.dpd" (...PK1\WIN\TOMDLB_D\)
alisha asassin chest in file "00000a63.dpd" and "00000a64.dc5"(UV and face index data)

waste some time to find correct Bone__Pallet (Bone_map ,that is ,index which bone used in mesh -> bone_index in all Bone)
You do not have the required permissions to view the files attached to this post.

kotaxzz1
ultra-n00b
Posts: 8
Joined: Thu Aug 20, 2015 6:44 pm
Has thanked: 1 time

Re: Tales of Zestiria

Post by kotaxzz1 » Tue Mar 21, 2017 2:13 pm

running that code and i got invalid vertex index in max with no texture out :o

Escope12
veteran
Posts: 151
Joined: Tue Feb 28, 2012 12:42 am
Has thanked: 67 times
Been thanked: 3 times

Re: Tales of Zestiria

Post by Escope12 » Fri Apr 21, 2017 5:56 am

dian333 wrote:alisha_bone_all in file "00000064.dpd" (...PK1\WIN\TOMDLB_D\)
alisha asassin chest in file "00000a63.dpd" and "00000a64.dc5"(UV and face index data)

waste some time to find correct Bone__Pallet (Bone_map ,that is ,index which bone used in mesh -> bone_index in all Bone)
How did you do that?

dian333
beginner
Posts: 36
Joined: Mon Sep 15, 2014 11:59 pm
Has thanked: 1 time
Been thanked: 9 times

Re: Tales of Zestiria

Post by dian333 » Mon May 29, 2017 5:43 pm

Escope12 wrote:
dian333 wrote:alisha_bone_all in file "00000064.dpd" (...PK1\WIN\TOMDLB_D\)
alisha asassin chest in file "00000a63.dpd" and "00000a64.dc5"(UV and face index data)

waste some time to find correct Bone__Pallet (Bone_map ,that is ,index which bone used in mesh -> bone_index in all Bone)
How did you do that?
noesis code unfinish
last edited at 2016years 9th month
You do not have the required permissions to view the files attached to this post.

Post Reply