Phase 2: Modeling Nyjah Houston
Goals
Create a low-poly Nyjah Houston model in Blender that fits within N64 hardware constraints and matches the original Tony Hawk skeleton exactly.
Constraints Recap
- Max triangles: 400 (aim for 350 to leave headroom)
- Segmented mesh: Each body part is a separate object (no smooth skinning)
- Texture budget: 32x32 or 64x64 per texture, CI4 (16 colors) preferred
- Proportions: Should roughly match Tony Hawk's proportions for animation compatibility
Step 1: Reference Gathering
Collect reference images of Nyjah Houston for modeling:
- Front/side/back views for body proportions
- Face details (simplified to a few polygons + texture)
- Signature style: dreads (simplified geometry + texture), typical skate outfit
- Shoe style for foot segments
Step 2: Modeling Guidelines
Body Segments
Model each as a separate Blender object with origin at the bone/joint position:
| Segment | Approx Tri Budget | Notes |
|---|---|---|
| Head | 30-50 | Face detail via texture, dreads as simple geo |
| Torso | 60-80 | Front/back shirt texture |
| Pelvis/Hips | 20-30 | Connects to legs |
| Upper Arm (x2) | 15-20 each | Simple cylinder |
| Forearm (x2) | 15-20 each | Simple cylinder |
| Hand (x2) | 10-15 each | Mitten shape (no individual fingers) |
| Upper Leg (x2) | 20-30 each | Pants detail via texture |
| Lower Leg (x2) | 15-20 each | |
| Foot (x2) | 15-25 each | Shoe shape |
| Total | ~350 | Leave margin for adjustments |
Modeling Tips for N64
- Use quads/tris only — no n-gons
- Keep faces planar — non-planar faces cause rendering artifacts
- Vertex normals matter — they determine shading; use flat shading for most segments
- No modifiers — apply all modifiers before export; what you see in edit mode is what gets exported
- Winding order: Counter-clockwise when viewed from outside = front face. Wrong winding = invisible face in-game
- Scale: Match the scale of the ripped Tony Hawk model exactly
Nyjah-Specific Details
- Dreads: 4-6 flat polygons extending from head, textured to look like locs
- Face: Minimal geometry (flat or slightly shaped plane), all detail in texture
- Shirt: Could include a Nike SB logo or signature graphic via texture
- Shoes: Simplified Nike shape, details via texture
- Pants: Slim fit (fewer tris than baggy pants)
Step 3: Texturing
Texture Sheets
Create pixel-art style textures at exact N64 dimensions:
| Texture | Size | Format | Content |
|---|---|---|---|
| Face | 32x32 | CI8 (256 colors) | Facial features, skin tone |
| Torso front | 32x32 | CI4 (16 colors) | Shirt design/logo |
| Torso back | 32x32 | CI4 (16 colors) | Back of shirt |
| Arms/Legs | 32x32 | CI4 (16 colors) | Skin/clothing |
| Shoes | 32x32 | CI4 (16 colors) | Shoe details |
| Hands | 16x16 | CI4 (16 colors) | Skin tone |
Texturing Tips
- Pixel art style — hand-paint textures at target resolution (don't downscale from HD)
- Limited palette — choose 16 colors carefully; skin tones, shirt color, accent colors
- No filtering — N64 bilinear filtering is crude; design textures that look good without it
- UV mapping: Keep UVs simple and aligned to pixel grid where possible
- Texture coordinates are 10.5 fixed-point in F3DEX2 — max UV range is limited
Color Palette Strategy (CI4 = 16 colors)
For each texture, allocate colors wisely:
Example shirt palette:
- 3 skin tones (base, shadow, highlight)
- 4 shirt colors (base, shadow, highlight, logo color)
- 3 pants/shorts colors
- 2 outline/dark colors
- 2 accent colors
- 2 reserved
Step 4: Rigging
Match the Original Skeleton Exactly
After Phase 1 documents the bone hierarchy:
- Create an armature in Blender matching the exact bone names, count, and parent-child relationships
- Position bones to match Tony Hawk's rest pose (use ripped model as overlay reference)
- Parent each mesh segment to its corresponding bone using "Bone" parent type (not Armature with automatic weights)
- Each vertex belongs to exactly ONE bone — no weight painting across multiple bones
Rigging Checklist
- Bone count matches original
- Hierarchy matches original (same parent-child structure)
- Bone positions approximate original proportions
- Each mesh segment parented to one bone only
- No vertices assigned to multiple bones
- Rest pose matches original (typically T-pose or A-pose)
Testing the Rig
- Import an animation from the ripped model data (or manually pose bones)
- Verify no body parts clip through each other at extreme poses
- Check that knee/elbow joints don't show gaps during bending
- Verify proportions look correct from the N64 camera distance (far away, 320x240)
Step 5: Blender File Organization
nyjah_houston.blend
├── Collection: Body_Segments
│ ├── Head
│ ├── Torso
│ ├── Pelvis
│ ├── L_UpperArm
│ ├── L_Forearm
│ ├── L_Hand
│ ├── R_UpperArm
│ ├── R_Forearm
│ ├── R_Hand
│ ├── L_UpperLeg
│ ├── L_LowerLeg
│ ├── L_Foot
│ ├── R_UpperLeg
│ ├── R_LowerLeg
│ └── R_Foot
├── Armature: Skeleton
└── Collection: Reference (hidden)
└── TonyHawk_Ripped (overlay)
Deliverables
After completing this phase:
- Complete Nyjah Houston model (segmented, under 400 tris)
- All textures as indexed PNGs at correct dimensions
- Properly rigged armature matching original skeleton
- Blender file ready for F3DEX2 export