hmmm thats indeed weird
i would assume that internally the sur groups are not linked
Collision groups on ship
- Lord of the Hell
- Thread is marked as Resolved.
-
-
Problem found. Ship needs special *.sur file with *.sur for each group. If you look at "li_dreadnought.sur" you'll find same nicknames as groups nicknames.
Groups for li_dreadnought.cmp:
Code- [CollisionGroup]
- obj = Leaf01_d1_lod1
- separable = true
- parent_impulse = 60.000000
- child_impulse = 10.000000
- debris_type = cap_ship_piece
- mass = 10.000000
- fuse = l_dreadnought_fuse, 1.000000, 1
- hit_pts = 3850000
- root_health_proxy = true
- [CollisionGroup]
- obj = Leaf02_d1_lod1
- separable = true
- parent_impulse = 60.000000
- child_impulse = 300.000000
- debris_type = cap_ship_piece
- mass = 10.000000
- fuse = l_dreadnought_fuse, 1.000000, 1
- hit_pts = 3850000
- root_health_proxy = true
- [CollisionGroup]
- obj = Leaf03_d1_lod1
- separable = true
- parent_impulse = 60.000000
- child_impulse = 10.000000
- debris_type = cap_ship_piece
- mass = 10.000000
- fuse = l_dreadnought_fuse, 1.000000, 1
- hit_pts = 3850000
- root_health_proxy = true
- [CollisionGroup]
- obj = Leaf04_d1_lod1
- separable = true
- parent_impulse = 60.000000
- child_impulse = 10.000000
- debris_type = cap_ship_piece
- mass = 10.000000
- fuse = l_dreadnought_fuse, 1.000000, 1
- hit_pts = 3850000
- root_health_proxy = true
- [CollisionGroup]
- obj = Leaf05_d1_lod1
- separable = true
- parent_impulse = 60.000000
- child_impulse = 600.000000
- debris_type = cap_ship_piece
- mass = 10.000000
- fuse = l_dreadnought_fuse, 1.000000, 1
- hit_pts = 3850000
- root_health_proxy = true
- [CollisionGroup]
- obj = Leaf06_d1_lod1
- separable = true
- parent_impulse = 60.000000
- child_impulse = 10.000000
- debris_type = cap_ship_piece
- mass = 10.000000
- fuse = l_dreadnought_fuse, 1.000000, 1
- hit_pts = 3850000
- root_health_proxy = true
- [CollisionGroup]
- obj = Leaf07_d1_lod1
- separable = true
- parent_impulse = 60.000000
- child_impulse = 10.000000
- debris_type = cap_ship_piece
- mass = 10.000000
- fuse = l_dreadnought_fuse, 1.000000, 1
- hit_pts = 3850000
- root_health_proxy = true
- [CollisionGroup]
- obj = Leaf08_d1_lod1
- separable = true
- parent_impulse = 60.000000
- child_impulse = 500.000000
- debris_type = cap_ship_piece
- mass = 10.000000
- fuse = l_dreadnought_fuse, 1.000000, 1
- hit_pts = 3850000
- root_health_proxy = true
- [CollisionGroup]
- obj = Li_bottom_lod1
- separable = true
- parent_impulse = 60.000000
- child_impulse = 10.000000
- debris_type = debris_vanish
- mass = 70 ;200.000000
- fuse = l_dreadnought_fuse, 0.500000, 1
- dmg_obj = li_dread_bottom_cap
- dmg_hp = DpBottom
- hit_pts = 3850000
- root_health_proxy = true
- [CollisionGroup]
- obj = Li_cntrltwr_lod1
- separable = true
- parent_impulse = 60.000000
- child_impulse = 10.000000
- debris_type = debris_vanish
- mass = 70 ;200.000000
- fuse = l_dreadnought_fuse, 0.500000, 1
- dmg_obj = li_dread_tower_cap
- dmg_hp = DpCntrltwr
- hit_pts = 3850000
- root_health_proxy = true
- [CollisionGroup]
- obj = Li_rear_lod1
- separable = true
- parent_impulse = 60.000000
- child_impulse = 10.000000
- debris_type = debris_vanish
- mass = 70 ;200.000000
- fuse = l_dreadnought_fuse, 0.750000, 1
- fuse = li_dreadnought_burning_fuse04, 0.000000, 17325
- dmg_obj = li_dread_rearsection_cap
- dmg_hp = DpRearsection
- hit_pts = 3850000
- root_health_proxy = true
- [CollisionGroup]
- obj = Li_nose_lod1
- separable = true
- parent_impulse = 60.000000
- child_impulse = 2000.000000
- debris_type = cap_ship_piece2
- mass = 50.000000
- fuse = l_dreadnought_fuse, 0.000000, 1
- fuse = li_dreadnought_burning_fuse01, 0.000000, 17325
- group_dmg_hp = DpFrnt
- group_dmg_obj = li_dread_front_cap
- hit_pts = 3850000
- root_health_proxy = true
- [CollisionGroup]
- obj = Li_frnt_lod1
- separable = true
- parent_impulse = 60.000000
- child_impulse = 10.000000
- debris_type = debris_vanish
- mass = 70 ;200.000000
- fuse = l_dreadnought_fuse, 0.250000, 1
- fuse = li_dreadnought_burning_fuse02, 0.000000, 17325
- dmg_obj = li_dread_midsection_cap
- dmg_hp = DpMidsection
- hit_pts = 3850000
- root_health_proxy = true
- [CollisionGroup]
- obj = Li_port_skid_lod1
- separable = true
- parent_impulse = 60.000000
- child_impulse = 10.000000
- debris_type = debris_vanish
- mass = 70 ;200.000000
- fuse = l_dreadnought_port_skid_fuse, 0.000000, 1
- dmg_obj = li_dread_port_skid_cap
- dmg_hp = DpPortskid
- hit_pts = 3850000
- root_health_proxy = true
- [CollisionGroup]
- obj = Li_starboard_skid_lod1
- separable = true
- parent_impulse = 60.000000
- child_impulse = 10.000000
- debris_type = debris_vanish
- mass = 70 ;200.000000
- fuse = l_dreadnought_star_skid_fuse, 0.000000, 1
- dmg_obj = li_dread_starboard_skid_cap
- dmg_hp = DpStarboardskid
- hit_pts = 3850000
- root_health_proxy = true
- [CollisionGroup]
- obj = Li_reactor_core_lod1
- separable = true
- parent_impulse = 60.000000
- child_impulse = 500.000000
- debris_type = cap_ship_piece2
- mass = 20.000000
- fuse = l_dreadnought_fuse, 1.000000, 1
- hit_pts = 3850000
- root_health_proxy = true
- [CollisionGroup]
- obj = Li_reactor_lod1
- separable = true
- parent_impulse = 60.000000
- child_impulse = 10.000000
- debris_type = debris_vanish
- mass = 70 ;200.000000
- fuse = l_dreadnought_fuse, 1.000000, 1
- hit_pts = 3850000
- root_health_proxy = true
- [CollisionGroup]
- obj = Li_engine_lod1
- separable = true
- parent_impulse = 60.000000
- child_impulse = 10.000000
- debris_type = debris_vanish
- mass = 70 ;200.000000
- fuse = l_dreadnought_fuse, 1.000000, 1
- dmg_obj = li_dread_engine_cap
- dmg_hp = DpEngine
- hit_pts = 3850000
- root_health_proxy = true
Part of surface file for li_dreadnought:
Code- File : C:\games\vyvoj - Freelancer Evolutions 1.40\DATA\SHIPS\LIBERTY\LI_DREADNOUGHT\li_dreadnought.sur
- SurHeader :
- "vers" 2.00
- IDHeader :
- crc_id : 0x12688F2D - "Root"
- type : 4 - Ship/Station
- IDHeader_B :
- tag : "!fxd"
- exts_part (bounding box) :
- tag : "exts"
- xMin : -46.298779 yMin : -50.443649 zMin : -265.163330
- xMax : 46.298729 yMax : 63.189415 zMax : 232.688843
- Surface header :
- tag :"surf"
- Offset1 : 0x79BC (31164) - Offset to next component of HPID
- Padding : 0x0000 - Always 0
- Surface :
- CenterX : -0.018545 CenterY : -6.167617 CenterZ : 2.706570
- InertiaX : 9767.563477 InertiaY : 9771.552734 InertiaZ : 279.206512
- Radius : 268.925079
- unknown byte : 0xFA - (250 decimal 11111010 binary)
- Offset1b : 0x79BC (31164) - always identical to surface_header.offset1
- padding byte : 0x00 - Always 0
- Offset2 : 0x00007230 - Offset to bit header
- Padding3 : 0x00000000 0x00000000 0x00000000 - Always 0
- Triangle group header :
- Offset3 : 0x00004D00 - (19712) Offset to vertex buffer
- TriangleID : 0x12688F2D - "Root"
- type : 4 - Primitive = D3DPT_TRIANGLELIST
- no_ref_verts : 138
- Padding4 : 0x00
- Tricount : 90 - No of triangles in group (0 -> n-1)
- Triangle list :
- Number Opp Tri Flag Vert1 Offset1 Flags1 Vert2 Offset2 Flag2 Vert3 Offset3 Flag3
- 0 88 0 0 8 0 1 5 0 2 63 0
- 1 48 0 1 8 0 3 121 0 2 -5 0
- 2 84 0 1 -8 0 0 64 0 4 3 0
- 3 84 0 3 -8 0 1 -3 0 4 107 0
- 4 53 0 5 8 0 6 5 0 7 67 0
- 5 62 0 6 10 0 8 323 0 7 -5 0
- 6 56 0 6 -8 0 5 51 0 9 2 0
- 7 52 0 6 -2 0 9 61 0 8 -10 0
- 8 48 0 10 4 0 11 67 0 12 6 0
- 9 74 0 11 -4 0 10 5 0 13 7 0
- 10 38 0 10 -6 0 12 211 0 13 -5 0
- 11 77 0 14 14 0 11 -7 0 13 2 0
- 12 72 0 14 -2 0 13 223 0 15 2 0
- 13 75 0 14 -2 0 15 57 0 16 8 0
- 14 76 0 14 5 0 17 11 0 11 -14 0
- 15 71 0 16 46 0 17 -5 0 14 -8 0
- 16 83 0 11 6 0 0 -63 0 2 35 0
- 17 76 0 11 -11 0 17 5 0 0 -6 0
- 18 69 0 17 145 0 4 -64 0 0 -5 0
- 19 56 0 9 -51 0 5 5 0 18 14 0
- 20 44 0 5 4 0 19 51 0 18 -5 0
- 21 43 0 19 -4 0 5 -67 0 7 54 0
- 22 57 0 9 8 0 20 173 0 8 -61 0
- 23 58 0 9 -14 0 18 25 0 21 3 0
- 24 56 0 20 -8 0 9 -3 0 21 166 0
- 25 48 0 12 -67 0 11 -35 0 2 23 0
- 26 7 0 16 5 0 22 115 0 17 -46 0
- 27 67 0 15 217 0 22 -5 0 16 -57 0
- 28 46 0 3 4 0 18 21 0 12 10 0
- 29 46 0 18 -4 0 3 13 0 21 -25 0
- 30 84 0 23 8 0 3 -107 0 4 126 0
- 31 48 0 3 -10 0 12 -23 0 2 -121 0
- 32 84 0 3 -8 0 23 115 0 21 -13 0
- 33 45 0 18 -51 0 19 3 0 12 -21 0
- 34 47 0 12 -3 0 19 5 0 24 115 0
- 35 40 0 19 -54 0 7 189 0 24 -5 0
- 36 12 0 25 10 0 26 145 0 27 4 0
- 37 63 0 27 41 0 28 3 0 25 -4 0
- 38 10 0 25 -3 0 28 145 0 26 -10 0
- 39 68 0 29 5 0 30 83 0 31 6 0
- 40 35 0 27 129 0 30 -5 0 29 8 0
- 41 82 0 29 -6 0 31 73 0 32 6 0
- 42 33 0 29 6 0 33 11 0 27 -8 0
- 43 21 0 29 -6 0 32 39 0 33 -6 0
- 44 33 0 34 5 0 33 53 0 35 8 0
- 45 33 0 27 -11 0 33 -5 0 34 8 0
- 46 29 0 35 49 0 36 7 0 34 -8 0
- 47 34 0 34 6 0 28 -41 0 27 -8 0
- 48 31 0 34 -7 0 36 161 0 28 -6 0
- 49 65 0 37 10 0 38 21 0 17 4 0
- 50 65 0 17 22 0 33 13 0 37 -4 0
- 51 7 0 37 6 0 4 11 0 38 -10 0
- 52 7 0 37 5 0 32 40 0 4 -6 0
- 53 21 0 33 -39 0 32 -5 0 37 -13 0
- 54 70 0 38 -11 0 4 -145 0 17 -21 0
- 55 22 0 17 -115 0 22 7 0 33 -22 0
- 56 66 0 35 5 0 22 67 0 39 8 0
- 57 22 0 33 -7 0 22 -5 0 35 -53 0
- 58 23 0 39 62 0 36 -49 0 35 -8 0
- 59 82 0 31 6 0 40 121 0 32 -73 0
- 60 12 0 31 -83 0 30 71 0 40 -6 0
- 61 85 0 21 -115 0 23 5 0 32 71 0
- 62 86 0 23 -126 0 4 -40 0 32 -5 0
- 63 37 0 13 -211 0 12 -115 0 24 19 0
- 64 56 0 41 4 0 20 11 0 42 26 0
- 65 50 0 20 -4 0 41 21 0 8 -173 0
- 66 56 0 20 -166 0 21 51 0 43 3 0
- 67 27 0 42 -11 0 20 -3 0 43 79 0
- 68 39 0 15 -223 0 13 -19 0 24 55 0
- 69 54 0 44 4 0 41 9 0 45 56 0
- 70 54 0 41 -4 0 44 64 0 8 -21 0
- 71 15 0 41 -26 0 42 21 0 45 -9 0
- 72 12 0 26 25 0 30 -129 0 27 -145 0
- 73 79 0 39 -67 0 22 31 0 36 -62 0
- 74 9 0 28 57 0 46 11 0 26 -145 0
- 75 13 0 26 4 0 42 47 0 40 12 0
- 76 17 0 42 -4 0 26 5 0 45 -21 0
- 77 11 0 26 -11 0 46 23 0 45 -5 0
- 78 12 0 40 -71 0 30 -25 0 26 -12 0
- 79 81 0 43 -51 0 21 -71 0 32 39 0
- 80 61 0 7 21 0 36 5 0 15 6 0
- 81 79 0 36 -31 0 22 -217 0 15 -5 0
- 82 89 0 7 -6 0 15 -55 0 24 -189 0
- 83 16 0 45 -23 0 46 3 0 44 -56 0
- 84 32 0 44 -3 0 46 15 0 36 2 0
- 85 61 0 44 -2 0 36 -21 0 7 4 0
- 86 62 0 7 -323 0 8 -64 0 44 -4 0
- 87 27 0 40 -47 0 42 -79 0 43 6 0
- 88 0 0 36 -15 0 46 -57 0 28 -161 0
- 89 82 0 40 -6 0 43 -39 0 32 -121 0
- Triangle group header :
- Offset3 : 0x00004370 - (17264) Offset to vertex buffer
- TriangleID : 0xE65BE9CD - "Li_reactor_core_lod1"
- type : 4 - Primitive = D3DPT_TRIANGLELIST
- no_ref_verts : 45
- Padding4 : 0x00
- Tricount : 28 - No of triangles in group (0 -> n-1)
- Triangle list :
- Number Opp Tri Flag Vert1 Offset1 Flags1 Vert2 Offset2 Flag2 Vert3 Offset3 Flag3
- 0 15 0 81 4 0 82 7 0 83 46 0
- 1 16 0 82 -4 0 81 35 0 84 3 0
- 2 13 0 83 -7 0 82 -3 0 84 82 0
- 3 22 0 85 16 0 86 41 0 87 2 0
- 4 21 0 85 -2 0 87 92 0 88 19 0
- 5 25 0 89 53 0 90 4 0 85 12 0
- 6 20 0 84 5 0 85 -4 0 90 67 0
- 7 26 0 86 -16 0 85 -5 0 84 46 0
- 8 11 0 85 4 0 91 37 0 89 -12 0
- 9 24 0 91 -4 0 85 -19 0 88 70 0
- 10 17 0 84 -35 0 81 4 0 92 35 0
- 11 8 0 93 53 0 92 -4 0 81 4 0
- 12 27 0 81 -46 0 83 36 0 93 -4 0
- 13 2 0 86 6 0 94 8 0 87 -41 0
- 14 23 0 86 26 0 95 7 0 94 -6 0
- 15 12 0 91 50 0 87 -8 0 94 4 0
- 16 10 0 94 -7 0 95 3 0 91 -4 0
- 17 10 0 91 -3 0 95 5 0 89 -37 0
- 18 19 0 95 33 0 90 -53 0 89 -5 0
- 19 18 0 86 -46 0 84 -35 0 92 2 0
- 20 6 0 86 -2 0 92 19 0 95 -26 0
- 21 4 0 96 14 0 93 -36 0 83 4 0
- 22 3 0 83 6 0 90 15 0 96 -4 0
- 23 14 0 83 -82 0 84 -67 0 90 -6 0
- 24 9 0 96 5 0 92 -53 0 93 -14 0
- 25 6 0 95 -19 0 92 -5 0 96 4 0
- 26 7 0 96 -15 0 90 -33 0 95 -4 0
- 27 12 0 91 -70 0 88 -92 0 87 -50 0
- Triangle group header :
- Offset3 : 0x000041A0 - (16800) Offset to vertex buffer
- TriangleID : 0xEA47B555 - "Li_reactor_lod1"
- type : 4 - Primitive = D3DPT_TRIANGLELIST
- no_ref_verts : 72
- Padding4 : 0x00
- Tricount : 46 - No of triangles in group (0 -> n-1)
- Triangle list :
- Number Opp Tri Flag Vert1 Offset1 Flags1 Vert2 Offset2 Flag2 Vert3 Offset3 Flag3
- 0 20 0 97 6 0 98 65 0 99 10 0
- 1 19 0 97 5 0 100 39 0 98 -6 0
- 2 18 0 101 93 0 100 -5 0 97 6 0
- 3 41 0 97 -10 0 99 49 0 102 3 0
- 4 41 0 101 -6 0 97 -3 0 102 75 0
- 5 13 0 103 8 0 104 89 0 105 3 0
- 6 37 0 106 8 0 103 -3 0 105 95 0
- 7 11 0 104 -8 0 103 5 0 102 83 0
- 8 41 0 103 -8 0 106 61 0 102 -5 0
- 9 28 0 107 141 0 108 15 0 109 4 0
- 10 28 0 109 5 0 100 59 0 107 -4 0
- 11 22 0 98 -39 0 100 -5 0 109 12 0
- 12 27 0 110 88 0 111 7 0 109 4 0
- 13 5 0 109 -15 0 108 95 0 110 -4 0
- 14 32 0 109 -7 0 111 7 0 98 -12 0
- 15 33 0 99 5 0 111 77 0 102 -49 0
- 16 26 0 98 -7 0 111 -5 0 99 -65 0
- 17 25 0 112 16 0 113 83 0 114 2 0
- 18 2 0 112 -2 0 114 92 0 115 7 0
- 19 1 0 112 4 0 116 53 0 117 10 0
- 20 1 0 116 -4 0 112 -7 0 115 50 0
- 21 11 0 113 -16 0 112 5 0 102 75 0
- 22 11 0 112 -10 0 117 25 0 102 -5 0
- 23 41 0 106 6 0 101 -75 0 102 -61 0
- 24 38 0 106 21 0 107 5 0 101 -6 0
- 25 17 0 107 -59 0 100 -93 0 101 -5 0
- 26 16 0 118 4 0 104 7 0 117 23 0
- 27 12 0 104 -4 0 118 72 0 105 -89 0
- 28 44 0 117 -7 0 104 -83 0 102 -25 0
- 29 39 0 119 10 0 107 -21 0 106 2 0
- 30 36 0 119 -2 0 106 -95 0 105 2 0
- 31 40 0 119 -2 0 105 55 0 107 -10 0
- 32 16 0 116 6 0 118 -23 0 117 -53 0
- 33 15 0 116 -50 0 115 39 0 118 -6 0
- 34 45 0 111 -88 0 110 5 0 102 -77 0
- 35 31 0 110 5 0 120 21 0 102 -5 0
- 36 30 0 121 14 0 120 -5 0 110 4 0
- 37 30 0 110 -95 0 108 27 0 121 -4 0
- 38 29 0 114 -83 0 113 3 0 121 12 0
- 39 29 0 121 -3 0 113 3 0 120 -14 0
- 40 31 0 120 -3 0 113 -75 0 102 -21 0
- 41 23 0 121 9 0 115 -92 0 114 -12 0
- 42 34 0 121 10 0 107 13 0 118 4 0
- 43 34 0 118 -39 0 115 -9 0 121 -4 0
- 44 28 0 121 -27 0 108 -141 0 107 -10 0
- 45 34 0 107 -55 0 105 -72 0 118 -13 0
So i have to make new sur file for my ship with groups, but this is problem. I tried to make new surface file with groups but this failed.
-
you probably need to created seperated surs and splice them using those names
-
Sur splice is not good program for this work. I've tried it and it made bugs. MilkShape made from two(or more) groups one *.cmp file, but sur splice made each file as group so you have to made sur file from one single model(box). This is not useable. So i need program that made from some objects sur file. Then i can use sur splice.
-
sometimes the use of the sur splicer can not be avoided
-
Succes! I have working prototype with collision groups, but it need more work.
Video: http://youtu.be/-xB1mk_b7pgAs you can see i have to make better surface file and made wireframe.
This may be usefull: Tech Tip - MilkShape Can Make Convex Sur Parts! - Seriously! Forums
Edit: Used programs:
CMP Importer 2.7
SUR Exporter
HardCMP 1.0.0.23
Sur_splice