Hy3D Render SingleView
Spin your mesh to any angle and get a normal or depth render — the 'show me what I made' node
- trimesh
- image
- mask
Hy3DRenderSingleView is the node for when you want to look at your mesh rather than paint it. You hand it a TRIMESH, dial in an azimuth, an elevation, a camera type - and it renders a single normal map or depth map from that exact angle. No six-view ring, no bake connection, no drama. It's the turntable-on-demand renderer of the pack.
The normal render is what makes this fun. It bakes the surface orientation into RGB - and because it uses the tangent-space convention with that familiar 128,128,255 (light blue) background for empty space, it looks like a proper game-engine normal map. That's not an accident: a tangent-space normal render of your mesh is exactly what you'd feed back into a 2D pipeline to re-light, upscale, or composite the object in a scene.
Inputs that matter
render_type-normal(default) ordepth. Normal gives you the blue-and-purple orientation map; depth gives grayscale distance.render_size(default 1024) - output resolution.camera_type-orth(orthographic, default) orperspective. Orthographic is what Hunyuan's pipeline assumes and is the sane default for "show me the mesh"; perspective is for looks.azimuth/elevation(degrees) - spin the camera around the object.camera_distance,ortho_scale,pan_x,pan_y- framing controls.ortho_scale(default 1.2) is your zoom-in/out when orthographic.bg_color- RGB comma-separated,"128, 128, 255"by default. That light blue is the normal-map empty-space color, so it's the right default; change it and the "empty" pixels change with it.
Outputs are image (IMAGE) and mask (MASK). Wire the image into a preview, an upscale model, or an img2img pass - it's a plain image node after that.
Where it sits
Unlike Hy3DRenderMultiView, this node is not on the critical texture path - Hy3DSampleMultiView won't accept its output. It's the "show me what I made" renderer, and a genuinely handy one. Render a normal map of your finished mesh as a thumbnail, spot-check geometry from underneath, or feed the render into a 2D upscaler for a high-res beauty shot.
Install
Pack-level install - Manager search "Hunyuan3DWrapper" or git clone https://github.com/kijai/ComfyUI-Hunyuan3DWrapper, then pip install -r requirements.txt. Same caveat as every render node in this pack: it's part of the texture-gen rasterizer family, so Windows users want the matching prebuilt custom_rasterizer wheel from wheels/ (the +torch260.cuda126 one for the current portable).
Common issues
- The object is cut off -
ortho_scaletoo small for the object's bounds. Nudge it up. - Normal map looks inverted or weird - tangent-space normal conventions are fiddly; if it looks wrong to you, render
depthto confirm the geometry itself is fine, then worry about the normals. - Black background on normal render - the mesh likely has no vertex normals or the render got an empty mask. Clean the mesh with
Hy3DPostprocessMeshfirst.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| trimesh | TRIMESH | — | |
| render_type | COMBO | normal | 2 options: normal, depth |
| render_size | INT | 102464–4096 | — |
| camera_type | COMBO | orth | 2 options: orth, perspective |
| camera_distance | FLOAT | 1.4500.1–10 | — |
| pan_x | FLOAT | 0.00-1–1 | — |
| pan_y | FLOAT | 0.00-1–1 | — |
| ortho_scale | FLOAT | 1.2000.1–10 | — |
| azimuth | FLOAT | 0-360–360 | — |
| elevation | FLOAT | 0-360–360 | — |
| bg_color | STRING | 128, 128, 255 | Color as RGB values in range 0-255, separated by commas. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |
| mask | MASK | — |