Capital Ship Wrecks
-
Why485 wrote:
The most obvious and simplest solution, (and originally what I thought you were doing in the first place) would be to just have the explosion that kills the ship spawn the various debris pieces. That won’t give you very much control over where each piece of debris ends up unfortunately, but it’s the closest thing I can think of.Also a minor unrelated niggle, but can’t you just use YouTube like everyone else? Livestream is kind of annoying with all those ads.
Ya, that’s what I did originally by placing the wrecks into the explosion.ini. The results were less than convincing of capital ship wrecks and there was very little control of how the debris reacted and were presented. Considering the pieces are so large (some are 2km in length) I need to have very precise control of how the wrecks breaks apart, thus we decided to go the more direct route.
As for the vid, sure. I’m just lazy and it’s an easy method for me to show people for a WIP wreck that is bjorked.
-
What ads?
Oh wait… AdBlock
-
FriendlyFire wrote:
The only way for this to work would be to somehow “unlink” the created debris from the root so that when destroy_root is called the debris still keep on living for their defined period of time.Thinking about this, I remembered a specific incident where a piece of debris survived the root explosion. Or at the least, that what it appears to have happened. Luckily I just happened to have it on video.
After the Bretonian Destroyer is destroyed, it goes through its death fuse, and and what is presumably the root is destroyed by the end of it. However a piece is still left over. You can see the big loop piece just sitting there after the ship has been completely destroyed.
It’s very possible that may only have happened because of the way Freelancer splits up its models, (the method you were specifically avoiding) but that’s the only lead I can give.
-
Ya, that’s exactly what we wanted. Well, lets hope one of the gurus of FL can figure this one out. If not, it’s back to the drawing board.
-
Just to add:
Three things must happen in sequential order; the explosion, the swapping of the main model for the wrecked model and finally, the separation of the parts.
Control over speed and direction of the wrecked pieces is part two of the [d]problem[/d] challenge.:-)
The “holes” in the model seen are my fault and will be corrected shortly.
-
@ why: isnt that a random mission solar rather than a wreck? capship solars in mission regularly leave debris destroying only the root. Seems to be control by fate = debris line in the main fuse. I like where this is going, always thought it was a bit rubbish having an indestructable wreck
-
So I talked to Dev and he recommended we try a different way. I’ll post the code here so everyone can follow. Sadly, we don’t get a result at all and we’re both at a loss as to why:
This is the code in our solararch/shiparch:
fuse = mc90_wreck, 0.000000, 1 ----------------------- [CollisionGroup] obj = debris_zomgbayz01 separable = true debris_type = debris_mc90_wreck_forward hit_pts = 10000 root_health_proxy = false [CollisionGroup] obj = debris_zomgbayz02 separable = true debris_type = debris_mc90_wreck_main hit_pts = 10000 root_health_proxy = false [CollisionGroup] obj = debris_zomgbayz03 separable = true debris_type = debris_mc90_wreck_rear hit_pts = 10000 root_health_proxy = false
This links to both the explosion.ini and fuse.ini
Explosion.ini;---------- MC90 [Debris] nickname = debris_explosion_mc90_main death_method = exploding lifetime = 60, 120 linear_drag = 10000 angular_drag = 10, 10, 10 rotation_inertia = 100, 100, 100 [Debris] nickname = debris_mc90_wreck_forward death_method = exploding lifetime = 0, 0 linear_drag = 1000 angular_drag = 10, 10, 10 rotation_inertia = 100, 100, 100 explosion = explosion_mc90_wreck_forward [explosion] nickname = explosion_mc90_wreck_forward lifetime = 0.000000, 0.000000 process = shatter debris_impulse = 100 debris_type = debris_explosion_mc90_main innards_debris_start_time = 0.0 innards_debris_num = 1 innards_debris_radius = 1 innards_debris_object = mc90_wreck_forward strength = 100 radius = 500 hull_damage = 20000 [Debris] nickname = debris_mc90_wreck_main death_method = exploding lifetime = 0, 0 linear_drag = 1000 angular_drag = 10, 10, 10 rotation_inertia = 100, 100, 100 explosion = explosion_mc90_wreck_main [explosion] nickname = explosion_mc90_wreck_main lifetime = 0.000000, 0.000000 process = shatter debris_impulse = 100 debris_type = debris_explosion_mc90_main innards_debris_start_time = 0.0 innards_debris_num = 1 innards_debris_radius = 1 innards_debris_object = mc90_wreck_main strength = 100 radius = 500 hull_damage = 20000 [Debris] nickname = debris_mc90_wreck_rear death_method = exploding lifetime = 0, 0 linear_drag = 1000 angular_drag = 10, 10, 10 rotation_inertia = 100, 100, 100 explosion = explosion_mc90_wreck_rear [explosion] nickname = explosion_mc90_wreck_rear lifetime = 0.000000, 0.000000 process = shatter debris_impulse = 100 debris_type = debris_explosion_mc90_main, 1.0 ;debris_large_capship_piece_explode, 1.0 innards_debris_start_time = 0.0 innards_debris_num = 1 innards_debris_radius = 1 innards_debris_object = mc90_wreck_rear radius = 500 hull_damage = 20000 [Simple] nickname = mc90_wreck_forward DA_archetype = TOW\solar\wrecks\mc90\mc90_wreck_forward.3db material_library = TOW\ships\mc90\mc90.mat Mass = 5 LODranges = 0, 20000 [Simple] nickname = mc90_wreck_main DA_archetype = TOW\solar\wrecks\mc90\mc90_wreck_main.3db material_library = TOW\ships\mc90\mc90.mat Mass = 5 LODranges = 0, 20000 [Simple] nickname = mc90_wreck_rear DA_archetype = TOW\solar\wrecks\mc90\mc90_wreck_rear.3db material_library = TOW\ships\mc90\mc90.mat Mass = 5 LODranges = 0, 20000
and our fuse.ini
[fuse] name = mc90_wreck lifetime = 20.00000 death_fuse = true [destroy_group] group_name = debris_zomgbayz01 fate = debris at_t = 0.000000 [destroy_group] group_name = debris_zomgbayz02 fate = debris at_t = 0.000000 [destroy_group] group_name = debris_zomgbayz03 fate = debris at_t = 0.000000 [destroy_root] at_t = 1.0
Considering the other way worked, I’m at a loss to why this method doesn’t and was wondering if anyone could shed some light on the topic.
Thanks for all the help thus far, fellas.
-
Yay double post
So I attached the hardpoints to the collision groups (debris_zomgbayz01, 02 and 03) and was able to get the debris render. It even continued to render after the root was destroyed. FF and I are currently working on getting the debris to move properly and we’re hoping we’ll have good results from that as it’s somewhat erratic at the moment. More updates to follow, hopefully.
-
i’d suggest to add impulses to the fuse to get the wrecks moving. also more realistic if nearby objects unaffiliated with the ship get thrown away a bit, too. about the wreckages and root, another idea would make the root a dummy object which you have enough of in your cmp (hopefully this suggestion had not been made making me a careless reader xD)
-
Impulse blocks don’t seem to work in fuses.
We’ve already tried.
-
Problem is that those only affect the debris created after the CollisionGroups are destroyed. These debris are always created at 0,0,0 on the root and tend to fly in odd patterns, which doesn’t look good at all when you have debris over 2k long.
The hard part is making the debris that spawn directly from the fuse look good.