scp-fs2open / scp-fs2open/fs2open.github.com
FR: Everything Warmachine needs out of external weapon models, probably.
- Dominant language
- C++
- Stars
- 487
- Forks
- 184
- Avg merge
- 3d 9h
- Merged PRs (30d)
- 44
Description
The biggest driving force between these requests is the Achilles model. Talhydras designed and modeled this as an art project of a fighter he'd been imagining for years first, and a game-ready model tagging along somewhere behind. Which is to say, it doesn't conform well to the limits of FSO, most obviously in the weapon models festooning it.
But it'd be cool if it did.
My proposals are pretty slanted towards my own needs and workflow desires, but I've discussed it with some community members who have had similar desires in the past and think what I want can be very useful for others too.
I think my proposal is best understood in the context of how I want to use it, so Talhydas prepared a model. https://p3d.in/HOM5O
### THING 1: Rotated weapon models

Having externally mounted missiles of varying diameters sharing banks and not all sharing the same orientation is not feasible unless you can set a rotation for the external model. If you put the firepoint and model origin at the back of the missile, one set will be floating or intersecting the mount. If you put it at the side mounting point, then only one orientation will look right and the rest will to some extent intersect, or be entirely hidden in the model.
Goober5000 has implemented a firepoint rotation feature that, when it has PCS2 support, accommodates this. That's not the end of it though.
### THING 2: Variable mounting points
Banks 3 and 4 of the achilles are both able to mount 'class 3' and 'class 4' missiles, those being of different sizes.

The impossible thing comes in that while they look similar, the stanchion geometry for these two missile types varies, and so too must the firepointing.
Same banks, swapped weapons:

The only way to accommodate this in the current game I can think of is to have four different ship pofs that get swapped via script.
### THING 3: Animated weapon mounts
The ship had wings that fold under certain circumstances, and some of the weapon stanchions are on those wings. For this to work ideally it needs to be possible to apply ship model animations to firepoints.
### THING 4: Variable firepoint counts
The belly pod can mount various weapon systems. Two are big powerful guns, one is a missile pod akin to the classic freespace big box launchers.

But unless I'm missing something, there isn't a way for me to have one firepoint on the main model become several on an external model, making this quite difficult.
### THE PROPOSAL:
To address all these I think the following features would be ideal:
1. Add information to the ship tables, or make a new weapon model table, that allows different models to be used for different ship-weapon-bank(-firepoint?) combinations. There are a few different places and structures that you could use for this and none is obviously superior to me.
2. Allow ext models to have multiple firepoints. If no firepoints are defined then the game would just use the ship's core ones to fire from as normal, otherwise it'd only use those for the initial mounting and replace them with those provided by the extmodels
3. Allow a second tier of ext model so that different stanchion/rack models can reference shared missile models, with similar configurability.
4. Make all these support and respect firepoint rotation definitions
5. Allow firepoints to be animated the same as submodels, if they can't be already.
Aeesar has in the past proposed a system whereby the pof of the ship itself contains all the external weapon models and they are shown or hidden as appropriate, primarily because it better suits how he wanted to approach their creation. If all these features are implemented then those who preferred that approach could still mostly accomplish it, by having banks that are a single firepoint at the origin and exporting all that weapon geo and firepoint data into separate pofs. Based on our past conversations I believe this system would meet both our needs.
Please let me know if any of this seems to be unclear, confusing, incomplete or doesn't follow, and I do my best to clear it up.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.