2009年06月23日
ALL_SIDES じゃなくて…
基本的なことでスミマセン。
複数の指定したプリムの面の色を変えたいのですけど、どう指定すればよいかわかりません…。
面の番号は 0と2です。
llSetColor(<0, 1, 1>, ALL_SIDES);
ALL_SIDES を0と2で指定したいのですけど、うまくできません。
一面だけならできるのですけど、複数は無理なのでしょうか?
よろしくお願いします。
複数の指定したプリムの面の色を変えたいのですけど、どう指定すればよいかわかりません…。
面の番号は 0と2です。
llSetColor(<0, 1, 1>, ALL_SIDES);
ALL_SIDES を0と2で指定したいのですけど、うまくできません。
一面だけならできるのですけど、複数は無理なのでしょうか?
よろしくお願いします。
テクスチェンジのHUDについて
モール用のプリムカウンターを探しています
連続するアニメーションの処理
オブジェクトの上にフローティングテキストを出す。
チャットログの盗聴について
椅子に座った後で位置調整できるスクリプト
モール用のプリムカウンターを探しています
連続するアニメーションの処理
オブジェクトの上にフローティングテキストを出す。
チャットログの盗聴について
椅子に座った後で位置調整できるスクリプト
llSetColor(<0, 1, 1>, 0);
llSetColor(<0, 1, 1>, 2);
②案 llSetPrimitiveParamsを使う
関数の詳細は
http://wiki.secondlife.com/wiki/LlSetPrimitiveParams/ja
llSetColorは遅延なしですがllSetPrimitiveParamsは0.2秒の遅延があります。
vector COLOR_ALL = < 0.0, 0.0, 0.0>;
vector COLOR_0 = < 0.0, 1.0, 1.0>;
vector COLOR_2 = < 0.0, 0.0, 1.0>;
llSetPrimitiveParams( [
PRIM_COLOR, ALL_SIDES, COLOR_ALL, 1.0,
PRIM_COLOR, 0 , COLOR_0, 1.0 , // face 0
PRIM_COLOR, 2 , COLOR_2, 1.0 // face 2
] );
llSetColor(<0, 1, 1>, 0);
llSetColor(<0, 1, 1>, 2);
と、連続で記述すれば出来ると思いますが・・・?
どうでしょうか?
llSetColor(<0, 1, 1>, 0);
llSetColor(<0, 1, 1>, 2);
他には、変更する面や色が変わる場合ですがユーザー関数にする方法もありますよ。
set_color(vector color,list face){
integer i;
for(i=0;i<llGetListLength(face);i++){
llSetColor(color,llLIst2Integer(face,i);
}
}
これで、実行したい時は下のように指定すればOKです。
set_color(<0, 1, 1>, [0,2]);
※単純に毎回同じ面を変更するならば、最初に書いた方法(2回繰り返して記述)がお勧めです。
後から書いた方法は、面の数などが変わる場合に便利かと思います。
単純に2面分を記述すればよかったのですね!
思いつきませんでした……
みなさま、ありがとうございました!!