Chapter 2: Kitbash Libraries & CAD Pitfalls

Created by Sarah Choi (prompt writer using ChatGPT)

Kitbash Libraries & CAD Pitfalls — 2D/3D Hybrid Methods for Weapon Concept Artists

Focusing on blockouts, kitbashing, and photobash ethics. Written equally for concept‑phase artists and production‑minded artists.


Why kitbash libraries exist (and when not to use them)

Kitbash libraries accelerate exploration by letting you swap validated modules—stocks, grips, optics, receivers, barrels, muzzle devices—without rebuilding basics every time. In blockouts they answer the question, “Does this posture, stance, and reload window work?” long before you commit to final topology. But kitbash parts are tools, not crutches: if you rely on them for novelty instead of proportion design, you’ll produce bland mashups and unreadable silhouettes. Use libraries to test decisions, not to outsource decisions.


Library anatomy: what a production‑ready kitbash set looks like

1) Canonical datums. Every part must align to shared references: bore axis, receiver mid‑plane, top‑rail zero, and origin at magwell/stock shoulder (choose a studio standard). Snap‑ready datums let parts swap in seconds.

2) Scale discipline. Normalize to studio world units (e.g., 1 unit = 1 cm). Store a 100 mm calibration cube and a human‑hand proxy in each file. Publish part dimensions in names or metadata (KB_Optic_RDS_S_Height36mm).

3) LOD tiers. Keep Blockout (primitive), Proxy (clean quad/tri), and Detail (presentation) variants. Don’t drop Detail meshes into blockouts; they skew read and FOV judgements.

4) Pivot sanity. Pivots at functional centers: optics at clamp origin, stocks at telescope joint, cylinders at hinge, bolts on travel axis. Correct pivots save rig time and prevent animation guesswork.

5) Material domains. Tag predictable material IDs (metal, polymer, rubber, glass). Flat shaders in three values (dark/mid/light) preserve silhouette truth without texture noise.

6) Naming & taxonomy. Class–Subtype–Size/Feature–Version: KB_Stock_Skeleton_M_v3, KB_Mag_AR_30rnd_Curve_v2, KB_Muzzle_Taper_Suppressor_L_v1. A consistent scheme scales to hundreds of parts.

7) Metadata. Store notes: intended use, limitations, attachment type, and any incompatibilities (needs top rail length ≥ 180 mm). Include a thumbnail render for fast browsing.

8) License & provenance. Maintain a manifest with author, license, and usage rights. Distinguish studio‑made, licensed, and reference‑only assets; never ship third‑party geometry unless licensed for distribution.


Curating a healthy library (so it doesn’t become a junk drawer)

  • Quarterly triage. Retire near‑duplicates and broken pivots. Keep one Anchor and one Range per subtype; archive the rest with reasons.
  • Style governance. Enforce edge and bevel language (e.g., 0.5–1.5 mm visual bevel equivalents) so mixed parts don’t clash in presentation passes.
  • Attachment standards. Lock to specific rail types and tapers (e.g., Picatinny/1913, M‑LOK slots, proprietary dovetail) with published envelopes. Inconsistent rails explode turnaround time.
  • Faction overlays. Consider having “blank” functional cores and separate cosmetic shells per faction (imperial monolith, modular industrial, ritual/ornate). This keeps function reusable while shape language flexes.
  • Kill the greeble bins. Delete unlabeled screws/vents/ribs. Replace with parametric cards (e.g., adjustable vent kit with standardized rhythm and spacing) to prevent noise.

Workflow: blockouts ↔ kitbash ↔ paintovers

  1. Blockout with primitives to set stance, proportions, grip spacing, and reload windows.
  2. Swap with kitbash parts to pressure‑test sight picture, attachments, and motion envelopes.
  3. Export frames to 2D (orthos + FPV) for paint notes: value scaffolding, silhouette strengthening, faction overlays.
  4. Return to 3D to integrate only the changes that affect form, function, or readability—not surface micro‑detail.
  5. Lock a variant and freeze part lineage in your matrix (Receiver: KB_Rec_Compact_v2, Stock: KB_Stock_Skeleton_M_v3).

The moment kitbash changes stop altering stance/readability, pivot to bespoke modeling.


CAD vs DCC: where pitfalls hide

Many kitbash parts come from CAD (NURBS/solids) or are exported from parametric apps (SolidWorks, Fusion 360, Inventor). These are fantastic for accuracy but dangerous when shoved unedited into a DCC (Maya, Blender, Max) or a game engine.

Pitfall 1 — CAD tessellation bloat

Symptoms: Millions of triangles, uneven density near fillets, shading acne.

Fix: Export with controlled chord height/angle. Retopologize critical surfaces to clean quads/tri fans; bake normals from the CAD mesh if needed. Use decimation only as a stopgap—it preserves errors.

Pitfall 2 — Microscopic fillets

Symptoms: 0.1–0.2 mm edge rounds that die at game texel density; LOD pops, aliasing.

Fix: Replace micro‑fillets with normal maps. Keep only silhouette‑relevant bevels as geometry. Adopt a studio bevel policy tied to camera distance (e.g., 1–2 mm geo bevels at FPV heroes).

Pitfall 3 — Non‑manifold & zero‑thickness parts

Symptoms: CAD shells or overlapping solids produce non‑manifold meshes and backface flicker.

Fix: Solidify thin parts with minimum thickness (visual, not necessarily engineering‑correct). Ensure manifold meshes before rigging or boolean ops.

Pitfall 4 — Unit/scale chaos

Symptoms: Parts import at 1/10th or 10× scale; pivots drift; physics weirdness.

Fix: Standardize: 1 unit = 1 cm (or your studio’s standard). Freeze transforms and reset pivots to datums. Include a 100 mm cube in every export.

Pitfall 5 — Shading normals & hard/soft edges

Symptoms: Wavy speculars, gradient dents, normal seams.

Fix: Set consistent hard/soft edge rules (hard at silhouette breaks, soft on cylindrical spans). Recompute normals post‑tessellation; avoid importing vertex normals that fight the DCC’s rules.

Pitfall 6 — Boolean scars

Symptoms: CAD‑inspired cutouts baked as messy booleans; topology spirals, impossible to UV.

Fix: Model boolean features on mid‑poly control and retopo cleanly, or slice with support loops and bake details. Keep boolean usage to places that won’t deform/animate.

Pitfall 7 — Parametric love affair

Symptoms: You keep the entire feature tree because it’s “nice” to edit, then ship a 5M tri receiver.

Fix: Collapse after design is locked. Bake to a clean game‑model proxy. Save the parametric file for source reference only.


Readability traps specific to kitbashing

  • Mismatched bevel language. Mixing razor‑edged CAD parts with hand‑modeled soft bevels ruins cohesion. Normalize.
  • Over‑articulated surfaces. Layering vents, screws, ribs on top of busy silhouette zones destroys class reads. Echo silhouette logic; avoid “greeble soup.”
  • Attachment overlap. A popular optic + suppressor combo can erase the front signature. Pre‑integrate counter‑shapes (stepped shrouds) in the base design.
  • Scale drift across swaps. Changing barrels or stocks subtly changes OAL and balance; keep a proportion checklist visible and re‑measure after every swap.

Ethical boundaries: kitbash and photobash

Licensing. Distinguish in‑engine shipping geometry (must be original or properly licensed) from reference‑only or internal study meshes. Never ship unlicensed third‑party parts.

Derivative risk. If a part’s brand silhouette is iconic (e.g., a distinct stock or muzzle device), do not replicate it 1:1. Translate function while inventing form.

Photobash use. Bash photos as material/lighting reference over your own blockout screenshots. Avoid copying distinctive cutouts, patterns, or logos. Keep a source panel with URLs/licenses in your PSD.

Attribution culture. Inside the studio wiki, record authorship and design lineage. Credit is not just ethics—it’s practical when tracking bugs or updating standards.


Interop checklist: moving parts across tools

  • Export settings: FBX with centimeters, Y‑up/Z‑forward per studio standard. Triangulate on export if your DCC prefers it; be consistent.
  • Axis tests: Load into engine rig scene; verify pivots (bolt, cylinder, stock) animate along expected axes.
  • Unit test: Drop Optic_RDS_S on three receivers; confirm clamp alignment with top rail zero.
  • Material slots: Limit to the studio’s texture set count; name consistently (MAT_Metal_Receiver, MAT_Polymer_Grip).
  • LOD quick pass: Test silhouette preservation at LOD1/2; mark sacred planes.

For concept‑side artists: how to wield libraries without losing voice

  • Design first, then swap. Establish mass and story in a primitive blockout. Use kitbash parts to verify fit and function, not to invent the narrative.
  • Constrain your palette. For a given class, pick one stock family, one receiver family, and two barrels for a round. Too many options paralyze.
  • Annotate purpose. Every swap gets a note: “Lower optic 10 mm → clearer ADS; move grip forward 30 mm → better reload window.” This creates a design paper trail.
  • Faction pass last. After ergonomics work, run a silhouette‑only faction overlay rather than jumping straight to ornate kitbash shells.

For production‑side artists: what to demand from a kitbash‑heavy concept

  • Manifest & rights. A clear list of all third‑party assets and licenses. Reject concepts that can’t prove provenance.
  • Datums & pivots. Verify kitbash parts align to studio datums and have correct pivots before modeling invests.
  • Topology realism. Insist on clean proxy meshes for any part expected to animate or touch player hands.
  • Performance foresight. Flag CAD‑sourced pieces that will need retopo; require triangle budgets and texel targets on the callout sheet.

Indie vs AAA: scaling the kitbash strategy

Indie. Keep a tiny, high‑quality set: 2–3 stocks, 2 receivers, 3 barrels, 3 optics, 2 mags, 2 muzzle devices per class. The constraint forces better design choices and speeds iteration.

AAA. Maintain a centralized, versioned library with templates, QA checks, and ownership. Add CI‑style gates: a part can’t enter the library unless it passes scale, pivot, material, and license checks.


Common failure modes & fixes

1) Library soup aesthetic. Every weapon looks like a collage. Fix: Re‑establish silhouette anchors and proportion bibles; restrict kitbash permutations per season.

2) CAD import meltdown. Tessellated junk slows scenes. Fix: Bake normals from CAD → clean mid‑poly → game proxy. Document export presets.

3) Photobash plagiarism. Recognizable vendor parts pasted in. Fix: Replace with paint; redesign silhouettes; train the team on ethical bashing with examples.

4) Attachment collisions discovered late. No envelopes. Fix: Include standardized attachment bounding boxes and run a stress row (optic + suppressor + fore device) on every concept plate.

5) Pivot drift. Parts rotate around arbitrary pivots. Fix: Snap to function centers; publish a pivot guide image inside the library.


Deliverables & templates to include with your library

  • Library manifest (CSV/MD): part name, class, size, author, license, pivots, datums, known issues.
  • Pivot & datum guide (PNG): visual diagram of alignment rules.
  • Scale test scene (DCC + engine): character rig, FPV/TPV cameras, 100 mm cube, reference receiver.
  • Attachment envelope set (FBX): ENV_Rail_Top_200mm, ENV_Muzzle_Ø42×80, ENV_Underbarrel_120x60x60.
  • Photobash ethics panel (PSD): sources, licenses, transformation notes, and a do/don’t overlay.

Closing: libraries are multipliers—only if you govern them

A kitbash library multiplies your speed, but only if it’s governed: shared datums, sane scale, clean pivots, and crystal‑clear rights. CAD parts bring precision but also heavy pitfalls—tessellation bloat, microscopic fillets, and shading chaos—that must be tamed before they enter your pipeline. Treat libraries as infrastructure, not inspiration, and pair them with ethical photobash habits. Do that, and your 2D/3D hybrid workflow will produce weapons that are fast to iterate, clean to build, and unmistakably yours.