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

World of Warships

Post questions about game models here, or help out others!
User avatar
Andrakann
ultra-veteran
ultra-veteran
Posts: 392
Joined: Wed Jul 06, 2011 8:47 am
Location: Russia
Has thanked: 978 times
Been thanked: 336 times
Contact:

Re: World of Warships

Post by Andrakann »

JSA015_Taiho_1944 done.
Image Image


Again problems with secondary guns placement:
Image Image
You do not have the required permissions to view the files attached to this post.
User avatar
Andrakann
ultra-veteran
ultra-veteran
Posts: 392
Joined: Wed Jul 06, 2011 8:47 am
Location: Russia
Has thanked: 978 times
Been thanked: 336 times
Contact:

Re: World of Warships

Post by Andrakann »

JSA012_Zuikaku_1944 done.
Image Image


Also having problems with secondary guns positioning.
You do not have the required permissions to view the files attached to this post.
User avatar
Andrakann
ultra-veteran
ultra-veteran
Posts: 392
Joined: Wed Jul 06, 2011 8:47 am
Location: Russia
Has thanked: 978 times
Been thanked: 336 times
Contact:

Re: World of Warships

Post by Andrakann »

JSA011_Hiryu_1942 done.
Image Image


Again here's problems with secondary guns positioning.
You do not have the required permissions to view the files attached to this post.
User avatar
Andrakann
ultra-veteran
ultra-veteran
Posts: 392
Joined: Wed Jul 06, 2011 8:47 am
Location: Russia
Has thanked: 978 times
Been thanked: 336 times
Contact:

Re: World of Warships

Post by Andrakann »

Wobble wrote:
Coffee wrote: Im looking at the Yamato, all the guns but the secondary are pointing in the wrong direction. If this is the case with the other ships, I can filter this and rotate the NON-secondary guns.
How are you transforming your primitives?
Are you using the skinning information?

The main big guns like HP_JGM_3 are skinned, so you have to transform their vertices by their bones.
Other meshes are static.

If you overlay the visual skeletal system, you should see the guns pointing in the same direction as your bones:
Image
Wobble wrote:Root_BlendBone is not assigned to any vertices, so I don't see how it's being used.
Since the wargaming.net 3D artists use Maya to create their work, perhaps it's part of a leftover IK system. Root_BlendBone may be a controller bone from Maya.
Coffee wrote:which matrix are you using Wobble to transform the verts?
I create a hierarchy from all the visual nodes, and transform the vertices with a final world matrix that I calculate myself.
Wobble wrote:Just stick this into a 4x4 matrix, exactly as it appears.
Last row (row3) is translation.

Code: Select all

<transform>
   <row0>	1.000000 0.000000 0.000000 0.000000	</row0>
   <row1>	0.000000 1.000000 0.000000 0.000000	</row1>
   <row2>	0.000000 0.000000 1.000000 0.000000	</row2>
   <row3>	0.000000 0.487237 3.540462 1.000000	</row3>
</transform>
 
Matrix = |row0 row0 row0 row0| = | 1   0   0  0 |
         |row1 row1 row1 row1|   | 0   1   0  0 |
         |row2 row2 row2 row2|   | 0   0   1  0 |
         |row3 row3 row3 row3|   | 0 .48 3.5  1 |
btw, if you need your translation in the 4th column (instead of the 4th row), just transpose the matrix. This usually depends on whether you're using a left-handed or right-handed coordinate system. And if do transpose it, then you may also need to transpose the vector-matrix multiplication too.

But really, if you don't have this setup, then you should test it out first on a known system with a known dataset, so you know it works the way you designed it.
Wobble wrote:If you're using the skinning information, everything should transform correctly, except the catapults. I believe this is by design, even if you're using the skinning information. Catapult rotation should be added in using the ship's script. I gave an example of how to do this a while ago.
Image
Wobble, can you explain step-by-step how you read (recreate?) skeleton and skinning information, and what is "final world matrix" you created?
Because I think Mike is not very familiar with skeletal animation or missed something important...
User avatar
Wobble
ultra-veteran
ultra-veteran
Posts: 584
Joined: Tue Jan 04, 2005 9:47 pm
Has thanked: 43 times
Been thanked: 409 times

Re: World of Warships

Post by Wobble »

[out]
Last edited by Wobble on Sun Mar 12, 2017 11:21 am, edited 1 time in total.
User avatar
Coffee
ultra-veteran
ultra-veteran
Posts: 518
Joined: Thu Aug 06, 2015 5:57 pm
Has thanked: 74 times
Been thanked: 240 times

Re: World of Warships

Post by Coffee »

The problem Wobble is I'm working in OpenGL where the game is done in Direct3D (DirectX).
There are a couple of things that are different.
First.. Direct3D uses left hand coordinates. This means that the Z plus in direct3D points in to the screen from the viewers prospective. OpenGL Z is negative. Its opposite. This can be fixed by flipping the sign of the Z for the vertex and the Z of the normal. This however turns everything inside out so it looks backwards. So I invert both X and Z and this gives me the correct looking model but trashes all transforms.
There is NO magic transform that works for all times (As Wobble stated long ago).

I can pull any one item of the matrices from the guns .visual and use it. The 3x3 part of the transform is the same for any bone related node. I'm using Y_BlendBone or some name close to that. This seems to work and last night before I hit the issues with the deck planes being all screwed up, it looked like everything was correct except the planes. There are some translations on the finders that need to be summed. I don't even have code in place for this yet.

Bottom line: I can not and never will make this exactly the same as what a ship looks like in the port.
There are some things that are rotated by the clients engine like RADAR and some finders (Amagi has some finders slightly rotated along with some of the side secondary guns) . We could added a rotation matrix to the master xml for these but Im not sure the work is worth the effort.
This entire program has turned in to a huge bunch of spaghetti code if you know what that is.
Key areas need to be totally rewritten.

I'll be updating this at the server in a hour or so and you guys can look over the transforms.
Can't thank you guys enough for the help.
I'd love to change the world but I can't get my hands on the code.
User avatar
Andrakann
ultra-veteran
ultra-veteran
Posts: 392
Joined: Wed Jul 06, 2011 8:47 am
Location: Russia
Has thanked: 978 times
Been thanked: 336 times
Contact:

Re: World of Warships

Post by Andrakann »

Mike, it's again seems for me as you don't use skeletal animation at all, and use transformations for bones as transformations for meshes?..
Without skeleton in model we can't animate up/down aiming for guns as example, because it's one object, and all morphing done by skeleton.
Especially those guns with soft bags where it's connected to towers, even if I separate mesh to objects, i can't animate it correctly without manually adding skeleton and reskinning in 3dsmax, so those bags can do deforms correctly. But all needed information already in models, and Wobble using it in his importer (totally unshared btw ;) ).
User avatar
Coffee
ultra-veteran
ultra-veteran
Posts: 518
Joined: Thu Aug 06, 2015 5:57 pm
Has thanked: 74 times
Been thanked: 240 times

Re: World of Warships

Post by Coffee »

Alrighty...
I have added code to load any extra models in to the scene.
These need to be placed after the <section> tag.
The Parent tag is 0 to 3. Name MUST BE UNIQUE. Duplicates screw the table when I load it.
Zero being the bow and three being the stern.
is_new will tell me if I'm loading a new model or translating a already loaded model.
I'm having issues with some of the RADAR transforms. I think the matrix is canceling its self out, Im working in that now and the issue with the planes.

Looki here

Code: Select all

<ASA015_Midway_1945.xml>
  <sections>
         <aux_items>
          <item>
              <parent>0</parent>
              <is_new>true</is_new>
              <name>big plane1</name>
              <model>usa\aircraft\bomber\AAB013_A2D_Skyshark\AAB013_A2D_Skyshark.model</model>
              <row0> 1.0000 0.0000 0.0000 0.0000</row0>
              <row1> 0.0000 1.0000 0.0000 0.0000</row1>
              <row2> 0.0000 0.0000 1.0000 0.0000</row2>
              <row3> 0.0000 3.0000 0.0000 1.0000</row3>
           </item>
          <item>
              <parent>0</parent>
              <is_new>true</is_new>
              <name>big plane2</name>
              <model>usa\aircraft\bomber\AAB013_A2D_Skyshark\AAB013_A2D_Skyshark.model</model>
              <row0> 1.0000 0.0000 0.0000 0.0000</row0>
              <row1> 0.0000 1.0000 0.0000 0.0000</row1>
              <row2> 0.0000 0.0000 1.0000 0.0000</row2>
              <row3> 0.0000 3.2000 0.0000 1.0000</row3>
           </item>
          <item>
              <parent>0</parent>
              <is_new>true</is_new>
              <name>big plane3</name>
              <model>usa\aircraft\bomber\AAB013_A2D_Skyshark\AAB013_A2D_Skyshark.model</model>
              <row0> 1.0000 0.0000 0.0000 0.0000</row0>
              <row1> 0.0000 1.0000 0.0000 0.0000</row1>
              <row2> 0.0000 0.0000 1.0000 0.0000</row2>
              <row3> 0.0000 3.4000 0.0000 1.0000</row3>
           </item>
          <item>
              <parent>0</parent>
              <is_new>true</is_new>
              <name>big plane4</name>
              <model>usa\aircraft\bomber\AAB013_A2D_Skyshark\AAB013_A2D_Skyshark.model</model>
              <row0> 1.0000 0.0000 0.0000 0.0000</row0>
              <row1> 0.0000 1.0000 0.0000 0.0000</row1>
              <row2> 0.0000 0.0000 1.0000 0.0000</row2>
              <row3> 0.0000 3.6000 0.0000 1.0000</row3>
           </item>
        </aux_items>
  <bow>
    <model>usa\ship\aircarrier\ASA015_Midway_1945\ASA015_Midway_1945_bow_ports.model</model>
        <node>
           <name>HP_LiftOffPoint</name>
           <model>usa\aircraft\bomber\AAB009_Douglas_AD1\AAB009_Douglas_AD1.model</model>
        </node>
        <node>
It works : But the transforms are wrong for the planes still.. Working on that next.
Image
I'd love to change the world but I can't get my hands on the code.
User avatar
Coffee
ultra-veteran
ultra-veteran
Posts: 518
Joined: Thu Aug 06, 2015 5:57 pm
Has thanked: 74 times
Been thanked: 240 times

Re: World of Warships

Post by Coffee »

Andrakann wrote:Mike, it's again seems for me as you don't use skeletal animation at all, and use transformations for bones as transformations for meshes?..
Without skeleton in model we can't animate up/down aiming for guns as example, because it's one object, and all morphing done by skeleton.
Especially those guns with soft bags where it's connected to towers, even if I separate mesh to objects, i can't animate it correctly without manually adding skeleton and reskinning in 3dsmax, so those bags can do deforms correctly. But all needed information already in models, and Wobble using it in his importer (totally unshared btw ;) ).
Wobble is using the Unwrap3D and the .primitive importer. I played with it some and it can import some things OK
That importer is supposed to load the bones of characters. Im not sure how that works with Guns :)

Importing everything including bones and then exporting them in FBX or any format is a HUGE amount of work.
This was never designed to load the bones data. Even If I did, exporting it using FBX is going to take a very long time to get working. The documentation is horrible regarding anything to do with writing FBX. On the other hand, there are tons of samples on reading FBX. AutoDesk f'ed the dog when it came to creating examples on how to export using it. It took me 2 weeks the first time to get the thing to export one model.. Then I added the ability to export multiple models in one file.. that took quite a bit of sorting. It says in the documents that the names of items does not effect how its link to UVs or other items but they are way wrong. If you use the same name for an item, it gets replaced with the last item with the same name. That is why I attached the ID to the names.. 2 names like "vertices" wont work. There are other names in the data to chose from.. Node Identity is one but they too will replicate with in a model with a lot of primitives.
Im not sure what will happen with material names if they replicate in the FBX.. I have a feeling they will silently be overwritten. There are other formats like DirectX or .X that also can deal with everything that's needed including multi-UV coordinates. The issue is how many apps can import it. 3DS Max 2015 can not .. maybe with a plugin.. I didnt look.

I am willing to try to change this to export the bones and everything that is needed to animate the objects. This will mean re-writing the .primitive importer because so much of it will change, there is no point in trying to modify the code and, there are better ways to build and store the data.

The real issue is the time I have to work on it. Right now I would be happy to get every item to transform correctly.
I'd love to change the world but I can't get my hands on the code.
User avatar
Andrakann
ultra-veteran
ultra-veteran
Posts: 392
Joined: Wed Jul 06, 2011 8:47 am
Location: Russia
Has thanked: 978 times
Been thanked: 336 times
Contact:

Re: World of Warships

Post by Andrakann »

Coffee wrote:There are other formats like DirectX or .X that also can deal with everything that's needed including multi-UV coordinates. The issue is how many apps can import it. 3DS Max 2015 can not .. maybe with a plugin.. I didnt look.
I did some experiments with exporting/importing into .X with couple of tools, and always been disappointed with result - loss of smoothing groups, misplaced parts, weird names for objects, etc.
It's of course mostly an optimization moments, but as alternative to FBX it's only DAE looking enough good, but I think it's also has lots of problems like you mentioned for FBX - incomplete documentation, many revisions, problems with importers from other software than you are optimize it to.
Btw, SAP Visual Author (Deep Exploration), which I use to convert and browse models, also have problems with importing your FBX (broken normals), but same problem with importing FBX produced by 3dsmax itself, so I assumed it's SAP importer problems, not your exporter, and I use 3dsmax to import your FBX - works fine.
User avatar
Coffee
ultra-veteran
ultra-veteran
Posts: 518
Joined: Thu Aug 06, 2015 5:57 pm
Has thanked: 74 times
Been thanked: 240 times

Re: World of Warships

Post by Coffee »

Andrakann wrote:
Coffee wrote:There are other formats like DirectX or .X that also can deal with everything that's needed including multi-UV coordinates. The issue is how many apps can import it. 3DS Max 2015 can not .. maybe with a plugin.. I didnt look.
I did some experiments with exporting/importing into .X with couple of tools, and always been disappointed with result - loss of smoothing groups, misplaced parts, weird names for objects, etc.
It's of course mostly an optimization moments, but as alternative to FBX it's only DAE looking enough good, but I think it's also has lots of problems like you mentioned for FBX - incomplete documentation, many revisions, problems with importers from other software than you are optimize it to.
Btw, SAP Visual Author (Deep Exploration), which I use to convert and browse models, also have problems with importing your FBX (broken normals), but same problem with importing FBX produced by 3dsmax itself, so I assumed it's SAP importer problems, not your exporter, and I use 3dsmax to import your FBX - works fine.
Yes.. FBX is a mother to get working right. The issue is I think Autodesk wants to keep this format for use with its own apps.. the own 3DS and Maya and and other mainline 3D apps and I remember reading something about them trying to buy out Lightwave as well.
Anyway.. I thought about this for a while and FBX is probably the best choice because I have some experience with it now and the FBX Converter that AutoDesk gives away for free is a good way to test it. It it loads in that tool, it should load in anything that Autodesk sales. Also it has a FBX explorer tool that lets you look at the FBX in a tree node view so you can see whats attached to what.... Well sorta.. that could be better but it helps
Im still having issues with the damn planes. When I get them to rotate in all 3 axis to their final position, the planes have a weird skew in the Z axis.

OMG! It worked.. I made some changes and it was loading when I was typing. Ill upload this so you can check it out.
Note that not everything is perfect to view in port. Like Wobble said.. I think some of items default positions are just like the are and are transformed by the client when the game is running.
I'd love to change the world but I can't get my hands on the code.
User avatar
Coffee
ultra-veteran
ultra-veteran
Posts: 518
Joined: Thu Aug 06, 2015 5:57 pm
Has thanked: 74 times
Been thanked: 240 times

Re: World of Warships

Post by Coffee »

OK..
Try this one ( 29.8.8 )
I changed how the version comes from. This might fix the uninstall issues once this one is installed... the next update should uninstall this version. (I hope).
http://209.159.152.184:8080/WoW/

I think this might have it all fixed.

OK.. Its fixed.. get it while you can.
Oddly.. the Catapults are rotated correctly on the Yamato as is everything as far as I can tell..Need that plane Info from Wobble (location and translation) and I'll add that to the Master XML.
I'd love to change the world but I can't get my hands on the code.
User avatar
Andrakann
ultra-veteran
ultra-veteran
Posts: 392
Joined: Wed Jul 06, 2011 8:47 am
Location: Russia
Has thanked: 978 times
Been thanked: 336 times
Contact:

Re: World of Warships

Post by Andrakann »

All catapults now rotated straight forward, and for Yamato it's not really identical, but better than previous rotation to sides:
Image Image
But for Izumi it's not like in game at all, but better than to sides too, IMHO:
Image Image
And here some problems with finders, also rotated to front (early they rotated to center - also wrong):
Image

Not sure I got right what you fixing with planes on desk - for me it's alreagy looks good, but BIG problem with secondary guns misplacement on japanese aircarriers (wrong side of ship) leaved untouched:
Image
Finders also looking to front here (again, early they wrong looking to center).
Coffee wrote:Need that plane Info from Wobble (location and translation) and I'll add that to the Master XML.
This info available only in loading logs AFAIK, and we need some routine to add those grandchilds to the Master XML, so I can change those paths:
Image Image Image
User avatar
Andrakann
ultra-veteran
ultra-veteran
Posts: 392
Joined: Wed Jul 06, 2011 8:47 am
Location: Russia
Has thanked: 978 times
Been thanked: 336 times
Contact:

Re: World of Warships

Post by Andrakann »

ASC001_Erie_1936 done.
Image Image

Also I upgraded this ship in game and do "upgraded" version of XML:
Image Image

But upgraded only main guns, hull didn't changed despite the fact that in game it changes from (A) to (B) visually it's not have any difference, so i replace ASC001_Erie_1936.xml by content of ASC001_Erie_1936_upgraded.xml in editor XML directory to load changed version.
Bigger ships have different hull models for their upgrades.
You do not have the required permissions to view the files attached to this post.
User avatar
Andrakann
ultra-veteran
ultra-veteran
Posts: 392
Joined: Wed Jul 06, 2011 8:47 am
Location: Russia
Has thanked: 978 times
Been thanked: 336 times
Contact:

Re: World of Warships

Post by Andrakann »

ASC002_Chester_1908 done.
Image Image

ASC037_Chester_1915 - upgraded version done too.
Image Image
You do not have the required permissions to view the files attached to this post.
Post Reply