¿Cómo genero una proyección cúbica (AKA cubemap) con Hugin? Tengo suficientes imágenes para una vista 360 de mi escena. Veo la proyección cúbica en la documentación de Hugin pero no veo ninguna mención en el software en sí. Preferiblemente, me gustaría generar cada cara del cubo en una imagen separada.
Pano2VR o Flexify son probablemente su solución más simple, pero si es un geek de las secuencias de comandos y tiene que usar las herramientas de Hugin, entonces la secuencia de comandos de los comandos nona es el camino a seguir.
Dado que el tablero de panoguides se hundió en un mar de spam, voy a los archivos de Internet y publico la respuesta de DorinDXN (con algunas ediciones menores) de un archivo .bat de Windows para crear seis scripts nona_gui y ejecutarlos para crear las seis imágenes de la cara del cubo. .
Este es el archivo equi2cubic100.bat .
Necesitará nona_gui.exe de la distribución de Hugin. En la misma carpeta con nona_gui.exe, coloque el pano.tif que es el archivo equirrectangular.
Puede cambiar w1500 h1500 con la dimensión deseada de la cara del cubo en píxeles w6000 h3000 con el tamaño del equirrectangular y v100 (100°) para el FoV del cúbico.
Cada línea comienza con @, no la divida en sublíneas.
@echo press any key if pano.tif was produced by PTGui
pause
@echo.
@echo -----------------------------------------------------
@echo Generating Face_0 FRONT
@echo p f0 w1500 h1500 v100 >script.txt
@echo m g1 i2 f0 m0>>script.txt
@echo o w6000 h3000 f4 p0 r0 v360 y0 u10 m0 n"pano.tif">>script.txt
@nona_gui -o cube_0.tif script.txt
@echo.
@echo -----------------------------------------------------
@echo Generating Face_1 RIGHT
@echo p f0 w1500 h1500 v100 >script.txt
@echo m g1 i2 f0 m0>>script.txt
@echo o w6000 h3000 f4 p0 r0 v360 y270 u10 m0 n"pano.tif">>script.txt
@nona_gui -o cube_1.tif script.txt
@echo.
@echo -----------------------------------------------------
@echo Generating Face_2 BACK
@echo p f0 w1500 h1500 v100 >script.txt
@echo m g1 i2 f0 m0>>script.txt
@echo o w6000 h3000 f4 p0 r0 v360 y180 u10 m0 n"pano.tif">>script.txt
@nona_gui -o cube_2.tif script.txt
@echo.
@echo -----------------------------------------------------
@echo Generating Face_3 LEFT
@echo p f0 w1500 h1500 v100 >script.txt
@echo m g1 i2 f0 m0>>script.txt
@echo o w6000 h3000 f4 p0 r0 v360 y90 u10 m0 n"pano.tif">>script.txt
@nona_gui -o cube_3.tif script.txt
@echo.
@echo -----------------------------------------------------
@echo Generating Face_4 UP
@echo p f0 w1500 h1500 v100 >script.txt
@echo m g1 i2 f0 m0>>script.txt
@echo o w6000 h3000 f4 p270 r0 v360 y0 u10 m0 n"pano.tif">>script.txt
@nona_gui -o cube_4.tif script.txt
@echo.
@echo -----------------------------------------------------
@echo Generating Face_5 DOWN
@echo p f0 w1500 h1500 v100 >script.txt
@echo m g1 i2 f0 m0>>script.txt
@echo o w6000 h3000 f4 p90 r0 v360 y0 u10 m0 n"pano.tif">>script.txt
@nona_gui -o cube_5.tif script.txt
@echo.
@del script.txt
@Echo off
al inicio de su archivo por lotes, no necesitará anteponer cada echo
comando individual con un @
.El archivo de entrada (pano.tif arriba) debe ser un panorama esférico completo, como lo indica 'f4' y la relación de aspecto 2:1.
Cada cara del cubo será un panorama rectilíneo, como lo indica 'f0' arriba. El campo de visión para la cara probablemente debería ser de 90 grados, en lugar de 100 como se seleccionó en 'v100' arriba.
Aquí hay un script de shell de MacOS con Hugin instalado:
#!/bin/sh
# create cube faces
# $1 # path to equirectangular ("full spherical") panorama file (360x180 degrees)
# $2 # cube dimension in pixels
# $3 # cube field of vision (default 90)
# $4 # width of $1 in pixels
# $5 # height of $1 in pixels [should be 0.5 * $4]
# faces are "$1"-{left,right,front,back,up,down}.jpg
p="p f0 w$2 h$2 v$3" # p-line describes rectilinear panorama on cube face
m="m g1 i2" # m-line: gamma 1.0 spline36 interpolator
o="o f4 w$4 h$5 v360 r0" # o-line selects from spherical full panorama
# path to "nona"
nona='/Applications/Hugin/HuginStitchProject.app/Contents/MacOS/nona'
# temporary file for script
tmp="/tmp/$$.oto"
trap 'rm -f $tmp' 0
# remove previous faces, if any
rm -f "$1"-*.jpg
# create scripts and extract the faces
cat > "$tmp" << eof
$p
$m
$o p0 y0 n"$1"
eof
"$nona" -m JPEG -z 95 -o "$1"-front.jpg "$tmp"
cat > "$tmp" << eof
$p
$m
$o p0 y270 n"$1"
eof
"$nona" -m JPEG -z 95 -o "$1"-right.jpg "$tmp"
cat > "$tmp" << eof
$p
$m
$o p0 y180 n"$1"
eof
"$nona" -m JPEG -z 95 -o "$1"-back.jpg "$tmp"
cat > "$tmp" << eof
$p
$m
$o p0 y90 n"$1"
eof
"$nona" -m JPEG -z 95 -o "$1"-left.jpg "$tmp"
cat > "$tmp" << eof
$p
$m
$o p270 y0 n"$1"
eof
"$nona" -m JPEG -z 95 -o "$1"-up.jpg "$tmp"
cat > "$tmp" << eof
$p
$m
$o p90 y0 n"$1"
eof
"$nona" -m JPEG -z 95 -o "$1"-down.jpg "$tmp"
Aquí hay un archivo con un flujo de trabajo de Automator como interfaz gráfica de usuario para el script de shell.
entintador
mundo
entintador
mundo
entintador
rafael