Skip to content

feat: support partial elimination (cutting) for bent laser - #127

Open
RubikZero wants to merge 1 commit into
Legacy-LuaSTG-Engine:masterfrom
RubikZero:feature/partial-eliminate-bent-laser
Open

feat: support partial elimination (cutting) for bent laser#127
RubikZero wants to merge 1 commit into
Legacy-LuaSTG-Engine:masterfrom
RubikZero:feature/partial-eliminate-bent-laser

Conversation

@RubikZero

Copy link
Copy Markdown
  • segment rendering: contiguous active nodes split into independent strips per cut range
  • cut range anchored to laser tail, travels with the laser body; world-distance bridging merges cuts of one pass
  • new Lua API: Cut / GetActiveNodeCount / GetActiveNodes
  • collision and render share the single-node-segment exclusion rule
  • fix segment index offset: accumulate by actual vertex count (seg_len*2) so later segments do not span the cut band

- segment rendering: contiguous active nodes split into independent strips per cut range
- cut range anchored to laser tail, travels with the laser body; world-distance bridging merges cuts of one pass
- new Lua API: Cut / GetActiveNodeCount / GetActiveNodes
- collision and render share the single-node-segment exclusion rule
- fix segment index offset: accumulate by actual vertex count (seg_len*2) so later segments do not span the cut band
@Demonese Demonese self-assigned this Aug 13, 2026
@Demonese Demonese added the engine:gameobject Engine sub-system: GameObject label Aug 13, 2026
@Demonese

Demonese commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

我觉得缩短到下面这种情况就可以考虑移除掉裁剪区了:

<激光头|激光体>-被裁剪区- <- 最大长度

目前的实现看起来有点奇怪:

16

测试代码在这个分支:https://github.com/Legacy-LuaSTG-Engine/LuaSTG-Sub/tree/pr/feature/partial-eliminate-bent-laser

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

engine:gameobject Engine sub-system: GameObject

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants