OSTettain.dll for CTView †[edit]
- OSTerrain.dll は CTView で使用可能な r32file 作成用のプラグインです.
- CTView はプラグインで機能拡張可能な画像処理&表示ソフトです.(Windows用オープンソース)
- 2012 5/18 現在の CTView の最新バージョンは 2.1.2 で,r32file に変換できる主なファイルは Jpeg と RunRaster のグレイスケール画像です.
DownLoad †[edit]
プログラムの準備 †[edit]
- CTView をダウンロードして適当なフォルダで解凍する(インストールは不要)
- OSTerrain.dll をダウンロードし,CTView を解凍したフォルダにある plugins フォルダにコピーする.
- plugins フォルダ 内の他の dll は不必要なら削除しても良い.(特に General.dll は何もしない サンプルDLLです)
- 256x256 の画像データを用意する.
- 256x256でなくても良いが,これ以外の場合はSIMの境界に隙間ができたり,縦横比が変化したりする
- Gimp などで画像データを読み込んで,グレイスケールに変換する.
- Gimpの場合は「画像」→「モード」→「グレイスケール」
- この段階で,画素の分布(ヒストグラム)を確認し,コントラストを調整しておくと良い
- Gimpの場合,ヒストグラムの確認とコントラストの調整は 「色」→「トーンカーブ」で行える.
- Jpeg 形式で(Jpegグレースケール)で保存する.(データは 8bitグレースケールになる)
- CTView を起動する.「プラグイン」メニューに「OS Terrain」があるのを確認する(ただしこの段階では,OS Terrainメニューは有効化されていない)
- CTView の「ファイル」→「新規ファイル読み込み」 を選択し,Jpegのグレースケールデータを読み込む.
- 「プラグイン」メニューの「OS Terrain」を選択する.
- 変換ダイアログが表示される(ダイアログの設定の詳細は下記参照).
- 変換ダイアログのOKボタンをクリックすると,ファイル保存用のウィンドウが表示されるので,ファイルを保存する.ファイルの拡張子は必ず .r32 にする.
- データが正常に保存されると,参考に保存されたデータが表示される.明らかにおかしい場合は,変換をやり直す(人間の目で見ておかしい場合でも,標高データとしては問題ない場合もある).
r32ファイルの読み込み †[edit]
- 保存した r32ファイルをリージョンサーバの bin フォルダにコピーする.
- リージョンサーバのコマンドプロンプトで terrain load ファイル名.r32 を実行する.
- 一つのリージョンサーバで複数のリージョンを起動している場合は change region リージョン名 コマンドで,リージョンを切り替える.
- アバターがSIMの地面上にいる状態でr32ファイルを読み込むと,地面の変形の際にアバターが弾き飛ばされる場合がある.(^^;
- SIMの形が気に入らない場合は,データの変換からやり直す.
- 通常Viewer の地面用の LOD(Level Of Detail) はデフォルトで 1.0 になっている.LODが1.0だとSIM全体を見渡したときに地形はかなり大雑把に見える.
- Viewer の地面用の LOD を変更するには Ctrl+Alt+D でデバッグモードに入って,「Advanced」→「Debug Settings...」 を選択する.デバッグ設定用のダイアログが表示されるので,テキスト入力フィールドに RenderTerrainLODFactor と入力し,Value を 4.0 にする.
- 注)LOD(Level Of Detail): 遠くのものは大雑把に,近くのものは詳細に描画する機能.
変換ダイアログ詳細 †[edit]
&ref(): File not found: "menu.jpg" at page "OpenSim/r32file/OSTerrain.dll";
- 画像の反転
- 黒い画素の標高を高くする.(通常はこの設定でOK)
- XY方向に同じ比率で拡大・縮小
- チェックを入れると,XY方向を同じ比率で拡大縮小する.
- チェックを入れない場合,256x256に強制的にあわせる.
- 標高の倍率
- 通常画素の値をそのまま標高にすると大きすぎるので,ここで倍率をかける
- もとの画像が 8bitグレースケールの場合,倍率を1.0にすると標高の最大値は 255mとなる.
- 海面のしきい値
- この画素値以下を海面下にする.つまりこの画素値を持つ場所が海面になる.海岸線を綺麗に出すために,海面以下はさらに一定値掘り下げられる.
- OpenSimでの海面の高さ
- OpenSimでの海水面の高さ.単位は m. 通常はデフォルトで 20m