game-geometry-representation-choice
Choose the right geometric representation for game systems before implementing rendering, collision, procedural generation, editing, or conversion c…
它会碰到什么
这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。
技能内容
Game Geometry Representation Choice
Use this skill before writing geometry-heavy game code. Pick the representation
that makes the important operation simple, robust, and fast enough, then plan
conversion boundaries deliberately.
Primary source: Geometry for Programmers by Oleksandr Kaleniuk
(https://www.manning.com/books/geometry-for-programmers), transformed and
paraphrased, especially chapters 2 and 10-12.
Core Workflow
- Name the operation first: render, collide, pick, offset, deform, Boolean,
smooth motion, destruct terrain, generate props, edit geometry, or convert.
- List the data the game already has and the data the game ultimately needs.
Include textures, normals, animation bindings, gameplay tags, and LODs.
- Pick the working representation where the core operation is cheapest and
least fragile. Do not default to meshes just because rendering ends there.
- Define conversion boundaries: input representation, working representation,
output representation, resolution, tolerated error, and attribute transfer.
- Add invariants and tests for the representation, not just the final visual.
- Revisit the choice when the operation mix changes. A good rendering
representation may be a poor editing or collision representation.
Representation Guide
- Use triangle meshes for rendering, GPU pipelines, LODs, static level geometry,
and approximating smooth surfaces when attribute data matters.
- Use SDFs or implicit fields for Boolean composition, offsets, hollowing,
organic procedural forms, cheap inside/outside tests, and robust repair steps.
- Use voxels or image masks for destructible terrain, coarse occupancy,
erosion/dilation, denoising, flood fill, gap checks, and reliable Boolean-like
operations on a shared grid.
- Use splines or Bezier curves for player paths, camera rails, projectile trails,
roads, rivers, UI curves, and animation controls where continuity matters.
- Use parametric surfaces when procedural objects come from a small number of
parameters, such as surfaces of revolution, terrain patches, tubes, or rails.
- Use vector fields or deformation fields for smooth warps, influence maps,
wind/current effects, procedural variation, and nonrigid deformation.
- Use hybrids when one representation owns interaction and another owns
rendering, such as voxel sculpting with mesh LOD output.
Decision Rules
- If the operation is Boolean or offset-like, prefer SDFs or voxels over triangle
meshes unless exact mesh topology is required.
- If the operation needs exact texture, normal, skinning, or authoring data,
preserve mesh attributes or plan how to regenerate them after conversion.
- If the system needs smooth paths, start with curves and parameterization, not
with sampled points.
- If the game needs thousands of repeated spatial tests, choose a representation
that supports indexing, locality, or precomputed coefficients.
- If memory dominates, prefer boundary data such as meshes or splines over full
voxel volumes.
- If robustness dominates, prefer grid, SDF, or redundant fallback workflows over
a single brittle mesh algorithm.
Output Checklist
Return a short representation brief:
- Chosen working representation:
- Existing input representation:
- Required output representation:
- Operations made simpler:
- Operations made harder:
- Conversion steps:
- Error/resolution budget:
- Attribute preservation plan:
- Degenerate or failure cases:
- Minimal tests or debug views:
Common Mistakes
- Rendering from meshes, then forcing every gameplay operation to run on the
same mesh.
- Applying offsets or Booleans to arbitrary triangle meshes before considering
SDF or voxel workflows.
- Converting representations without a plan for normals, UVs, materials,
gameplay labels, collision layers, or LODs.
- Treating a sign-only implicit function as a true distance field after operations
that destroyed distance meaning.
- Choosing a high-resolution grid without proving the memory and streaming
model.
- Optimizing the algorithm implementation before choosing the representation
that makes the algorithm unnecessary.
想直接用这个技能?
本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。
它属于哪个仓库
plugins/LVTD-LLC/skills/skills/game-geometry-representation-choice/SKILL.md