2008年10月20日

スクリプトでカラーの設定

こんにちわ。 
初歩的なことだとは思うのですが是非教えてください。

スクリプトでオブジェクトの色を変化させたいと思っています。
llSet(Link)Colorを使い、<0,0,0>~<1,1,1>の値を指定すると思うのですが、
オブジェクトの編集「カラーピッカー」で作った色をそのまま使いたい場合
どうしたら良いでしょうか。

スクリプト設定での白は<1,1,1>ですが、
カラーピッカーだと「225,225,225」で色相などの表示もあり、
その関連性がわかりません・・・。
カラーピッカーの色データをスクリプトのvector型に変える
簡単な方法はあるのでしょうか?

今回、具体的には
「赤0、緑86、青86、色相180、色調180、輝度17、(透過度6)」
を指定しようと思っています。

どうぞよろしくお願いします。


同じカテゴリー(スクリプト関連)の記事画像
オブジェクトのリンクとタッチで開く扉
自動チャットを止めたい
テレポートするとアニメーションが解除される
同じカテゴリー(スクリプト関連)の記事
 テクスチェンジのHUDについて (2015-07-01 04:51)
 モール用のプリムカウンターを探しています (2014-11-29 20:09)
 連続するアニメーションの処理 (2014-08-24 03:23)
 オブジェクトの上にフローティングテキストを出す。 (2014-08-22 16:46)
 チャットログの盗聴について (2014-02-03 03:43)
 椅子に座った後で位置調整できるスクリプト (2013-03-24 16:37)

Posted by zinn  at 08:40 │Comments(3)スクリプト関連

この記事へのコメント
こんにちは。
赤、緑、青の値を255が1になるように換算したらいいので
86/255=0.337 ぐらいですかね?

>カラーピッカーの色データをスクリプトのvector型に変える
簡単な方法はあるのでしょうか?

カラーピッカーで色をつけるオブジェクトにllGetColorを使ったら簡単かなって思います。

default
{
touch_start(integer total_number)
{ // タッチ
vector color=llGetColor(0); // カラー
float alpha=llGetAlpha(0); // アルファ
llSay(0,"color="+(string)color+", alpha="+(string)alpha);
}
}
Posted by 千尋千尋 at 2008年10月20日 10:54
千尋さん、早速の回答ありがとうございます。

>255が1になるように換算したらいい
なるほど! そういう仕組みだったのですね。

>llGetColorを使ったら簡単
試してみたところ
『Object: color=<0.00000, 0.33725, 0.33725>, alpha=0.941176』となり、
本当に簡単に数値が分かりました。

今後も大いに使えそうです。
教えてくださり、本当にありがとうございました!
Posted by zinn at 2008年10月20日 11:41
「赤0、緑86、青86」ならば、

  <0 , 86 , 86>/255

という感じで、カラーピッカーの数値をそのまま書いたベクトルの後ろに
/255を付けておけばOKです^^
Posted by Fujiko TomorrowFujiko Tomorrow at 2008年10月22日 15:27
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。