Skip to content

About

No description, website, or topics provided.

Resources

Stars

18 stars

Watchers

1 watching

Forks

Latest commit

Β 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

SphereShot - Advanced Camera Sphere Rendering Plugin

πŸŽ₯ Advanced Blender plugin for automated spherical camera placement and rendering

Overview

SphereShot is a Blender plugin that performs mathematically optimized spherical camera placement around 3D objects and automatically executes rendering optimized for NeRF, 3D Gaussian Splatting, and photogrammetry. It provides comprehensive functionality corresponding to the latest 3D reconstruction technologies, including high-precision export in COLMAP format, colored point cloud generation, and boundary wall systems.

✨ Main Features

πŸŽ₯ Advanced Spherical Camera System

  • Fibonacci Spiral Placement: Mathematically optimized uniform distribution
  • Flexible Camera Count Settings: Support for 1 to hundreds of cameras (default: 64)
  • Automatic Viewpoint Settings: Precise orientation adjustment towards object center
  • High-Resolution Rendering: Support for 4K+ resolution

πŸ’‘ Professional Lighting System

  • Multi-Light Point System: Omnidirectional uniform lighting with 16 lights (default)
  • Shadowless Lighting: Clean, shadow-free uniform lighting environment
  • Variable Light Control: Adjustable from 0.1W to 10,000W
  • Automatic Placement Optimization: Ideal light source placement using Fibonacci spiral

πŸ—οΈ Intelligent Boundary Wall System

  • Automatic Size Calculation: Optimal boundary wall generation based on camera placement
  • 3D Boundary Structure: Complete enclosed space with cylindrical walls, floor, and ceiling
  • Floating Gaussian Prevention: Background noise suppression in 3D Gaussian Splatting
  • Automatic Material Application: Optimized materials specifically for boundary walls

πŸ“Š Next-Generation COLMAP Output

  • High-Precision Coordinate Transformation: Accurate Blender β†’ COLMAP coordinate system conversion
  • cameras.txt: Accurate internal parameters with SIMPLE_PINHOLE model
  • images.txt: High-precision pose information with quaternion-based rotation representation
  • points3D.txt: Colored point cloud (up to 50,000 points)

🎨 Advanced Point Cloud Generation

  • Color Information Extraction: Color information acquisition from materials and vertex colors
  • Surface Sampling: Vertex + random point generation on faces
  • Boundary Wall Integration: Integrated point cloud of main object + boundary walls
  • Intelligent Distribution: Optimal ratio of 70% object : 30% boundary walls

πŸŽ›οΈ Professional Management Features

  • Collection Management: Automatic classification of cameras, boundary walls, and lights
  • Individual Deletion Functions: Flexible deletion by object type
  • Settings Presets: JSON format settings save/load
  • Real-time Statistics: Detailed display of created object counts and success rates
  • Rendering Time Measurement: Automatic measurement of total and average time

πŸ” Detailed Debug Features

  • Progress Visualization: Real-time progress display with emojis
  • Coordinate Transformation Verification: Blender ↔ COLMAP coordinate conversion confirmation
  • CSV Output: Detailed camera information export for debugging
  • Error Handling: Detailed error information and recovery functions

πŸ“¦ Installation

  1. File Download

    # Download from GitHub
    wget https://github.com/UpHash-Network/sphereshot.py
  2. Add to Blender

    • Edit β†’ Preferences β†’ Add-ons
    • Click Install...
    • Select sphereshot.py
    • Enable SphereShot
  3. Operation Check

    • Press N key in 3D Viewport
    • Confirm that SphereShot tab is displayed

πŸš€ Usage

Basic Workflow

  1. Object Preparation

    - Select 3D mesh object
    - Set origin appropriately
    - Apply materials (recommended)
    
  2. Parameter Settings

    Radius     : 12.0m (adjust according to object size)
    Camera Count: 64 (high quality: 100+, preview: 16-32)
    Resolution : 2048px (4K: 4096, HD: 1920)
    Point Count: 50,000 points (detailed: 100,000+, lightweight: 10,000)
    
  3. Rendering Execution

    β‘  Create Cameras β†’ Automatic generation of spherical placement, lights, and boundary walls
    β‘‘ Execute Rendering β†’ Automatic rendering from all cameras
    

Detailed Settings Guide

πŸ“· Camera Settings

Parameter Recommended Usage
Radius 5-20m 2-5 times object distance
Camera Count 64 NeRF: 100+, 3DGS: 64, Preview: 16-32
Resolution 2048px High quality: 4096, Standard: 2048, Lightweight: 1024

πŸ’‘ Light Settings

Parameter Recommended Effect
Light Intensity 1000W Bright: 2000+, Standard: 1000, Dark: 500
Light Count 16 Uniform: 32, Standard: 16, Lightweight: 8

🎨 Point Cloud Settings

Parameter Recommended Quality
Point Count 50,000 Ultra-high quality: 100,000+, High quality: 50,000, Standard: 10,000

πŸ“ Output File Structure

/your_blend_file_directory/renders/
β”œβ”€β”€ images/                           # Rendered images
β”‚   β”œβ”€β”€ SphereCamera_0.png
β”‚   β”œβ”€β”€ SphereCamera_1.png
β”‚   β”œβ”€β”€ ...
β”‚   └── SphereCamera_63.png
β”œβ”€β”€ sparse/0/                         # COLMAP format
β”‚   β”œβ”€β”€ cameras.txt                   # Camera internal parameters
β”‚   β”œβ”€β”€ images.txt                    # Camera poses (quaternion)
β”‚   └── points3D.txt                  # Colored point cloud
β”œβ”€β”€ camera_info.csv                   # Debug detailed information
└── sphere_camera_preset.json         # Settings preset (when saved)

File Details

cameras.txt

# SIMPLE_PINHOLE model
1 SIMPLE_PINHOLE 2048 2048 1433.6 1024.0 1024.0

images.txt

# IMAGE_ID QW QX QY QZ TX TY TZ CAMERA_ID NAME
1 0.924 0.383 0.000 0.000 -9.2 -3.8 0.0 1 SphereCamera_0.png

points3D.txt

# POINT3D_ID X Y Z R G B ERROR
1 1.234 -0.567 2.890 128 64 192 0.0

πŸ”— Integration with PostShot

3D Gaussian Splatting (3DGS)

Import the two generated folders (images, sparse) to PostShot for training

βš™οΈ Recommended Settings

Application-Specific Optimization

🎯 3D Gaussian Splatting

Camera Count    : 64-128
Radius         : 3x object size
Resolution     : 1024-2048px
Point Count    : 50,000-100,000 points
Boundary Wall  : ON (prevents floating Gaussians)

🌊 NeRF

Camera Count    : 100-200
Radius         : 2-4x object size
Resolution     : 800-1600px
Point Count    : 10,000-50,000 points
Boundary Wall  : OFF (for background learning)

πŸ”„ Photogrammetry

Camera Count    : 50-100
Radius         : 2x object size
Resolution     : 2048-4096px
Point Count    : 100,000 points
Boundary Wall  : OFF

⚑ High-Speed Preview

Camera Count    : 16-32
Radius         : Auto setting
Resolution     : 512-1024px
Point Count    : 5,000-10,000 points

πŸ› οΈ System Requirements

Minimum Requirements

  • Blender: 3.0 or higher
  • OS: Windows 10, macOS 10.15, Ubuntu 20.04
  • Memory: 8GB RAM
  • Storage: 10GB (for rendering)

Recommended Requirements

  • Blender: 3.6 or higher
  • OS: Windows 11, macOS 12+, Ubuntu 22.04
  • Memory: 32GB RAM
  • GPU: RTX 3060 or higher (CUDA/OptiX support)
  • Storage: 50GB SSD

Performance Indicators

Setting Camera Count Rendering Time (Estimated)
Lightweight 16 2-5 minutes
Standard 64 10-30 minutes
High Quality 128 30-60 minutes

πŸ› Troubleshooting

Common Issues

❌ Rendering Won't Start

  • Cause: Object not selected, output path permissions
  • Solution: Select mesh object, check path permissions

⚠️ Out of Memory Error

  • Cause: High resolution Γ— many cameras
  • Solution: Reduce resolution or camera count

🎨 Point Cloud Not Generated

  • Cause: Material not set, mesh corrupted
  • Solution: Check materials, repair mesh

πŸ“ Inaccurate Coordinate Transformation

  • Cause: Blender coordinate system settings
  • Solution: Apply object rotation and scale

Debug Methods

  1. Console Check: Window β†’ Toggle System Console
  2. Log Check: Check detailed logs with emojis
  3. CSV Analysis: Check parameters with camera_info.csv
  4. Step Execution: Separate camera creation β†’ rendering execution

πŸ“‹ Update History

v2.0.0 - SphereShot Renewal

  • 🎨 Advanced colored point cloud generation
  • πŸ“ Accurate Blenderβ†’COLMAP coordinate transformation
  • πŸŽ›οΈ Professional management features
  • πŸ” Detailed debug and statistics features
  • ⚑ Performance optimization

v1.0.0 - Initial Release

  • Basic spherical camera placement
  • COLMAP format output support

πŸ“„ License

MIT License - Please check LICENSE for details


🌟 Please give us a star if this was helpful!

🀝 Contributions welcome! We look forward to pull requests and issues.

About

No description, website, or topics provided.

Resources

Stars

18 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages