バーチャル博物館製作メモ(その14)


Warning: getimagesize(/home/apache/moodledata/filedir/5a/b3/5ab37aa7c03aee109a6ec4008779ae6f9927bb3d): failed to open stream: No such file or directory in /home/apache/moodle-4.1.5+/lib/filestorage/file_system.php on line 418

Warning: getimagesize(/home/apache/moodledata/filedir/a4/19/a419cc7edac9c54582be33b665516bac05595c22): failed to open stream: No such file or directory in /home/apache/moodle-4.1.5+/lib/filestorage/file_system.php on line 418

Warning: getimagesize(/home/apache/moodledata/filedir/12/bc/12bc5832f5bd9e8e5892098783c815637337c547): failed to open stream: No such file or directory in /home/apache/moodle-4.1.5+/lib/filestorage/file_system.php on line 418

バーチャル博物館製作メモ(その14)

- Yan Lauria の投稿
返信数: 0

自然環境の再現テク~スカイ展示での空と海

孤立シムだと、スカイに天球と海面を置き、地上のデフォルトの背景とは違った雰囲気にすることができる。

天球・海面のサイズは直径1024mのメガプリムを使うのが理想だが、アバターが動き回れる範囲をシム中央部に限定しておけば、シムからはみ出さない直径256mでも十分に雰囲気が出せる。

最初のSSは、SLのJabara Land Atlantisにある「深海の旅」の天球と海(comet Morigiによる)で、直径は256m。

 (メガプリム)

この天球と海を作るのに、まずプリムのサイズが64m以下に制限されているSLでは、それを超えるプリムはメガプリム又はヒュージプリムと呼ばれ、SL Marketplaceで入手しないといけない。”Mega Prim”で検索できる。1024mサイズが入っていないパッケージが多いので注意のこと。1024mサイズ入りが明記されているのは以下のもの。

https://marketplace.secondlife.com/p/megaprims-mega-prims-true-megaprims-full-perm/10993929(29 L$)

https://marketplace.secondlife.com/p/Megaprims-box/371225(99 L$)

https://marketplace.secondlife.com/p/TMs-48k-Mega-Prim-Pack-15a/1231744(1 L$)

メガプリムの操作にはけっこうコツがいる。

まず、X, Y, Zサイズを増減させるとその途端に64mサイズに縮まってしまうので、それは弄らずに、ボックス/シリンダー/球体への切り替えと、パスカット、くぼみ、切り取りなどで形状を変更しなけらばならない。天球(球殻)の場合はパスカットとくぼみ(始点と終点)で切り取るようにし、海面(シリンダー)は最初から厚みの薄いメガプリムを選ぶか、切り取り(始点と終点)で厚みを減らすこと。

もうひとつ、メガプリムを操作するには、Rezしたらまずはメガプリムをファントムに設定し、ボックスや球であればまず中空にする。巨大なメガプリムになると、プリムのすぐ外に立っていてもプリム中心からの距離が離れすぎて編集モードになかなか切り替わらないことが起きるからだ。

JOGの場合は64mの制限はないが、256mのサイズ制限がかかってるかもしれないので、その場合はFumi先生に頼んでサイズ制限を外してもらえば、巨大プリムも通常のプリムと同じように編集可能。

(天球テクス)

まず天球の方だが、1プリムの球殻だと、テクスの解像度が足らない。全球で1024x1024の解像度にしかできない。そこでパスカットとくぼみの数値をいじって1/8の球殻を作り、それを4個組み合わせて空にする。宇宙空間で地平線から下も見せる場合は、8個組み合わせて全球にする。これによって8倍の解像度で表示することが可能となる。

星空は高解像度のものが無料で入手できる。

https://svs.gsfc.nasa.gov/3572

ダウンロードしたままの画像だと、ちょっと物足らないので、天の川が分かるようにペイントソフトで色調を変更する。(2つ目のSS)

青空については専用サイト”CGSKIES”があるが高解像度版は有料(20 USD~)である。

https://www.cgskies.com/skies.php

このページで空のタイプを選ぶとずらっと画像が出てくる。選択すると、3D Previewが可能(Adobe Flash Playerを有効にする必要がある)なので、これで感じが掴める。

解像度3000x1500までは無料だが、それを4096x2048に拡大して使ってもやはりパッとしないので、よく選んでから高解像度版を買うこと。Pay-Palでクレジットカードを登録しておく必要がある。

3目の画像がサンプルの一例。元の画像は地平線下が真っ黒になっているが、なぜか空の部分が4:1より縦長になっているので、ペイントソフトで地平線下をカットし、「縦横比を固定」のチェックを外してから4096x1024にリサイズする必要がある。

 (海面)

海面につかうテクスは”Sea seamless texture”で検索する。フリーのもある。

https://www.textures.com/browse/plain/2204

このテクスチャをゆっくりスクロールさせる。

default

{

    state_entry()

    {  

       llSetTextureAnim(ANIM_ON | SMOOTH | LOOP , ALL_SIDES, 1, 1, 1, 1, 0.005);  // 最後の0.005がスクロール速度

    }

}

 このアニメスクリプトでは、プリムの面に解像度1024x1024のテクスしか貼れない。せっかくシームレスなテクスなのだから2倍表示、3倍表示でいくらでも解像度が上げられると思ったらそれができない。

そこでまず直径256mの円盤でこのアニメスクリプトを走らせる。その外側に直径512mの円盤(当然解像度は粗くなる)でアニメスクリプトをより遅い速度で走らせる。すると面白いことに、近くでは波が動き、遠くでは大きなうねりがゆったりと動いているようにみえる。そこから先、天球との境界線までは水平線までのグラデーションを模した静止テクスを貼った円盤で埋める。

最初のSSをもう一度見てください。comet Morigiがこんなテクニックを使っているというのは今回は初めて理解できました。本当に凄い人です。

海面の表現についてはもっと凝ったことをしている人がいます。皆さんの方でぜひ試してみてください。

https://blog.natade.net/2015/12/13/secondlife-water-make/