CMP to SUR Conversion Tests
-
Hi LS, thanks for the explanation…
My replies to your queries…
3. Yes the shield_link is always needed in the shiparch.ini file, but as you know standard FL fighters always have that darned double shield-bubble (the HpMount 0xF00FB9DE and its twin with an offset value instead of mesh name crc) in the sur as well. I don’t know why, but it is compensated by FL if it does not exist in the sur, and the hits are shown flashing on the shield-link shield bubble until the shields are down just like if the shield bubble did exist in the sur.
6. Again I don’t know, although Bejaymac has tried to explain so many times that one is for collision detection and one is for weapon hits damage. One uses the mesh name crc and its twin uses an offset value like 0000270. These ones with an offset value instead of a mesh name crc are placed at the origin by the MilkShape sur importer instead of over the cmp part as they should be - HardCMP does, maybe it’s because the sur importer is not interpreting the offset values correctly if at all for these? So maybe by looking deeper into the HardCMP code you or adoxa would be able to understand the offfsets that are used and we (well… not me!) can then fix the sur importer too?
On duplicate surs for every non-root part… Well - not all cmp parts (other than the root) have the double surs. Only the wings, engine hardpoints, equipment hardpoints and weapon hardpoints do have them, and in case of weapons they only have them if they are mounted on the wings, and this becomes that convex sur covering both the wing and the weapon sur. You can see this complex sur even in HardCMP but it’s hard to distinguish, the best way is to import a sur into Milkshape and then you will see the double surs are all at the origin, just move them out one by one to see the shape they cover. The weapon surs are all extended tapered cubes, and the wing+weapon surs cover this extended tapered cube plus the wing it is sitting on.
Non-root hull parts and pylons (e.g. as in the stiletto and sabre) do not have double surs. So making double surs for everything except the root may cause problems.
And on only the root sur part needing to be convex… Well if we can determine that indeed only the root sur needs to be convex then it would be a terrific relief, as all non-root surs can be concave and be bent, and follow hull and body contours, as in my suggestion of a standard-shape-tradelane sur that can be then made of only 5 parts - a convex root sur part for the middle and four long, bent, tapered horn sur parts meeting at the top and bottom of the rings - easily and quickly made from copying each of the ring cmp quarters. However in standard FL ship surs, these sur parts are all indeed convex.
So it is worth spending a couple of hours proving this out, as it may save you lots of time.
Thanks as always pal.
-
Ok, so it works but does not show the hit flame?
Well in some cases I can live with that, e.g. on very large ships.
So in this case we can make close-fitting non-convex (i.e. concave!!) sur parts as long as the root sur part is convex?
Super - if this is really confirmed then LS needs only to ensure the root part is convex, or even just make a sphere that fits inside the ship centre and call it root, and all other parts can follow the shape of each of the ship part groups?
Then…
If this is so…
then…
wow!!
… get cracking, LS!
Don’t worry about creating the gaps between booms and stuff in ships, mine will always be separated into groups that will prevent gaps being filled with sur parts, I just need a sur part for each ship group. And the double sur parts for hardpoints and wings as in my checklist above.
As long as others do the same there should be no problem with multi-part models.
-
**Well, I am going to try and avoid any use of concave shapes. BTW, has anyone even tried adding your concave sur parts to ‘concave.ini’ and see if it fixes the hit problem?
If there is sufficient interest I may try and do the mesh decomposition, for now the multi-mesh surs is nearing completion, here is an example of what you can get by properly defining your model into pieces (NX01 Star Trek model)…
**
-
That’s amazing, but what do you mean by “properly defining your ship into pieces”?
-
**Using the pic above…
Each pylon is a separate mesh. The saucer section is another mesh. The warp engines are another. These can be set up in Milkshape as groups and exported by group. The only limit is the exporters 18 group limit which can be a problem on complex models.**
-
Holy shit, that’s amazing. As for the 18 part groups, couldn’t that be beaten using the method that FW:ToW developed?
http://zomgbayz2.googlecode.com/files/Infinite hitbox parts tutorial.wmv
-
**@ Sushi - thats what I thought, I surprise myself sometimes, I just build it, what comes out the other end is anyone’s guess
The program can handle up to 1024 parts, so if u can get around the 18 part limit then u should be able to build some pretty amazing surs…**
-
And the program can handle multiple VMeshes?
I don’t think what Sushi’s asking will be possible with this though, as that’s creating new dummy mesh objects (which have no real geometric relation to the functional model), but linking them to previously generated Sur parts, which are positionally correct and offset to match the original model’s geometry.
But… if you broke the model up to match the Surs, into multiple vmeshes: base_left_wing01, base_right_wing01, base_cabin, base_power, etc… and the program supports this, then there’s no need for dummy meshes anyways (which will be better anyhow if the model ever needs to be animated) .
So that means making a complex model from say 5 Milkshape scenes, each exported to their own CMP, then merged by hand. That should support auto-generating a Sur, as long as the program handles multi VMeshes.
-
Actually it handles multiple vmeshes and the every mesh stored within them. The NX01 shown above is a single VMeshData but contains multiple meshes within that node. In Milkshape you would just simply split the mesh and regroup it. The NX01 contains about 60 groups (meshes), all stored in the root node.
-
LS -
OK, never mnd anyone else, I like what I see, so gimme gimme gimme!!Sushi-
The method used to get round the 18 group limit will not work with this, because it combines many or all of the original ship parts into one group.By this method, the ship will not break up into those separate groups when it is destroyed either. But this is not important for large ships because most are set to just disappear instead of “shatter”.
Everyone-
The key is to separate your model into sensible component groups, up to 18. This has been enough for almost all of my models.And by doing it this way you should have enough real ship groups to ensure that you do not need to make any dummy parts, which I hate and detest!
So by separating ship booms and wings etcetera into one per group, LS’s sur generator will wrap each one in its own sur, and will leave the spaces between them empty, as they should be.
And when the ship is destroyed, those booms will break away and spiral off! Nice!
-
Sushi-
The method used to get round the 18 group limit will not work with this, because it combines many or all of the original ship parts into one group.Ya, it definitely does not do that. That’s why we use this method to hitbox our 7 piece vmeshdata spliced ISD. I think it would work
-
**Here are some test results so far.
Here is a pic of NX01 after I regroup it from 62 to 10 groups, including the sur overlay. Each part of the mesh was regrouped to fit into a specific section. When exported it was done as 10 parts. To do this in Milkshape simply select all of the groups you want to have together and regroup.
NX01 in HardCMPHere is a video of it being tested in-game. Notice how I can fly thru the central opening…
[wmp=640,480]http://digitalbrilliance.org/Videos/SUR_Export04.wmv[/wmp]**
-
Amazing LS, simply amazing.
This work will make everyones life so much easier with modding. I cannot wait to see what else you can do with this (or is there anything else??)
-
Sushi, W0dk4 -
Sorry, must have confused that mehtod with the other “zomgbay thing” that grouped all ship groups into the 1st group and used dummy groups!I’ll download it and have a look at yours now.
LS -
I notice that the saucer is shown in dull white whereas the other parts of the NX-01 are bright white. HardCMP also showed “good” sur parts in bright white, and “suspect” and non-working sur parts in dull white, can you how did it do that? -
StarTrader wrote:
Sushi, W0dk4 -
Sorry, must have confused that mehtod with the other “zomgbay thing” that grouped all ship groups into the 1st group and used dummy groups!I’ll download it and have a look at yours now.
LS -
I notice that the saucer is shown in dull white whereas the other parts of the NX-01 are bright white. HardCMP also showed “good” sur parts in bright white, and “suspect” and non-working sur parts in dull white, can you how did it do that?That’s the multi-part SUR. The Freeworlds guys are so insane they have 100k+ models and needed a technique for CMPs, too
-
I had no trouble with it at all on the saucer as u can see in the video. It looks alot darker in the pic than it did on my machine, most likely jpg artifacting.