EnvironmentTransform v1.2


 
This location is for Registered Users Only.
Perhaps you need to login or register.
Contributor: Haarm-Pieter Duiker
A Blink script that will transform between different panoramic mappings.
Requirements:
8.0 or later
Linux, Mac, Windows
03 Sep 2014
427

A Blink script that will transform between different panoramic mappings, like the native SphericalTransform node.

The input and output panorama type numbers are

  • 0 = Spherical / Lat long map
  • 1 = Angular / Angular Map 360
  • 2 = Chrome Ball / Mirror Ball
  • 3 = Fisheye / 180 degrees fisheye lens
  • 4 = Cubic (single image)

The Cubic option produces as output and expects as input a single image with all 6 tiles lined up vertically. Example images and a simple snippet of script to line tiles up together are included below.

A beach sunset panorama

Lat long / Spherical

transform example spherical 512

Angular (360 degrees)

transform example angular 512

Chrome Ball

transform example chrome 512

Fisheye

transform example fisheye 512

Cubic

transform example cubic 128 

 

A reference panorama

 

Lat long / Spherical

frank3 example spherical 512

Angular (360 degrees)

frank3 example angular 512

Chrome Ball

frank3 example chrome 512

Fisheye

frank3 example fisheye 512

Cubic

frank3 example cubic 128

 

Script snippet to line tiles up into a single image cubic panorama

set cut_paste_input [stack 0]
version 8.0 v4
BackdropNode {
inputs 0
name BackdropNode1
tile_color 0x7171c600
label 'Tiles to Cubic Panorama'
note_font_size 42
selected true
xpos -2463
ypos 583
bdwidth 1318
bdheight 489
}
push $cut_paste_input
Dot {
name Dot226
label -X
note_font_size 24
selected true
xpos -1602
ypos 707
}
Grade {
white {1 0 1 1}
white_panelDropped true
name Grade67
selected true
xpos -1636
ypos 753
disable true
}
Text2 {
font_size_toolbar 500
font_width_toolbar 100
font_height_toolbar 100
message '-X\n'
box {500 0 500 1000}
hidden_bbox {-60 1997.5 60 2098.5}
xjustify center
yjustify center
transforms {{0 2}
}
font_size_values {{2 500 4 500 5 500 1 500 0 500}
}
cursor_position 3
font_size 500
scale {1 1}
cursor_initialised true
autofit_bbox false
initial_cursor_position {{0 2048}
}
group_animations {{0} imported: 0 selected: items: 'root transform/'}
animation_layers {{1 11 1024 778 0 0 1 1 0 0 0 0}
}
name Text6
selected true
xpos -1636
ypos 795
disable true
}
Transform {
translate {0 {height*5}}
scale {1 1}
center {1024 1024}
name Transform8
selected true
xpos -1636
ypos 861
}
push $cut_paste_input
Dot {
name Dot225
label +X
note_font_size 24
selected true
xpos -1739
ypos 707
}
Grade {
white {0 1 0 1}
white_panelDropped true
name Grade66
selected true
xpos -1773
ypos 754
disable true
}
Text2 {
font_size_toolbar 500
font_width_toolbar 100
font_height_toolbar 100
message '+X\n'
box {500 0 500 1000}
hidden_bbox {-60 1997.5 60 2098.5}
xjustify center
yjustify center
transforms {{0 2}
}
font_size_values {{2 500 4 500 5 500 0 500 1 500}
}
cursor_position 3
font_size 500
scale {1 1}
cursor_initialised true
autofit_bbox false
initial_cursor_position {{0 2048}
}
group_animations {{0} imported: 0 selected: items: 'root transform/'}
animation_layers {{1 11 1024 778 0 0 1 1 0 0 0 0}
}
name Text5
selected true
xpos -1773
ypos 803
disable true
}
Transform {
translate {0 {height*4}}
scale {1 1}
center {1024 1024}
name Transform7
selected true
xpos -1773
ypos 864
}
push $cut_paste_input
Dot {
name Dot224
label +Y
note_font_size 24
selected true
xpos -1875
ypos 707
}
Grade {
white {1 1 0 1}
white_panelDropped true
name Grade65
selected true
xpos -1909
ypos 754
disable true
}
Text2 {
font_size_toolbar 500
font_width_toolbar 100
font_height_toolbar 100
message +Y
box {500 0 500 1000}
hidden_bbox {-60 1997.5 60 2098.5}
xjustify center
yjustify center
transforms {{0 2}
}
font_size_values {{4 500 5 500 0 500 1 500 6 500 7 500 8 500}
}
cursor_position 2
font_size 500
scale {1 1}
cursor_initialised true
autofit_bbox false
initial_cursor_position {{0 2048}
}
group_animations {{0} imported: 0 selected: items: 'root transform/'}
animation_layers {{1 11 1024 778 0 0 1 1 0 0 0 0}
}
name Text4
selected true
xpos -1909
ypos 801
disable true
}
Transform {
translate {0 {'height *3'}}
scale {1 1}
center {1024 1024}
name Transform6
selected true
xpos -1909
ypos 866
}
push $cut_paste_input
Dot {
name Dot223
label -Y
note_font_size 24
selected true
xpos -2002
ypos 707
}
Grade {
white {0 0 1 1}
white_panelDropped true
name Grade64
selected true
xpos -2036
ypos 754
disable true
}
Text2 {
font_size_toolbar 500
font_width_toolbar 100
font_height_toolbar 100
message '-Y\n'
box {500 0 500 1000}
hidden_bbox {-60 1997.5 60 2098.5}
xjustify center
yjustify center
transforms {{0 2}
}
font_size_values {{2 500 4 500 5 500 0 500 1 500}
}
cursor_position 3
font_size 500
scale {1 1}
cursor_initialised true
autofit_bbox false
initial_cursor_position {{0 2048}
}
group_animations {{0} imported: 0 selected: items: 'root transform/'}
animation_layers {{1 11 1024 778 0 0 1 1 0 0 0 0}
}
name Text3
selected true
xpos -2036
ypos 803
disable true
}
Transform {
translate {0 {height*2}}
scale {1 1}
center {1024 1024}
name Transform5
selected true
xpos -2036
ypos 859
}
push $cut_paste_input
Dot {
name Dot222
label -Z
note_font_size 24
selected true
xpos -2128
ypos 707
}
Grade {
white {1 0 0 1}
white_panelDropped true
name Grade55
selected true
xpos -2162
ypos 752
disable true
}
Text2 {
font_size_toolbar 500
font_width_toolbar 100
font_height_toolbar 100
message '-Z\n'
box {500 0 500 1000}
hidden_bbox {-60 1997.5 60 2098.5}
xjustify center
yjustify center
transforms {{0 2}
}
font_size_values {{2 500 4 500 5 500 1 500 0 500}
}
cursor_position 3
font_size 500
scale {1 1}
cursor_initialised true
autofit_bbox false
initial_cursor_position {{0 2048}
}
group_animations {{0} imported: 0 selected: items: 'root transform/'}
animation_layers {{1 11 1024 778 0 0 1 1 0 0 0 0}
}
name Text2
selected true
xpos -2162
ypos 798
disable true
}
Transform {
translate {0 {height}}
scale {1 1}
center {1024 1024}
name Transform4
selected true
xpos -2162
ypos 859
}
push $cut_paste_input
Dot {
name Dot11
label +Z
note_font_size 24
note_font_color 0xffffffff
selected true
xpos -2231
ypos 706
}
set N1b0fb430 [stack 0]
Grade {
white {0 1 1 1}
white_panelDropped true
name Grade1
selected true
xpos -2265
ypos 756
disable true
}
Text2 {
font_size_toolbar 500
font_width_toolbar 100
font_height_toolbar 100
message '+Z\n'
box {500 0 500 1000}
hidden_bbox {-60 1997.5 60 2098.5}
xjustify center
yjustify center
transforms {{0 2}
}
font_size_values {{0 500 2 500 6 500 7 500 1 500 8 500 9 500 10 500 11 500 12 500 13 500 1 500}
}
cursor_position 2
font_size 500
scale {1 1}
cursor_initialised true
autofit_bbox false
initial_cursor_position {{0 2048}
}
group_animations {{0} imported: 0 selected: items: 'root transform/'}
animation_layers {{1 11 1024 778 0 0 1 1 0 0 0 0}
}
name Text1
selected true
xpos -2265
ypos 800
disable true
}
Transform {
scale {1 1}
center {1024 1024}
name Transform1
selected true
xpos -2265
ypos 855
}
push $N1b0fb430
Dot {
name Dot12
selected true
xpos -2375
ypos 706
}
Reformat {
type 'to box'
box_width {{width}}
box_height {{height*6}}
resize none
center false
black_outside true
name Reformat15
selected true
xpos -2409
ypos 820
}
Multiply {
value 0
name Multiply1
selected true
xpos -2409
ypos 844
}
Dot {
name Dot221
selected true
xpos -2375
ypos 921
}
Merge2 {
inputs 2
name Merge1
selected true
xpos -2265
ypos 918
}
Merge2 {
inputs 2
name Merge102
selected true
xpos -2162
ypos 918
}
Merge2 {
inputs 2
name Merge103
selected true
xpos -2036
ypos 918
}
Merge2 {
inputs 2
name Merge104
selected true
xpos -1909
ypos 918
}
Merge2 {
inputs 2
name Merge105
selected true
xpos -1773
ypos 918
}
Merge2 {
inputs 2
name Merge106
selected true
xpos -1636
ypos 918
}
Reformat {
type 'to box'
box_width {{width}}
box_height {{width*6 x1 12288}}
resize none
center false
filter Impulse
black_outside true
name Reformat22
selected true
xpos -1636
ypos 957
}
Dot {
name Dot13
label 'Single image stacked Cubic Panorama'
note_font_size 24
selected true
xpos -1602
ypos 1014
}

Please login in order to download these files.

Comments   

 
# Simon Tingell 2014-12-03 06:38
Hello. Do you know if the script is broken in Nuke 9? I can't understand how it should work with conversion from latlong to cubic and back? could you please explain your attached script snippet?

Thank you.
 
 
# zh misun 2016-03-21 03:56
Hello.Can you teach me how to install this tool?thank you very much!
 

You have no rights to post comments

We have 2487 guests and 112 members online