cd ~ wget http://idav.ucdavis.edu/~okreylos/ResDev/Vrui/Build-Ubuntu.sh bash Build-Ubuntu.sh
cd ~/src wget http://idav.ucdavis.edu/~okreylos/ResDev/Kinect/Kinect-3.5.tar.gz tar xfz Kinect-3.5.tar.gz cd Kinect-3.5 make sudo make install sudo make installudevrules ls /usr/local/bin
cd ~/src wget http://idav.ucdavis.edu/~okreylos/ResDev/SARndbox/SARndbox-2.5.tar.gz tar xfz SARndbox-2.5.tar.gz cd SARndbox-2.5 make ls ./bin
sudo /usr/local/bin/KinectUtil getCalib 0
cd ~/src/SARndbox-2.5 RawKinectViewer -compress 0
- 画面内の描画はマウスホイールで拡大縮小できます.
- 画面のパン(移動)はZキーを押しながらマウスをドラッグします.
- これで1キーにこの機能が割り当てられます.
- 左下の赤いコーナーにカーソルを合わせて1キーを長押しすると機能登録が取り消されます.
- BoxLayout.txtはSARndboxのソースディレクトリ内のetc/SARndbox-<version>にあります.
- BoxLayout.txt の例(ここで設定するのは一番上の行です)
(-0.0302053, -0.0164072, 0.999409), -100.1997 //水平面(海水準)のパラメータ(鉛直ベクトルと深さ) ( -28.4518, -36.6135, -99.2554) //sandboxの四隅(左下) ( 36.3453, -36.2071, -100.039) //sandboxの四隅(右下) ( -28.321, 35.1049, -102.783) //sandboxの四隅(左上) ( 36.313, 34.6932, -99.9503) //sandboxの四隅(右下)
cd ~/src/SARndbox-2.3 pluma etc/SARndbox-2.3/BoxLayout.txt &
【巧みの技: 】テキストを異なるウィンドウ間ですばやくコピペする方法
- : コピー元の画面のテキストをマウスで反転させます
- : コピー先の画面にマウスを移動させてペーストしたい箇所で中ボタンをクリックします.
BoxLayout.txt の例(ここで設定するのは2〜5行目です)
(-0.0302053, -0.0164072, 0.999409), -100.1997 //水平面(海水準)のパラメータ(鉛直ベクトルと深さ) ( -28.4518, -36.6135, -99.2554) //sandboxの四隅(左下) ( 36.3453, -36.2071, -100.039) //sandboxの四隅(右下) ( -28.321, 35.1049, -102.783) //sandboxの四隅(左上) ( 36.313, 34.6932, -99.9503) //sandboxの四隅(右下)
XBackground
cd ~/src/SARndbox-2.5 ./bin/CalibrateProjector -s <width> <height>
./bin/CalibrateProjector -s 1024 768
重要
CalibrateProjectorはフルスクリーンで起動してください. その後,動画の10:10以降の説明に従ってください.
cd ~/src/SARndbox-2.5 ./bin/SARndbox -uhm -fpv
/.config/Vrui-<version>/Applications
mkdir -p ~/.config/Vrui-4.5/Applications
xed ~/.config/Vrui-4.5/Applications/CalibrateProjector.cfg
section Vrui section Desktop section Window # Force the application's window to full-screen mode: windowFullscreen true endsection section Tools section DefaultTools # Bind a tie point capture tool to the "1" and "2" keys: section CalibrationTool toolClass CaptureTool bindings ((Mouse, 1, 2)) endsection endsection endsection endsection endsection
(Reminder: You can copy&paste the above text by highlighting the entire contents of the text box with the left mouse button, then moving the mouse over into the empty text editor window, and pressing the middle mouse button.)
xed ~/.config/Vrui-4.5/Applications/SARndbox.cfg
section Vrui section Desktop # Disable the screen saver: inhibitScreenSaver true section MouseAdapter # Hide the mouse cursor after 5 seconds of inactivity: mouseIdleTimeout 5.0 endsection section Window # Force the application's window to full-screen mode: windowFullscreen true endsection section Tools section DefaultTools # Bind a global rain/dry tool to the "1" and "2" keys: section WaterTool toolClass GlobalWaterTool bindings ((Mouse, 1, 2)) endsection endsection endsection endsection endsection
xed ~/src/SARndbox-2.5/RunSARndbox.sh
#!/bin/bash # Enter SARndbox directory: cd ~/src/SARndbox-2.5 # Run SARndbox with proper command line arguments: ./bin/SARndbox -uhm -fpv
chmod a+x ~/src/SARndbox-2.5/RunSARndbox.sh
xed ~/Desktop/RunSARndbox.desktop
#!/usr/bin/env xdg-open [Desktop Entry] Version=1.0 Type=Application Terminal=false Icon=mate-panel-launcher Icon[en_US]= Name[en_US]= Exec=/home/<username>/src/SARndbox-2.5/RunSARndbox.sh Comment[en_US]= Name=Start the AR Sandbox Comment=
chmod a+x ~/Desktop/RunSARndbox.desktop
To run the AR Sandbox as a computational appliance that starts automatically when the PC is powered on, you need to create an auto-login account during Linux installation in Step 1, and create a shell script to run the SARndbox application as described in Step 16. Then you add that shell script to your user account's start-up list. Select the "Startup Applications" applet in the MATE Control Center, and click the "Add" button next to the list of "Additional startup programs." Into the dialog box that opens, enter a name (such as "Start AR Sandbox"), and into the Command field enter the full name of the shell script, i.e., /home/<username>/src/SARndbox-2.5/RunSARndbox.sh, where you replace <username> with your actual user name.
The next time you log into your account, or the next time the PC powers up (if auto-login is enabled), the AR Sandbox will start automatically. To exit from the application, for example to run a new projector calibration or do other maintenance tasks, simply press the Esc key.
If you are running an AR Sandbox from a laptop, or if your desktop computer has a main monitor in addition to the sandbox projector, you can tell CalibrateProjector and SARndbox to use the projector, and leave the main monitor for other purposes, such as starting scripts or displaying a secondary view of the virtual topographic map from arbitrary points of view. First, determine to which video output port the sandbox projector is connected. In a terminal window, run:
xrandr | grep connected
The xrandr utility will print a list of all video output ports that exist on the computer, and information about the monitors/projectors connected to those ports. An xrandr report might look like this:
DVI-I-0 disconnected primary (normal left inverted right x axis y axis) DVI-I-1 connected 2560x1600+0+0 (normal left inverted right x axis y axis) 641mm x 401mm HDMI-0 disconnected (normal left inverted right x axis y axis) DP-0 disconnected (normal left inverted right x axis y axis) DVI-D-0 connected 1600x1200+2560+0 (normal left inverted right x axis y axis) 367mm x 275mm DP-1 disconnected (normal left inverted right x axis y axis)
This report shows two connected monitors: One with 2560x1600 pixels connected to port DVI-I-1, and a secondary with 1600x1200 pixels and origin +2560+0, i.e., positioned to the right of the main monitor, connected to port DVI-D-0. From your xrandr report, determine the port name connected to your sandbox projector, for example by looking for the projector's pixel size, e.g., 1024x768. Then direct CalibrateProjector and SARndbox to open their display windows on that video output port by editing their respective configuration files:
xed ~/.config/Vrui-4.5/Applications/CalibrateProjector.cfg
and afterwards
xed ~/.config/Vrui-4.5/Applications/SARndbox.cfg
In both files, insert the following "outputName" setting into the existing "Window" section:
section Window ... # Open the window on a specific video output port: outputName <port name> ... endsection
where <port name> is replaced with the name of the actual video output port from your xrandr report, e.g., DVI-D-0. Afterwards, starting CalibrateProjector or SARndbox will send their display windows to the sandbox projector and full-screen them there. Check that there are no remaining window frames or panels etc.
The xrandr utility can also be used to turn connected monitors/projectors on or off. For example, let's say that your main monitor is connected to port DVI-I-1, and your projector to port HDMI-0. Then you can turn on the projector, and place it to the right of your main monitor, by running:
xrandr --output DVI-I-1 --auto --primary --output HDMI-0 --auto --right-of DVI-I-1
To turn the projector off again, run:
xrandr --output DVI-I-1 --auto --primary --output HDMI-0 --off
If you have multiple displays connected to the PC running your AR Sandbox, and have done the multi-screen setup in Step 18, then you can show a second display window that does not just replicate the projected view shown in the sandbox itself, but that can show the captured 3D topography from arbitrary points of view, in full 3D, as explained in this video.
To create a secondary view, you first need to edit the SARndbox application's configuration file and instruct it to open a second window on a different display. Run in a terminal window:
xed ~/.config/Vrui-4.5/Applications/SARndbox.cfg
At the beginning of the "Desktop" section, insert the following setting:
section Vrui section Desktop # Open a second window: windowNames += (Window2) ... endsection endsection
Then, after the existing "Window" section, insert a new section "Window2" with the following settings:
section Vrui section Desktop ... section Window ... endsection section Window2 viewerName Viewer screenName Screen windowType Mono # Open the window on a specific video output port: outputName <port name> # Open the window to full-screen mode: windowSize (800, 600) windowFullscreen true endsection ... endsection endsection
where <port name> is replaced with the name of the actual video output port to which your non-sandbox display is connected, as gathered from your xrandr report in Step 18.
After the above changes, SARndbox will open a second window on the secondary display, but it will still show the same fixed projector view as the main projector, possibly squished due to a different aspect ratio on the secondary display. To allow an independent view on the secondary display, you have to modify SARndbox's command line. The best way to do this is to edit the RunSARndbox.sh shell script you created in Step 16. In a terminal window, run:
xed ~/src/SARndbox-2.5/RunSARndbox.sh
The simple command line entered in Step 16 only has two arguments:
./bin/SARndbox -uhm -fpv
These instruct SARndbox, in order, to apply the default elevation color map, and to lock the display to the projector calibration matrix captured in Step 11. By default, SARndbox applies display options from the command line to all windows it opens, but this can be overridden by using a -wi <window index> argument, where <window index> is the zero-based index of a window. After seeing that argument, SARndbox will apply all following display options to all windows with the same or a larger index, and also reset the -fpv option. Thus, append the following to SARndbox's command line:
./bin/SARndbox -uhm -fpv -wi 1 -rws
The (optional) -rws argument will draw water as a three-dimensional surface instead of applying it to the topography as a texture, as is the default setting. This will create a better representation of water flow when seen from oblique angles. After these changes, the AR Sandbox will show a navigable three-dimensional view of the 3D topography model, including water drawn as a real 3D surface, on the secondary display. The secondary display can be rotated, translated, and scaled as in many other 3D graphics software, using a combination of mouse buttons and keyboard keys. Most importantly, pressing the left mouse button will rotate the view around the center of the window, and pressing the "Z" key while moving the mouse will translate the view in the window's plane. Pressing the left mouse button and "Z" key together, while moving the mouse up and down, will scale the view (zoom in or out), as will rolling the mouse wheel. Finally, pressing the left mouse button, the "Z" key, and the left Shift key, while moving the mouse up or down, will "dolly" the view in or out of the window's plane, as will rolling the mouse wheel while pressing the left Shift key.
On start-up, SARndbox will show a default view of the 3D topography in its secondary window. If you would like to show a different view on start-up, you can use the navigation techniques described in the previous paragraph to create the perfect view that you want, and then save it. To do this, press and hold the right mouse button to show the main application menu. Move the mouse to the last entry, "Vrui System", and from there to the "View" sub-menu, then to the "Save View..." entry, and there release the right mouse button. This will open a file selection dialog where you can specify a file name and location for the view file about to be written. Leave the default file name ("SavedViewpoint0001.view") and default location (the AR Sandbox's project directory) alone, and press the "OK" button. This will close the file selection dialog and save the current view to the selected file.
After exiting from SARndbox, change the command line in the RunSARndbox.sh shell script again, this time appending a command to load the view file you just saved. Run in a terminal:
xed ~/src/SARndbox-2.5/RunSARndbox.sh
and change the command line to:
./bin/SARndbox -uhm -fpv -wi 1 -rws -loadView SavedViewpoint0001.view
If you changed the name of the view file before saving it (or renamed it later), use the correct name here. Afterwards, the AR Sandbox will start up with your preferred view displayed in its secondary window.
“AR Sandbox post-installation setup” では,起動の自動化やより細かなチューニングについて説明しています.