2008年07月15日

ポーズボール 位置&フローティングテキストについて

こんにちは。初心者ですがよろしくお願いします。

①ポーズボールから座った状態のアバターの位置(距離)の変更方法を教えてください。

ポーズボールを購入したのですが、(スクリプトがいじれる)
ボールにsitすると、アバターがかなり上の方に座ってしまうので
椅子などにセッティングすると ボールが椅子に隠れて見えず、
クリックできなくなってしまうので、
ボールよりも下に座るように 位置を変更したいのですが
どのタグをいじったらいいのでしょうか?

②おなじくポーズボールのフローティングテキストの変更、表示方法を教えてください。

ポーズボールに何も文字が無いので不便なので。





Posted by nanako  at 12:07 │Comments(5)TrackBack(0)

この記事へのトラックバックURL

http://oshiete.slmame.com/t306231

この記事へのコメント
nanakoさん、こんにちは。

ポーズボールについてですが、まずアバターの座る位置は、
llSitTarget(相対位置, 相対回転値)
という関数で指定します。
プリムに対して相対的な位置と回転値を指定します。
スクリプトで関数を記述している部分に値を直接記述しているか、変数を使っているかわかりませんが、高さを調節したいのであればZ値(<>で囲まれた3つの数値の3番目)を変更してください。

次にフローティングテキストの表示方法ですが、
llSetText(表示テキスト, 表示色, 表示透過度)
で設定します。
常にフローティングテキストを表示したいのであればdefaultステートのstate_entry内に記述しておきます。
ただし、常に表示しているとアバターが座っているときも表示されてしまうので、ちょっと邪魔になります。
そんな時は実際に「座った/立った」イベント内でフローティングテキストを設定し直せばよいわけです。ちなみに消したいときは文字列無し("")で設定しなければなりません。
「座った/立った」イベントはchangedというイベントで、一般的には

changed(integer change)
{
if(change & CHANGED_LINK) // リンクの変更があった場合
{
avatar_key = llAvatarOnSitTarget(); // シットしているアバターのキーを取得
if(avatar_key == NULL_KEY) // 取得したキーがNULL_KEYの場合は立った
{
立ったときの処理;
}
else // NULL_KEYでない場合は座った
{
座ったときの処理;
}
}
}

のような記述になっていると思いますので、「座った/立った」処理の時にフローティングテキストの非表示/表示を切り替えればよいと思います。
Posted by ささぴ at 2008年07月15日 12:55
ささびさん コメント&ご指導 ありがとうございます!

おかげさまで座る位置変えられました(*^。^*)うれしー♪
フローティングテキストはまだ苦戦中ですが
もうちょっとがんばってみます!

本当にありがとうございました!!!
Posted by nanakonanako at 2008年07月15日 14:08
ごめんなさい
ささぴさん お名前間違えてしまいました><
大変失礼しました。。
Posted by nanakonanako at 2008年07月15日 14:10
ささぴさんが書かれた説明の補足です。
フローティングテキストは、最初からスクリプトを書くのであれば、
---------------------------------------------------
default{
state_entry(){
llSetText("Sit here!",<0,0,0>,1.0);
}
}
---------------------------------------------------
などと書けば出てきます。
既存のスクリプトに追加するのなら、state_entry()の{}カッコ内に、
llSetText("Sit here!", <0, 0, 0>, 1.0);
を追加するか、あるいは上の内容だけを書いたスクリプト(のファイル)をオブジェクトに追加しても良いと思います。
 
因みにこの例では、
「Sit here!」 というテキストを、
「<0,0,0>」 という色(黒色)で、
「1.0」 の透明度(不透明)の文字で表示させます。

色は三原色(RGB)を用いた表現です。<赤, 緑, 青>のそれぞれの原色の強さを0~1で記します。
具体的にいくつか例を挙げると以下のような感じです。
数値を微調整して好みの色にできます。
<0, 0, 0> →黒
<0.5, 0.5, 0.5> →グレー
<1, 0, 0> → 赤
<0, 1, 0> → 緑
<0, 0, 1> → 青
<1, 1, 0> → 黄
<0, 1, 1> → 水色(シアン)
<1, 1, 1> → 白

透明度は、0.0(完全に透明)~1.0(不透明)を指定します。
0.5を指定して半透明にしたり、0.0で見えなくしたり、という具合になります。
Posted by asa Soyer at 2008年07月15日 16:21
Soyerさん 説明ありがとうございました!
参考にさせていただきます(*^_^*)
Posted by nanakonanako at 2008年07月16日 16:20