CMP to SUR Conversion Tests
-
Yup. However it will only affect the NPC ship hitboxes as well as how they perceive hitting a player ship. PvP interaction will be unchanged. The reason why we’re doing this is that we’ve suspected more polygons in a hitbox ––> more calculations —> increase CPU usage ----> drop in performance.
-
**Thanks for the encouragement, still doing alot of tests and trying different layouts for the sur file. Multiple meshes in a single cmpnd part is being the problem. This is a by-product of the way the model is exported. Thinking about making a cmp modifier so it can split the mesh properly into parts. This is due to that the models that are modular in design wrap tons better than an all in one mesh.
Note to model converters, regroup your models before exporting to make the overall shape similar to a sphere, cube or cylinder for each group…**
-
Roger, Wilco!!
-
StarTrader peeks round the door again…
-
Scratches scruffy white beard in puzzlement…
-
**Sorry for the delay but I have a feeling this may be worth the wait….
I am in the process of designing a group separator for the CMP files. This means that you can simply export all of your groups in 1 group and this will rebuild the CMP file with as many groups as you originally intended, in the process breaking the 18 group barrier limit. In the meantime it will build new VMeshRef and Cmpnd sections to match, you know how I am, click a button and it’s done
The reason I’m doing this is that I have found that individual meshes take hits alot better than one big mass mesh. There is a good chance it will be integrated at the beginning on the sur creation process so it will be fully transparent to the sur building process. Plus I never much cared for the 18 part limit and this is an easy way to remedy it.
So keep your spectacles on old man, it’s coming soon.
On a side note, I did test how surs work and found something interesting. Surs can have holes in them. This opens the possibilty of attaching surs inside of surs simply by creating an opening. Anyways, enough experimenting, back to the grindstone.**
-
That is phenomenal news, LS! I think many of us are on the edge of our seats watching your sculpt your masterpiece
-
LancerSolurus wrote:
I am in the process of designing a group separator for the CMP files. This means that you can simply export all of your groups in 1 group and this will rebuild the CMP file with as many groups as you originally intended […].That means that it will make all groups from milkshape separate? What about parts consisting of 2 or more meshes (maybe because of texture)? That would also generate multiple surs for example one wing…that means i can’t just use it as [CollisionGroup] because each part of the wing would be a separate destructible component…
edit: by the way - has anyone of you taken a look on co_base_rock_large01.cmp and its sur? It has a multiple part sur for the root!!!
-
@ Quark - It will split meshes up into parts only if they contain more than 1 mesh. It is determined by the VMeshRef. I will make it optional. The main reason is because I haven’t got the bits linkage part worked out yet and the separate mesh part is already fully working. I will continue to work on figuring out how it’s designed so hopefully I can get the multi-part working (multiple meshes in 1 sur part). Tests show that without the linkage it uses the last sur with the same crc. As in if there are 10 parts named Root, only #10 will be used for collision.
-
ST thinks this is well worth waiting for and buys boxes of dried crackers, pull-to-open cans of bully beef and bottled water…
-
… added some chocolates and Nutella today…
-
ST… washed and dried his sleeping bag today, it was getting a bit smelly from the dampness in this unused room…!!
-
(grabs a pom pom… stands next to ST)
Lancer Lancer… he’s our man… he cant do it… noone can…
L.A.N.C.E.R. (shakes pom poms)… dam not enough for a human pyramid yet… oh well back to the start…
-
Hehehe it’s getting close. I will post when I have good news.
-
-
… it’s awfully dark in here…
-
**Actually the holdup has been the mesh rebuilder. I have completed that part of the code but unfortunately the mesh isn’t being recognized by FL. I believe the problems lies in the Fix format. After studying multiple different Fix, Pris and Rev nodes in binary, something is amiss in the current knowledge about those node types. Maybe Adoxa might be willing to help determine what values are actually used (hint, hint)
The current is for Fix…
Parent name string
Child string at offset 0x40
Center x,y,z at 0x74
Position offset at 0x80
3x3 rotation matrix at offset 0x8c
Next part at offset 0xb0I’ve noticed the 0x70 is always 0x00000000
The position is always valid floats so that part looks good.
The rotation matrix is a different story, the only consistent values are the x,y,z floats, ie at 0x8f, 0x9f & 0xaf, the rest sometimes contain totally invalid float values such as 0x0000000F or 0x80000000 (infinite value, same as 0x7FFFFFFF). For a matrix this doesn’t work since it invalidates the matrix.Everything else seems to work at the present time, the UTF editors and HardCMP have no trouble loading the rebuilt cmp files, any help would be appreciated.**