#author("2024-02-06T08:22:30+00:00","default:iseki","iseki")
#author("2024-02-06T08:22:57+00:00","default:iseki","iseki")
* OpenSim Diorama System v1.0 [#v35b88ff]
- [[Demo>http://www.youtube.com/watch?v=NKBu95z3cgc]]



** Source Code [#f024522d]
*** Download [#u29a4242]
- http://www.nsl.tuis.ac.jp/xoops/modules/d3downloads/index.php?page=singlefile&cid=8&lid=19
- svn: svn co http://forge.opensimulator.org/svn/osdiorama/trunk 


** Modify Terrain [#d05f9b03]
*** PHP [#e9b43c8f]
- ex) http://www.nsl.tuis.ac.jp/geo/srtm3/?code=35.46x138.62&rgnsz=256&mag=1.0&sea=20&rate=0.0



*** LSL [#m2a57891]
*** OpenSim (C#) [#rae673dd]
**** void osTerrainSetByString(string str, double mgnf) [#l85a1ec4]
- str : X方向256個の標高データの文字列 
- mgnf : 各標高データに乗算する係数

LSL/OSSLでは配列が扱えないため、この関数では標高データは文字列strで与えられる。一行ごと(X方向256個のデータごと)に\nで区切って256行のデータが入力される。行、列それぞれ256個に達しない場合は、足りない部分は0.0で埋められる。また、256個を超える部分は切り捨てられる。  
mgnf は各標高データに乗算する係数である。与えられたデータをそのまま標高データとして使用する場合には1.0を指定する。  
この関数はシステム内部の標高データの配列を直接書き換えてしまう。この関数に続いて、標高データの配列の内容が変化したことをシステムに通知する、osTerrainFlush関数(OSSL標準関数)を呼ぶことにより、リアルタイムにOpenSim内の標高を変更することが可能となる。

**** LSL_Key osSetTerrainTextureURL(int level, string url) [#i2524359]

**** void osTerrainFill(double height) [#v937da4f]


** Covered by Sculpted Prims with Map Texture [#w0a518bf]


** 説明 [#u39b5940]
*** パワーポイント [#ube11f84]
- &ref(../Diorama/Diorama1.pdf);

*** システム構成図 [#v5a12ee2]
&ref(../Diorama/F1.PNG,,30%);
#br
&ref(../Diorama/F2.PNG,,30%);

*** Memo
- [[Devel>../Diorama/Devel]]
- [[Devel>../Diorama/devel]]
#br

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 ページ一覧 検索 最終更新   ヘルプ   最終更新のRSS