zoey VR 360° 嵌入式预览
Spin inside your panorama without leaving ComfyUI — an embedded Pannellum VR viewer
- image
VR360PreviewNode is the output node you add when you generate 360° content and want to actually look around inside it before committing. Feed it an equirectangular panorama (the stretched 2:1 image that 360 cameras and panorama generators output) and the node opens a real VR viewer - powered by Pannellum - right in the ComfyUI node body. Drag to look around, zoom, click the fullscreen button, and check whether the seam is broken or the horizon is crooked. It's the difference between squinting at a warped flat rectangle and checking your work the way a viewer will see it.
It's from comfyui-ZoeyTool (zoey/VR category), and it's one of those "the pack author needed this once and shipped it cleanly" nodes. There's genuinely nothing else to it - which is the appeal.
How it works
One required input: image - an IMAGE tensor of an equirectangular panorama (width = 2× height is the usual tell, though the viewer tolerates other ratios). That's the entire interface; there are no other widgets, no options, no outputs.
Mechanically it does the standard ComfyUI output-node thing: saves the image to the output folder as a vr_preview_*.png and returns it through the ui.images channel so the frontend can render it. The difference from a normal SaveImage is the frontend: the pack's vr_preview.js loads the Pannellum viewer library and drops a draggable, zoomable 360° viewport over that saved file - embedded directly in the node. Pannellum handles the equirectangular → spherical mapping, so the image wraps around you and you pan with your mouse.
One caveat baked into the design: Pannellum is loaded from the jsDelivr CDN ([email protected]) on the fly. So the interactive viewer needs your browser to reach that CDN - the node and the image save work fine offline, but the "VR" part of the preview goes quiet without internet.
Installing it
Part of comfyui-ZoeyTool:
cd ComfyUI/custom_nodes
git clone https://github.com/liangzoey/comfyui-ZoeyTool.git
cd comfyui-ZoeyTool
pip install -r requirements.txt
Restart ComfyUI, or ComfyUI Manager → comfyui-ZoeyTool. No models, no extra downloads. The VR viewer is pure frontend; the only Python dependency is what the pack already needs to save an image.
Where people get burned
The most common miss is feeding it a non-equirectangular image - a regular photo or a cube-map face will render as a badly stretched sphere where everything looks wrong. This node assumes you've already converted/generated a proper 2:1 equirectangular panorama; if your viewer looks broken, suspect the input format first. Second, the "it doesn't show the VR view" report is usually the CDN: if you're on an air-gapped setup or a region where jsDelivr is blocked, the node still saves the PNG but no interactive viewer appears - the fallback is to open the saved vr_preview_*.png in any external panorama viewer. And because it's an output-only preview, wire it after your save node in the chain, not as a substitute for it, if you also want a plain PNG on disk with a normal filename.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — |
Outputs (0)
No outputs