I'm working on ship with collision group. I succsessfully added groups. Explosions damage ship more than is dmg of explosion(based on number of groups i think), but when i switch to show wireframe i can't select the groups. Can anyone tell me why ?
Collision groups on ship
- Lord of the Hell
- Thread is marked as Resolved.
-
-
the reason why explosions deal more damage than the respective projectile/charge is set to have is because destructible subgroups standardly route their damage to root (the main hull).
As for the other issue I have no idea, sorry
-
Maybe I am misunderstanding you, but when you say 'switch to wireframe' and talk about targeting, I assume you mean the wireframe subtargeting in the game, as part of the hud.
If that is the case, then you cannot 'target' the collision groups on a ship, you can't target the wing on a fighter, or the conning tower on a cruiser, you can only target the equipment mounted on the hardpoints attached to the collision groups.
If you shoot at a ship and the shots hit the wing, damage is passed to the main ship, the wing is just a damage proxy. When the damage taken by the wing excedes its hitpoints, the wing is destroyed, and any hardpoints on the wing, and the equipment mounted on those hardpoints are lost with it, but you cannot 'target' the wing itself.
It might be possible to change that, don't know, never tried, but it's not default behaviour.
-
You can target the subgroups on vanilla ships.
And if you change this line:root_health_proxy = true
to "false" than the subgroups no longer route damage to the main hull.
This line is found on every single subgroup defined in shiparch.ini -
vanilla ships have special hardpoints for this
try to use them on urs -
OP, you mean the DPxx hardpoints right?
They define where damaged components are placed when subgroups are destroyed
-
was just a guess that there might be a link between them and the groups
-
Right i mean subtargeting... I spotted strange behavior at subtarget model. Maybe problem is there. When i damage the ship and look at model in subtarget there is one red place like at vannila ship when you damage the group. So i try to remake wiredata at ship for each collision group, but i think it won't help. Maybe is needed program that made wiredata with all groups...
procedure of creation collision groups on ship i use:
used programs:
MilkShape 3D 1.8.2
Freelancer exporter plugin V0.3
Freelancer importer plugin V2.7
make_wire
UTFeditor2.1
FreelancerXMLProjecti use this way due to textures. Regroup cast textures so it looks bad.
1)import model and resize it to new scale(if is possible import with same scale)
2)regroup model and rename new groups to unique nicknames
3)export model with groups by using plugin without hardpoints(i use name of ship and add "_groups" for different name)
4)export each group as single model without hardpoints(i use name as nickname of group)
5)make wiredata for each model except "_groups" model and add wiredata to each model
6)copy original mode(imported to MS),models of collision groups and "_groups" model to FreelancerXMLProject folder and decode UTF->XML
7)open original model and "_groups" model, find "Cmpnd" section in "_groups" model and rewrite original section with section from "_groups" modelIn "Cmpnd" section will be "root" part and new parts starting with <part_..>
example:
Code- <Cmpnd>
- <Cons>
- <Fix type="Fix" count="1">
- <part>
- <!-- parent --> "Root",
- <!-- child --> "li_gunboat_engine_left_lod1",
- <!-- position--> 0, 0, 0,
- <!-- orientation --> 1.0000000000, 0.0000000000, 0.0000000000,
- 0.0000000000, 1.0000000000, 0.0000000000,
- 0.0000000000, 0.0000000000, 1.0000000000
- </part>
- </Fix>
- </Cons>
- <Root>
- <File_name name="File name" type="text">li_gunboat_lod1.3db</File_name>
- <Index type="int">0</Index>
- <Object_name name="Object name" type="text">Root</Object_name>
- </Root>
- <Part_li_gunboat_engine_left_lod1>
- <File_name name="File name" type="text">li_gunboat_engine_left_lod1.3db</File_name>
- <Index type="int">1</Index>
- <Object_name name="Object name" type="text">li_gunboat_engine_left_lod1</Object_name>
- </Part_li_gunboat_engine_left_lod1>
- </Cmpnd>
so you have to find all sections linked with <part_..> and add it to original model too(UTF_root), in examle it is "li_gunboat_engine_left_lod1.3db":
Code- <li_gunboat_engine_left_lod1.3db>
- <MultiLevel>
- <Level0>
- <VMeshPart>
- <VMeshRef type="VMeshRef">
- <!-- header_size--> 60,
- <!-- vmesh_hash --> li_gunboat.lod0.vms,
- <!-- start_vert --> 55,
- <!-- end_vert --> 51,
- <!-- start_vert_ref --> 126,
- <!-- end_vert_ref --> 126,
- <!-- mesh_no --> 1,
- <!-- no_of_meshes --> 1,
- <!-- bounding box --> -0.012174075, 0.01559128, -0.29177341,
- -0.05134866, -0.020928264, -0.30976245,
- <!-- center --> -0.031761367, -0.002668492, -0.30076793,
- <!-- radius --> 0.028248586
- </VMeshRef>
- </VMeshPart>
- </Level0>
- </MultiLevel>
- </li_gunboat_engine_left_lod1.3db>
8)open single group model and copy "VMeshData" to each part of ship
9)encode XML file to UTF -> doneShip with collision groups will be your original model in FreelancerXMLProject folder so copy your original model to safe place before making the groups.
Point 1 - Maybe all problems with suntargeting is procedure - difference between wiredata and model
Point 2 - If your game crash at ModName: freelancer.exe Offset: 00006100(by Adoxa) It's bad wiredata so remake it
Point 3 - it's hard but maybe it's only way to make fully functional vanilla model;
Point 4 - If your game crash at ModName: rendcomp.dll Offset: 00011163 - bad hash at <VMeshLibrary> example <li_gunboat.3db.lod0.vms include="li_gunbship_cmp\lod0.vms.xml"/> but hash is li_gunboat.lod0.vms1)make model with groups
2)export it
3)make wiredata for each group and add it to ship________________________________________________________________________________________________________________
OR
1) Import model to milkshape
2) Rename parts of model to names of collision groups and save
3) Export model
4) Import each collision group and make wire for it
5) Add wire to modelIf you don't understand my attempt to explain my procedure just write i'll try to explaim it...
-
Nice =)
You should put this in the tutorial section
-
but it isn't fully functional... yesterday i remake some parts and i was able to select group(Component) on ship, but still have many problems to solve so i have to work on this to fully functional...
-
Is there possible chance to make program that make from wiredata -> meshdata ? I've tried some new procedure, but it's not successful. Problem is wire of model. I made wire for each group model, but game don't like it. Behavior is strange. Maybe is needed make_wire for model made from groups.
Part of subtargeting is still bad. i think without this can't by functional destroying groups.
-
please definy "strange"
-
-
i see
the coordinates of the groups do not fit anymore
have you resized the ship somewhen? -
Wireframe of "root" is made from original model, but wireframe for groups i made from new models.
I'm import original model of ship to MilkShape and regroup it to 6 groups(root, ctrl_tower, and four engines). Then i export new models of groups and resize them - scale: 100x. After it i made wireframe for groups, so maybe there is problem.
-
scaling something is a big problem as often the wrong scale method is used
-
i'll used resizing in MilkShape. Maybe best way to is remaking everything.
Import model, regroup model, use scale 100x, export new model, export groups for wire and try it in game;
Another way is deleting wireframe in groups...
-
-
riiiiiightttt
-
This is without end... I tried to destroy the group, but it seem the group doesn't take any damage. It looks there isn't a sur file, but when i shoot to another part of ship(i dont mean groups) ship take damage...