2008/09/12

臨時の時は忘れずに!

最近は

「新商品期待してます!」

といわれる度に申し訳ないと思ってます。

しかし・・・どうも商品にならないものばかり作っている気がします。


昨日作ったのはこの「噴水」。


現在店頭に置いているのものは、機能やデザインを割り切って2プリムにしていますが、
水の感じなどをよりリアルに(多少プリムが増えてもよし)作ってみることにしました。

本体の造形は、
噴水部分に2プリムと水面部分に1プリムの合計3プリム(いずれもスカルプ)で作りました。

それにパーティクルで水しぶきなどの効果を加えていきます。

こんな感じですね。
本体を構成する3プリムのパーツの中に、パーティクルのスクリプトと、水しぶきのテクスチャを入れました。


これだけではなんか寂しい気もしてきたので、水の動きに変化を付けてみることに。

タイマー設定でパーティクルのパラメーターを変化させて・・・とも思ったのですが、
ちょっと思うところもあり、「臨時プリム」を使ってみることにしました。

「臨時プリム」というのは、REZして約1分で消えるオブジェクトです。
なんか難しそうですが作り方は簡単。
オブジェクトの編集で「臨時」を選ぶだけです。

今回は水しぶきが高く上がる状態のパーティクルを設定した球体を作り、臨時プリムとしました。


この設定の後、インベントリに一度戻し、この臨時プリムを発生させるオブジェクトのコンテンツとして入れるのです。

ここで注意したいのは、臨時設定をすると約1分で消えてしまうので、
事前にコピーを取っておいたり、修正場合は一旦臨時のチェックを外して作業するなどしないと、
とっても悲しいことになります。(経験済みです^^;)

そして、発生させるオブジェクトにREZさせるスクリプトを入れるだけです。

llRezObject("臨時オブジェクトの名称", llGetPos() + <0.0,>, ZERO_VECTOR, llGetRot(), 0);

もう1点、ここで注意しなくてはいけないことがあります。

コンテンツとして入れる臨時オブジェクトのパーミッションを「COPY可」にしておく事です。
そうしておかないと、1度REZされると、コンテンツから消え去り、2回目以降は当然のことながらREZされません。
(“○○”がありません!とスクリプトエラーが出ます。)

出来上がったものを自分で使う分にはCOPY可でなくても大丈夫なのです。
他人に渡し場合に上記の問題がおこる訳です。

と、頭では分かっていながらも、昨晩もこのミスをやらかしてしまいました。。。


5分に一度、高くまで水が上がる臨時プリムをREZするように設定。


そして、今度は4箇所から水が上がるように臨時プリムを追加。


凝りだすときりが無いので、ここで一旦完成としました。


「臨時プリム」を使用する場合、土地のプリム数にカウントされないということもあり、
プリム数が多い商品のデモやベンダーに使われたり、
REZしても後には残らないので、様々な演出効果としても使えます。
コーギーのウンチも掃除が不要ですよね。

また、プリムセーバーといって、
臨時プリムが消えるたびに新たにREZすることで、
高プリムのものを1プリムにする!なんてツールもありますし、
同様の仕組みを最初から組み込んだ、見た目高プリムで、実は1プリムという商品もあります。
(家、家具、楽器、花など、いろんな商品を見たことがあります。)

使い方によってはとても便利で、プリム節約にもなるのですが、
高プリムのものを毎分REZする(そして場合によっては土地の上限プリムを越える)というのは
SIMの負荷にもなるでしょう。

多くのSIMで「プリムセーバーの禁止」が規約に入っているのを目にします。
モールでも禁止しているところが多いようです。

プリムセーバーというツールを使っていなくても、臨時プリムを使えば同じという見方もあります。

ただ、サンプルを臨時でREZするベンダーのように、お客さんが見たいときだけREZするというのは、
通常の行動というか、そのベンダーが無くても行うような行為です。

どこまでがよくて、どこからがNGという線引きは難しいと思いますが、
使い方には気をつけなくてはいけませんね。




この噴水も、(プリム数を多少増やして)臨時プリムの使用をやめるべきかなぁと、ちょっと悩んでます。