Important information: this site is currently scheduled to go offline indefinitely by December 1st 2023.
If you wish to donate to attempt the preservation of tools and software somewhere else before it goes down, check the GoFundMe

Ninja Gaiden 3 (NG3) / Dead or Alive 5 (DOA5) noesis script.

Post questions about game models here, or help out others!
sophist82
ultra-n00b
Posts: 7
Joined: Sat Apr 21, 2012 4:39 pm
Has thanked: 5 times
Been thanked: 6 times

Re: Ninja Gaiden 3 (NG3) / Dead or Alive 5 (DOA5) noesis scr

Post by sophist82 »

252gt// Which version of Noesis are u using?
Because my noesis doesn't even show bones at all...
252gt
beginner
Posts: 22
Joined: Sat Aug 13, 2011 6:52 pm
Has thanked: 16 times
Been thanked: 11 times

Re: Ninja Gaiden 3 (NG3) / Dead or Alive 5 (DOA5) noesis scr

Post by 252gt »

Sorry
I edit the post

I CAN NOT see Bones


I am really Sorry

--Sorry for BAD English--
Darko
double-veteran
double-veteran
Posts: 723
Joined: Mon Jul 13, 2009 6:16 pm
Has thanked: 72 times
Been thanked: 338 times

Re: Ninja Gaiden 3 (NG3) / Dead or Alive 5 (DOA5) noesis scr

Post by Darko »

252gt wrote:Sorry
I edit the post

I CAN NOT see Bones


I am really Sorry

--Sorry for BAD English--
The recent script doesn't support bones and skinning.

See ya
Image
User avatar
zaykho
mega-veteran
mega-veteran
Posts: 217
Joined: Fri Dec 03, 2010 1:20 pm
Location: France
Has thanked: 158 times
Been thanked: 163 times

Re: Ninja Gaiden 3 (NG3) / Dead or Alive 5 (DOA5) noesis scr

Post by zaykho »

Darko wrote:
252gt wrote:Sorry
I edit the post

I CAN NOT see Bones


I am really Sorry

--Sorry for BAD English--
The recent script doesn't support bones and skinning.

See ya
Yes Bones and animation are not supported yet.
howfie
double-veteran
double-veteran
Posts: 929
Joined: Fri Jul 08, 2011 12:06 pm
Location: Torrance, CA
Has thanked: 10 times
Been thanked: 473 times

Re: Ninja Gaiden 3 (NG3) / Dead or Alive 5 (DOA5) noesis scr

Post by howfie »

Bones are extractable from this game; they are in the HieLay section. Data is in a simple adjacency list with joints in relative positions. I have no time, but if anyone wants to convert the following code you may do so:

Image

Code: Select all

#include "xentax.h"
#include "x_file.h"
#include "x_win32.h"
#include "x_stream.h"
using namespace std;

// HieLay 0x2A80

struct treenode {
 real32 m[16];
 real32 x;
 real32 y;
 real32 z;
 uint32 parent;
 deque<uint32> children;
};

bool traverse_tree(deque<treenode>& tree, uint32 root)
{
 // get parent
 uint32 parent = tree[root].parent;

 // get relative position
 real32 x = tree[root].m[12];
 real32 y = tree[root].m[13];
 real32 z = tree[root].m[14];
 tree[root].x = x;
 tree[root].y = y;
 tree[root].z = z;

 // relative-to-absolute position
 if(parent != 0xFFFFFFFF) {
    tree[root].x += tree[parent].x;
    tree[root].y += tree[parent].y;
    tree[root].z += tree[parent].z;
   }

 // DFS
 for(size_t i = 0; i < tree[root].children.size(); i++)
     traverse_tree(tree, tree[root].children[i]);

 return true;
}

bool TestDOA5(void)
{
 const char* filename = "HITOMI_DLC_006.TMC";
 ifstream ifile(filename, ios::binary);
 if(!ifile) return error("1");

 // move to HieLay
 uint32 hielayoffset = 0x2A80;
 ifile.seekg(hielayoffset);
 if(ifile.fail()) return error("2");

 // read magic number
 auto magic = BE_read_uint64(ifile);
 if(magic != 0x4869654C61790000L) return error("3");

 // read signature
 auto signature = BE_read_uint32(ifile);
 if(signature != 0xFF000101) return error("4");

 // read headersize
 auto headersize = BE_read_uint32(ifile);
 if(headersize != 0x30) return error("5");

 // read chunksize
 auto chunksize = BE_read_uint32(ifile);
 if(chunksize == 0) return error("6");

 // read number of joints
 auto njoints1 = BE_read_uint32(ifile);
 auto njoints2 = BE_read_uint32(ifile);
 if(njoints1 == 0) return error("7");
 if(njoints2 == 0) return error("8");
 if(njoints1 != njoints2) return error("9");

 // read zero
 auto z01 = BE_read_uint32(ifile);
 if(ifile.fail()) return error("10");

 // read headersize #2
 auto headersize2 = BE_read_uint32(ifile);
 if(headersize2 != 0x30) return error("11a");
 if(headersize != headersize2) return error("11b");

 // read zero
 auto z02 = BE_read_uint32(ifile);
 if(ifile.fail()) return error("12");

 // read offset to matrices
 auto moffset = BE_read_uint32(ifile);
 if(moffset == 0) return error("13");

 // read zero
 auto z03 = BE_read_uint32(ifile);
 if(ifile.fail()) return error("14");

 // move back to the beginning
 ifile.seekg(hielayoffset);
 if(ifile.fail()) return error("15");

 // read hielay section
 boost::shared_array<char> data(new char[chunksize]);
 ifile.read(data.get(), chunksize);
 if(ifile.fail()) return error("16");

 // create binary stream
 binary_stream bs(data, chunksize);

 // move to matrix offsets
 bs.seek(headersize);
 if(bs.fail()) return error("17");

 // read offsets
 deque<uint32> offsets;
 for(auto i = 0u; i < njoints1; i++) {
     auto item = bs.BE_read_uint32();
     if(item == 0) return error("18");
     offsets.push_back(item);
    }

 // read adjacency list
 deque<treenode> adjlist;
 for(auto i = 0u; i < njoints1; i++)
    {
     // move to data
     bs.seek(offsets[i]);
     if(bs.fail()) return error("19");

     // read matrix
     treenode node;
     bs.BE_read_array(&node.m[0], 16);
     if(bs.fail()) return error("20");

     // x, y, z
     auto x = node.m[12];
     auto y = node.m[13];
     auto z = node.m[14];

     // parent
     node.parent = bs.BE_read_uint32();
     if(bs.fail()) return error("21");

     // children
     auto children = bs.BE_read_uint32();
     if(bs.fail()) return error("22");

     // unknowns
     auto unk01 = bs.BE_read_uint32();
     auto unk02 = bs.BE_read_uint32();
     if(bs.fail()) return error("23");

     // children
     for(auto j = 0u; j < children; j++) {
         auto index = bs.BE_read_uint32();
         if(bs.fail()) return error("24");
         node.children.push_back(index);
        }

     // add node
     adjlist.push_back(node);
    }

 // traverse tree to compute relative to absolute
 traverse_tree(adjlist, 0);

 // create output file
 stringstream ss;
 ss << GetPathnameFromFilename(filename) << GetShortFilenameWithoutExtension(filename) << ".OBJ";
 ofstream ofile(ss.str().c_str());
 if(!ofile) return error("25");

 // print vertices
 for(size_t i = 0; i < adjlist.size(); i++) {
     real32 x = adjlist[i].x;
     real32 y = adjlist[i].y;
     real32 z = adjlist[i].z;
     ofile << "v " << x << " " << y << " " << z << endl;
    }

 // print faces
 for(size_t i = 0; i < adjlist.size(); i++) {
     for(size_t j = 0; j < adjlist[i].children.size(); j++) {
         uint32 a = i + 1;
         uint32 b = adjlist[i].children[j] + 1;
         ofile << "f " << a << " " << b << endl;
        }
    }

 return true;
}

int main()
{
 TestDOA5();
 return 0;
}
mariokart64n
ultra-veteran
ultra-veteran
Posts: 586
Joined: Sun Jun 05, 2005 12:00 pm
Location: Ontario, Canada
Has thanked: 36 times
Been thanked: 446 times

Re: Ninja Gaiden 3 (NG3) / Dead or Alive 5 (DOA5) noesis scr

Post by mariokart64n »

wow look at the bones they put there.. >_> on the boobs

no wonder they move weird, that setup for for having them ripple lol
Maxscript and other finished work I've done can be found on my DeviantArt account
Darko
double-veteran
double-veteran
Posts: 723
Joined: Mon Jul 13, 2009 6:16 pm
Has thanked: 72 times
Been thanked: 338 times

Re: Ninja Gaiden 3 (NG3) / Dead or Alive 5 (DOA5) noesis scr

Post by Darko »

mariokart64n wrote:wow look at the bones they put there.. >_> on the boobs

no wonder they move weird, that setup for for having them ripple lol
It's beacuase they wanted to have "real boobs movements" lol.
Image
sophist82
ultra-n00b
Posts: 7
Joined: Sat Apr 21, 2012 4:39 pm
Has thanked: 5 times
Been thanked: 6 times

Re: Ninja Gaiden 3 (NG3) / Dead or Alive 5 (DOA5) noesis scr

Post by sophist82 »

That's great!!! howfie!!

Then would u able to get skin weight data from it as well?

I hope it isn't that hard to pull it out...
MuffinMan123
beginner
Posts: 39
Joined: Fri Feb 25, 2011 3:36 am
Has thanked: 1 time
Been thanked: 16 times

Re: Ninja Gaiden 3 (NG3) / Dead or Alive 5 (DOA5) noesis scr

Post by MuffinMan123 »

can someone verify if this nude mod is real or shopped? the texture of the body looks like DOA4 so I am guessing this is DOA4 mod plus shopped DOA5 face. saw this on japanese site.

how can I disable the preview of the pic? it's not safe for work
Resize of 1349985587893.jpg
You do not have the required permissions to view the files attached to this post.
mariokart64n
ultra-veteran
ultra-veteran
Posts: 586
Joined: Sun Jun 05, 2005 12:00 pm
Location: Ontario, Canada
Has thanked: 36 times
Been thanked: 446 times

Re: Ninja Gaiden 3 (NG3) / Dead or Alive 5 (DOA5) noesis scr

Post by mariokart64n »

*cough* xnalara
Maxscript and other finished work I've done can be found on my DeviantArt account
User avatar
zaykho
mega-veteran
mega-veteran
Posts: 217
Joined: Fri Dec 03, 2010 1:20 pm
Location: France
Has thanked: 158 times
Been thanked: 163 times

Re: Ninja Gaiden 3 (NG3) / Dead or Alive 5 (DOA5) noesis scr

Post by zaykho »

MuffinMan123 wrote:can someone verify if this nude mod is real or shopped? the texture of the body looks like DOA4 so I am guessing this is DOA4 mod plus shopped DOA5 face. saw this on japanese site.

Image
Yes it's a true one, at least, it's a perfect body from DOA 5, don't know if it's imported in the game.

Guys, next time provide the link !

here the link of where @MuffinMan123 found the picture -->
http://3d.skr.jp/3d/3d.php?res=254267

This one too is a perfect body from DOA5 :
Image
http://www.coregrafx.info/sexy2/index.html
how can I disable the preview of the pic? it's not safe for work
We don't care of this shit here, nude or not, everything is the same when it's in 3D...


Some comparison DOA4/DOAX2 vs DOA5 with the little princess Kasusu : :p

ImageImageImageImage

Image

some people have too much free time isn't it ? :dance:
wdw89
n00b
Posts: 10
Joined: Sat Apr 07, 2012 9:10 am
Has thanked: 7 times
Been thanked: 5 times

Re: Ninja Gaiden 3 (NG3) / Dead or Alive 5 (DOA5) noesis scr

Post by wdw89 »

blackfoxeye wrote:
wdw89 wrote: My method:
1. Open doa5_360.py (v1.5) noesis script, replace "material.setSpecularTexture(texNameList[texId])" to "material.setNormalTexture(texNameList[texId])", because some hair's normal maps are set to specular map in the original script.
2. Use noesis to export to fbx and tga.
3. download filetexturemanager, a maya script.http://www.creativecrash.com/maya/downl ... uremanager Put it in \Documents\maya\2013-x64 (your version)\scripts
4. Import fbx in maya, then type filetexturemanager in mel, enter. it can add texture path and extension (use the suffix)
5. You still need add alpha to transparency manually.

I can't find a script in 3ds max to batch add extension for textures, but 3ds max can change texture path using utilities-more-bitmap/photometric paths
I did all the steps you mentioned, but after opened the FileTextureManager, I am confused what to do.

How to add texture paths and extension ?

Can you please elaborate little bit more, how to use that.
Because all the texture names are in the fbx file, but without path and extension, so we need to add them.
After opening file texture manager:
1. Analyse scene file texture, then select the not exist one.
2. In target directory, change to the texture path.
3. In add suffix, type .tga (your texture extension with a dot)
4. Press set path, done.

The help tab has more information.
moge1975
n00b
Posts: 19
Joined: Thu Aug 09, 2012 11:32 am
Has thanked: 21 times
Been thanked: 17 times

Re: Ninja Gaiden 3 (NG3) / Dead or Alive 5 (DOA5) noesis scr

Post by moge1975 »

how to get this texture? :?
Image
JayK
mega-veteran
mega-veteran
Posts: 172
Joined: Fri Jun 01, 2012 10:08 am
Has thanked: 35 times
Been thanked: 195 times

Re: Ninja Gaiden 3 (NG3) / Dead or Alive 5 (DOA5) noesis scr

Post by JayK »

those textures are in the 7R* xpr2 files along with their respective tmcls
misquared
ultra-n00b
Posts: 4
Joined: Tue Oct 26, 2010 1:32 am
Been thanked: 2 times

Re: Ninja Gaiden 3 (NG3) / Dead or Alive 5 (DOA5) noesis scr

Post by misquared »

I have noesis and the new script
However my PC can't take anymore space

May I ask for Kokoro's Pink Kimono (default) model please? :( (This: http://images1.wikia.nocookie.net/__cb2 ... Render.png)
That's the only one I want from this game^^;
Post Reply