封神召唤师 - God Summoner (*.sm, *.skel, *.anim)

Skeletons, animations, shaders, texturing, converting, fixing and anything else related to read game models
Ekey
Posts: 1383
Joined: Sat Aug 09, 2014 2:34 pm

封神召唤师 - God Summoner (*.sm, *.skel, *.anim)

Post by Ekey »

Hey everyone. Can someone help to make 3DMax or Noesis script for loading models from this games? I've uploaded archive with sample files.

Image

Code: Select all

anim - Animation
skel - Skeleton
sm - Mesh ???
vsm - Mesh settings (xml)


Samples: > here (~200mb)

I will be grateful! Thanks advance! :)
Szkaradek123
Posts: 124
Joined: Sat Aug 29, 2015 1:13 pm

Re: 封神召唤师 - God Summoner (*.sm, *.skel, *.anim)

Post by Szkaradek123 »

About skin models:

First section - vertex :
3 shorts as vertex position
1 short as scale for vertex position
4 bytes as normals
2 shorts as UV
4 bytes as skin weights
4 bytes as skin indices

Code: Select all

      for m in range(A[1]):# vertex count
         [x,y,z]=g.short(3,'h',15)
         fl=g.H(1)[0]# scale value for vertex position
         x*=fl
         y*=fl
         z*=fl
         mesh.vertPosList.append([x,y,z])
         r=g.B(4)
         mesh.vertUVList.append(g.short(2,'h',15))
         mesh.skinWeightList.append(g.B(4))
         mesh.skinIndiceList.append(g.B(4))


Next section:
materials with bone maps and bind bones as matrices 12 halfs

Code: Select all

      while(True):
         mat=Mat()
         mat.TRIANGLE=True
         mesh.matList.append(mat)
         g.i(1)[0]
         g.H(1)
         mat.box=g.f(6)         
         B=g.i(1)[0]#triangle count
         mat.IDStart=len(mesh.indiceList)
         mat.IDCount=B*3
         indices=g.H(B*3)
         mesh.indiceList.extend(indices)
         g.i(3)
         c=g.i(1)[0]
         skin=Skin()
         mesh.skinList.append(skin)
         for n in range(c):
            bone=Bone()
            id=g.H(1)[0]
            bone.name=str(id)
            bindSkeleton.boneList.append(bone)
            skin.boneMap.append(id)
            bone.matrix=Matrix4x3(g.half(12)).invert()
         if g.tell()>=g.fileSize():break


Here is Blender file to import skin, sm and skel files.
It require to install Blender version 249 and Python 26.
How to get skeleton position for meshes:
1. import skel file
2. select pose armature
3. import skin file

Please if something is wrong send me info.
Ekey
Posts: 1383
Joined: Sat Aug 09, 2014 2:34 pm

Re: 封神召唤师 - God Summoner (*.sm, *.skel, *.anim)

Post by Ekey »

Thanks for help! :)
Kovace
Posts: 9
Joined: Tue Feb 05, 2019 11:36 am

Re: 封神召唤师 - God Summoner (*.sm, *.skel, *.anim)

Post by Kovace »

this softwer make me crazy. so i use the script and throw me a error in ---> File "..\1scripts\newGameLib\myLibraries\commandLib.py", line 3, in <module>
import zipfile
i miss something here??? or i get wrong install??
Karpati
Posts: 107
Joined: Wed Nov 12, 2014 1:46 pm

Re: 封神召唤师 - God Summoner (*.sm, *.skel, *.anim)

Post by Karpati »

You can open the
- God Summoner .SM/VSM
- God Summoner .SKIN/VSKIN files using the following programs:

- 3D Object Converter v7.035 (Windows)
- i3DConverter v3.70 (macOS)
- i3DConverter v1.70 (Linux)

How to get the 3D Object Converter:
Download the 3D Object Converter from http://3doc.i3dconverter.com and install it or download and use the portable version.
After it just use the Help/Check for updates... function to get the v7.035.

How to get the i3DConverter macOS:
Download the i3DConverter from http://www.i3dconverter.com and install it.

How to get the i3DConverter Linux:
Download the i3DConverter from http://www.i3dconverter.com and install it.