{"id":51113845,"url":"https://github.com/webrotate360/turntable-animator-for-blender","last_synced_at":"2026-06-24T20:00:55.935Z","repository":{"id":366090436,"uuid":"1274675918","full_name":"webrotate360/turntable-animator-for-blender","owner":"webrotate360","description":"WebRotate 360 Turntable Animator for Blender","archived":false,"fork":false,"pushed_at":"2026-06-20T07:13:03.000Z","size":83,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-20T08:24:30.350Z","etag":null,"topics":["360-view","360-viewer","3d-models","3d-models-images","3dviewer","3dvisualization","animation","blender","blender-addon","blender3d","ecommerce","plugin","rendering","shopify"],"latest_commit_sha":null,"homepage":"https://www.webrotate360.com/products/cms-and-e-commerce-plugins/plugin-for-blender.aspx","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/webrotate360.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-19T19:12:30.000Z","updated_at":"2026-06-20T07:13:06.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/webrotate360/turntable-animator-for-blender","commit_stats":null,"previous_names":["webrotate360/turntable-animator-for-blender"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/webrotate360/turntable-animator-for-blender","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webrotate360%2Fturntable-animator-for-blender","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webrotate360%2Fturntable-animator-for-blender/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webrotate360%2Fturntable-animator-for-blender/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webrotate360%2Fturntable-animator-for-blender/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/webrotate360","download_url":"https://codeload.github.com/webrotate360/turntable-animator-for-blender/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webrotate360%2Fturntable-animator-for-blender/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34747387,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-24T02:00:07.484Z","response_time":106,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["360-view","360-viewer","3d-models","3d-models-images","3dviewer","3dvisualization","animation","blender","blender-addon","blender3d","ecommerce","plugin","rendering","shopify"],"created_at":"2026-06-24T20:00:55.131Z","updated_at":"2026-06-24T20:00:55.929Z","avatar_url":"https://github.com/webrotate360.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# WebRotate 360 Turntable Animator for Blender\n\nCreate highly interactive **360° and multi-row 3D product views** straight from Blender. This add-on turns your existing 3D models into smooth turntable animations with clickable hotspots and interactive polygonal areas, ready for online or offline publishing.\n\nIt integrates directly into Blender's **Scene Properties** and uses the 3D Viewport as a live \"viewfinder\" to set up your shot. Instead of moving the camera, it animates the selected object, so your lighting rigs and backdrops stay put for photo-realistic, studio-style results.\n\n## Demo\n\n▶️ [Watch the demo video](https://s1.pixriot.com/433181dfa6/Blog/2026-turntable-animator/webrotate-360-turntable-animator.mp4?t=1769475405)\n\n🔎 [Browse live interactive examples](https://www.webrotate360.com/examples/browse-all-examples.aspx) to see what you can build.\n\n\u003e Learn more on the official product page: [WebRotate 360 Turntable Animator for Blender](https://www.webrotate360.com/products/cms-and-e-commerce-plugins/plugin-for-blender.aspx)\n\u003e\n\u003e Read the full [User Guide](https://www.webrotate360.com/products/cms-and-e-commerce-plugins/plugin-for-blender.aspx?section=User%20Guide) for step-by-step instructions.\n\n---\n\n## Features\n\n- Seamlessly integrates into Blender's Scene Properties (`Properties \u003e Scene \u003e WebRotate 360`).\n- Uses the 3D Viewport as a camera \"viewfinder\" for quick animation setup.\n- Animates the **selected object** instead of the camera, keeping lights and environment stationary.\n- Simple, intuitive setup for both single-row 360° spins and **multi-row 3D / hemispherical** views.\n- Create **indicator hotspots** from Blender *Empties* tied to points of interest.\n- Create **polygonal hotspots** from vertex groups or meshes (2D and 3D surfaces).\n- Integrated camera and crop-region controls for fast framing adjustments.\n- **Fast Render** option for quick draft previews before committing to a full render.\n- Multiple build targets: a plain image sequence, a [SpotEditor](https://www.webrotate360.com/products/webrotate-360-product-viewer.aspx) project, or a web-ready interactive 360° asset.\n- Works with the free **QuickView** app (Windows) for instant offline previews.\n- Published 360° assets are ready to upload to [PixRiot](https://www.webrotate360.com/services/pixriot.aspx) for fast CDN hosting, sharing, and analytics, and can be integrated via [CMS plugins](https://www.webrotate360.com/products/cms-and-e-commerce-plugins.aspx) or the [ImageRotator API](https://webrotate360.s3.amazonaws.com/sites/webrotate360/downloads/Resources/IntegrationTemplates.zip) ([npm component](https://github.com/webrotate360/imagerotator)).\n\n---\n\n## Requirements\n\n- **Blender 2.80 or newer.**\n- Optional companion apps from WebRotate 360 (free):\n  - **QuickView** - instantly preview and test published interactive 360° views. [Download (QuickView for Windows)](https://www.webrotate360.com/products/webrotate-360-product-viewer.aspx#other).\n  - **SpotEditor** - desktop publishing software for advanced editing (non-destructive image processing, image filters, advanced 360 viewer tuning, hotspot styling, custom skins, templates, and more). [Download (WebRotate 360 Product Viewer)](https://www.webrotate360.com/products/webrotate-360-product-viewer.aspx) | [SpotEditor Readme (PDF)](https://webrotate360.s3.amazonaws.com/sites/webrotate360/downloads/Resources/Readme.pdf).\n\n---\n\n## Installation\n\nThis repository **is** the add-on source. The `__init__.py` at the repo root is the add-on entry point, so the whole folder needs to be installed into Blender.\n\n### Option A: Install from a ZIP (recommended)\n\n1. Download this repository as a ZIP (use the green **Code → Download ZIP** button on GitHub, or `git clone` and zip it yourself).\n2. Make sure the ZIP contains a **single folder** with `__init__.py` directly inside it, e.g.:\n  ```\n   webrotate360_blender/\n   ├── __init__.py\n   ├── wr360_panel.py\n   ├── ...\n   ├── assets/\n   └── icons/\n  ```\n  \u003e GitHub's \"Download ZIP\" already wraps everything in a folder named like `webrotate360_blender-main`, which is exactly the structure Blender expects.\n3. In Blender, open **Edit → Preferences → Add-ons**.\n4. Click **Install from Disk...** (top-right) and select the ZIP file.\n5. Enable the add-on by ticking the checkbox next to **WebRotate 360 Turntable Animator**.\n6. (Optional) Click **Save Preferences** so it stays enabled.\n\n### Option B: Manual install (clone into the add-ons folder)\n\nCopy or clone this repo into Blender's `addons` directory so that `__init__.py` lives at `.../addons/webrotate360_blender/__init__.py`.\n\n- **Windows:** `%APPDATA%\\Blender Foundation\\Blender\\\u003cversion\u003e\\scripts\\addons\\`\n- **macOS:** `~/Library/Application Support/Blender/\u003cversion\u003e/scripts/addons/`\n- **Linux:** `~/.config/blender/\u003cversion\u003e/scripts/addons/`\n\nExample using git:\n\n```bash\ncd \"%APPDATA%\\Blender Foundation\\Blender\\\u003cversion\u003e\\scripts\\addons\"   # adjust for your OS\ngit clone https://github.com/\u003cyour-org\u003e/webrotate360_blender.git\n```\n\nThen restart Blender, open **Edit → Preferences → Add-ons**, search for **WebRotate 360**, and enable it.\n\n### Verify it's installed\n\nOpen the **Properties** editor, select the **Scene** tab, and you should see a **WebRotate 360** section. Hotspot tools appear in the 3D Viewport sidebar under the **WR360** tab.\n\n---\n\n## Quick Start\n\n1. **Set the project folder \u0026 object.** In `Properties \u003e Scene \u003e WebRotate 360`, pick a **Project Folder** on disk and choose the **Selected Object** to animate. (If your model has multiple meshes, parent them to an *Empty* at the rotation center and select that *Empty*.)\n2. **Frame the shot.** Position the object in the 3D Viewport at the angle and distance you want as the animation's starting point.\n3. **Set up the animation.** Enter **Frames Per Row** (20–80 is a good range), optionally set **Rows Up/Down** and **Vertical Step** for multi-row views, then click **Setup animation**. Scrub the Timeline playhead to review.\n4. **Fine-tune the camera.** Use the **Camera** section to adjust distance, focal length, and resolution.\n5. **Add hotspots (optional).** Use the **WR360** sidebar tab in the 3D Viewport to create indicator hotspots (from *Empties*) or polygonal hotspots (from vertex groups or meshes).\n6. **Build the target.** Under **Render and view**, optionally check **Use Fast Render** for a draft, choose a **Target**, and press **Build Target**.\n\nFor a draft pass, check **Use Fast Render** and choose **\"Publish view and open in QuickView\"**. Published 360° assets land in your project folder under `published/360_assets/`. When happy, uncheck Fast Render to use your real engine (Cycles/Eevee) and rebuild.\n\n---\n\n## Build Targets\n\nYou can output any of the following:\n\n- **Image sequence**: a set of standalone PNG or JPG images (e.g. for marketplaces like Amazon, marketing decks, or import into SpotEditor).\n- **Interactive 360° view**: web-ready viewer you can upload to your site, integrate via free [CMS plugins](https://www.webrotate360.com/products/cms-and-e-commerce-plugins.aspx) (WordPress, Adobe Commerce, etc.) or the [ImageRotator API](https://webrotate360.s3.amazonaws.com/sites/webrotate360/downloads/Resources/IntegrationTemplates.zip) ([npm component](https://github.com/webrotate360/imagerotator)), view offline in QuickView, or host on [PixRiot](https://www.webrotate360.com/services/pixriot.aspx).\n- **SpotEditor project**: `.wr360` project for advanced editing and publishing in SpotEditor.\n\nTarget options in the panel:\n\n- *Publish view* / *Publish view and open in QuickView*\n- *Publish project* / *Publish project and open in SpotEditor*\n- *Do not publish and just render images*\n\n\u003e Tip: enable **Skip Re-render on Publish** when you only change viewer/hotspot settings (skin, first frame, new hotspot) to re-publish instantly without re-rendering images.\n\n### Hosting \u0026 sharing\n\nPublished 360° assets can be hosted on **[PixRiot](https://www.webrotate360.com/services/pixriot.aspx)**, a dedicated CDN platform for 360 product media. Simply drag and drop the folder you'll find under `published/360_assets/` to get a shareable link or embed code.\n\n\u003e Note: an upcoming PixRiot release will include an editor that can create interactive spins directly from uploaded images.\n\n---\n\n## Hotspots\n\nTwo interactive hotspot types are supported, each with a click/tap info popup:\n\n- **Indicator hotspot** - a small configurable graphic that spins with a chosen point of interest. Add an `Empty → Plain Axes`, snap it to a vertex, parent it to your selected object, then click **Hotspot From Empty** in the WR360 panel.\n- **Polygonal hotspot** - an active polygonal area over a region:\n  - **From Vertex Group**: best for flat 2D areas (projection: *Gift wrap* or *2D polygon*).\n  - **From Mesh**: best for 3D surfaces (projection: *Gift wrap* or *Consecutive quads*).\n\nAll hotspots can be styled and extended further in [WebRotate 360 SpotEditor](https://www.webrotate360.com/products/webrotate-360-product-viewer.aspx) (video/image/HTML popups, custom indicators, connecting lines, scripted actions, JavaScript callbacks, and more).\n\n---\n\n## Project Structure\n\n\n| Path                                          | Purpose                                                                |\n| --------------------------------------------- | ---------------------------------------------------------------------- |\n| `__init__.py`                                 | Add-on entry point, `bl_info`, and module registration.                |\n| `wr360_panel.py`                              | Main Scene Properties panel (animation, camera, render \u0026 view).        |\n| `wr360_panel_hotspots.py`                     | 3D Viewport sidebar panel (WR360 tab) for hotspots.                    |\n| `wr360_settings.py` / `wr360_settings_mac.py` | Property definitions / settings (platform-specific variant for macOS). |\n| `wr360_settings_hotspot.py`                   | Hotspot-related properties.                                            |\n| `wr360_state.py`                              | Scene/state synchronization.                                           |\n| `wr360_ot_animate.py`                         | Animation setup operator.                                              |\n| `wr360_ot_render_view.py`                     | Render \u0026 build-target operator.                                        |\n| `wr360_ot_make_hotspot.py`                    | Hotspot creation/removal operator.                                     |\n| `wr360_publisher.py`                          | Publishing logic for viewer / project / image targets.                 |\n| `assets/`                                     | Project and viewer templates used when publishing.                     |\n| `icons/`                                      | Hotspot indicator graphics.                                            |\n\n\n---\n\n## Support\n\n- **Product page \u0026 user guide:** [Turntable Animator for Blender](https://www.webrotate360.com/products/cms-and-e-commerce-plugins/plugin-for-blender.aspx)\n- **Email:** [support@webrotate360.com](mailto:support@webrotate360.com)\n- **Forum:** [WebRotate 360 Support Forum](https://www.webrotate360.com/support/forum.aspx)\n\n---\n\n## License\n\nReleased under the [MIT License](LICENSE). Copyright (c) WebRotate 360 LLC.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebrotate360%2Fturntable-animator-for-blender","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwebrotate360%2Fturntable-animator-for-blender","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebrotate360%2Fturntable-animator-for-blender/lists"}