VersusXV
Well-Known Member
Staff member
Administrator
Moderator
Patreon Supporter
Verified Builder
Vault Librarian
Knights of Spamalot
- Messages
- 849
Dynamic usage of things like Occlusion Planes/Cubes & Lightboxes that can't be generated during the game, in order to further optimize things in a settlement and maybe even allow more stuff to be built. I do have a simple Proof of Concept plugin, scripts and super short video, if this is interesting at all. I would just embed the video but can't from Discord uploads.
Trying to make spawned object(from perspective of an addon pack attempting this for a plot feature) triggering this seems like it possibly won't work unless bad moves are made like registering for a remote event that would trigger every time any plot is ever built, upgraded or refreshed. With a direct implementation it might be possible to throttle the papyrus usage to try to possibly avoid overload.
Since PreVis doesn't occlude anything player built or script generated or NPCs there is potential for additional optimization in using occlusion planes/cubes which do hide these. The idea is using a holding cell, FormList to iterate through pre placed lightboxes/Occlusion and MoveTo coordinates centered on the plot as needed. Another implementation could be specific buildables, like large walls as ACTIs that move in occlusion planes inside them or foundation pieces that move in occlusion cubes. Maybe build mode only markers that can be proxies for moved-in occlusion or lightboxes. If such a system could exist, we could lean on it as city planners and perhaps segment cities out with large walls and have a greater control to limit spikes in draw calls/triangles. This could possibly improve stability for heavy builds. For cases like caves in a city plan(I remember one perhaps at Coastal Cottage city plan having one) or Interior Cell city plans, Roombounds & Portals potentially could be used this way.
If plots could do it automatically, that could lead to gains without extra work in city planning. Perhaps it could be possible to have editor helper ACTIs that are spawned items that could be set up to place matching sized occlusion planes?
I have experimented with this trying to make my own script, initially only to try with lightboxes. To make lights from a plot only affect itself and the ground right beneath the plot using a 520x520x300 lightbox, a little larger than the plot likely is in order to affect a very small area outside of the lightbox but avoid affecting many nearby plots. The original idea I had was having a spawnable ACTI that could be used also on other addon packs via external spawned items. But my conclusion at this point is it's very likely not feasible without baseline implementation directly into Sim Settlements itself. It can maybe work on small scale usage but will overwhelm papyrus when talking about City Plans(where 30 or more may be appearing simultaneously) or a prebuild where many city plans will be set up at once.
If plots could do it automatically, that could lead to gains without extra work in city planning. Perhaps it could be possible to have editor helper ACTIs that are spawned items that could be set up to place matching sized occlusion planes?
I have experimented with this trying to make my own script, initially only to try with lightboxes. To make lights from a plot only affect itself and the ground right beneath the plot using a 520x520x300 lightbox, a little larger than the plot likely is in order to affect a very small area outside of the lightbox but avoid affecting many nearby plots. The original idea I had was having a spawnable ACTI that could be used also on other addon packs via external spawned items. But my conclusion at this point is it's very likely not feasible without baseline implementation directly into Sim Settlements itself. It can maybe work on small scale usage but will overwhelm papyrus when talking about City Plans(where 30 or more may be appearing simultaneously) or a prebuild where many city plans will be set up at once.
Trying to make spawned object(from perspective of an addon pack attempting this for a plot feature) triggering this seems like it possibly won't work unless bad moves are made like registering for a remote event that would trigger every time any plot is ever built, upgraded or refreshed. With a direct implementation it might be possible to throttle the papyrus usage to try to possibly avoid overload.