セカCHU☆

SecondLifeのこと

SecondLife viewer2 beta 使ってみたよ

2010年02月27日 00時23分49秒 | セカンドライフのできごと
見た目はあんまり変わらないよ


viewer2の話を聞いて、早速installしてみたよ。
公式版以外は絶対使わない私にとっては、ひさしぶりの新versionです

見た目はあんまり変わらなくて、操作がすごい変わってたviewer2でした。


使っててって思ったところはねー

すごく重くなってた。
ゲーム用の私のでも遅くなるんだから、ちょっと困る遅さになっちゃう人続出かも。
これからどんどんスピードアップに期待っ

読み込みも遅くなってた。
ruthがまたまた登場です
自分の姿を読み込むのに5分くらい掛かってて、3分くらいの間裸だったよ
他の人の姿を読み込むのはそれほど遅くなかったから、始めたばかりの時が極端に遅いんじゃないかなぁ

綺麗さあんまり変わらなかった。
あんまり見た目の綺麗さは変わらなくて、だけどprimのつなぎ目が目立つようになったり、目立たないけど結構変わっているのかも。
影はまだ実装されてませんでした。

チャットログが見難くなってるかも。


逆に、って思ったところはね

影機能が進歩してた
相変わらずadvanced menuで設定しないと影が出ないけれど、スクリーンショットを撮っても画面がぐちゃぐちゃにならなくなってたよ。

これまでは、スクリーンショットを撮る時だけ左のみたいに、半透明を使ってる面が全部消えちゃってたの。
着物は下半身が消えちゃってタイヘンな事に…
viewer2だと、撮っても右みたいに絵が崩れません。だけど私の場合、前髪と目玉がずっとヘンな状態になっちゃうみたい。
これまでのviewerって、スクリーンショットさえ使わなきゃ綺麗な絵が出てたんだし、人によってはかしら
でも、影をずっと出してても落っこちにくくなってる気がしたよ。

新しいlayerが増えたみたい。
tatoo用とinvisible用、頭にも新しいlayerが増えたんだってー。
だから、下着をはくとtatooが付けられないなんて事も無くなるのかな。
頭にlayerが出来たの嬉しい クッキリした眉毛描きたいよ

便利機能いろいろ
ミニマップの人印にマウスを重ねると、名前が分かるようになってます。
TP履歴も残るみたいね。レーダーとかTP履歴HUDとか使ってる人は、要らなくなっちゃうかも
今まで検索画面で見てたhot spotなんかはtabで画面右側からニョキッと出てくるようになってます。
使う機会は増えそうだよね


そうそう、viewer2だけ、昔のSIMの絵が見えるよ。
すぐ消えちゃうし、いつまでも見えてるとは思わないけれど、無くなっちゃったSIMが画面を引くと見えるの。
ZERO番地のSIM郡とかバッチリ じゃぱらんども見えるんじゃないかなぁ。


まだまだよく分かってないトコ多いけれど、もうしばらくはviewer1かなーって思ったよ。
目玉がないってありえない…

チョコパイ作成 その3

2010年02月24日 02時57分54秒 | セカンドライフのすくりぷと
モノを投げるscriptはイロイロあるけど、ちょっと違った味付けが出来たかなぁって思います
甘くてちょっときちゃないパイ投げを、召し上がれ

pie-puff
pie-scratch

持つパイscriptここから
//臨時objectを打ち出すscriptです
//最初はゆっくり、時間が経つにつれてどんどん早く力が

float pow = 0;  //投げる力の初期値
float charge = 0.1;  //投げる力の現在値
float CHARGEINIT = 0.02; //溜める基本値の初期値(時間毎に増えます)
float POWMAX = 30;  //投げる力の最大値
float REZPOS = 0.5;  //Rezする地点の自分からの距離

rotation getPieRot(){
  //パイのクリーム地を前にして投げるために、回転角度を調整します
  //回転値を返します
  rotation rot = llEuler2Rot(<90,0,0> * DEG_TO_RAD);
  rot = rot * llEuler2Rot(<0,0,90> * DEG_TO_RAD);
  rot = rot * llGetRot();
  return rot;
}

throw(float power){
  //投げる部分をまとめて、コメントしやすいようにしてます
  vector relVec = llGetPos();  //投げ始める位置(方向含みます)
  rotation relRot = llGetRot(); //投げる方向(向いてる方向)
  vector fceVec = llRot2Fwd(relRot);  //投げる力の方向・大きさ

  llStartAnimation("pie-throw");
  llSleep(0.1);
  llSetTexture(TEXTURE_TRANSPARENT,0);

  relVec += fceVec;
  relVec.z += 0.7;    //投げ始める位置をちょこっと高くします
  fceVec *= power; //溜めた力を合成します
  llRezObject("throwing chocolate pie",relVec,fceVec,getPieRot(),0);
  llSleep(1);
  llStopAnimation("pie-throw");
  llSetTexture("pie-texture",0);
}

default
{
  state_entry()
  {
    llRequestPermissions(llGetOwner(),
      PERMISSION_TRIGGER_ANIMATION
    | PERMISSION_TAKE_CONTROLS);
  }

//装着した時の処理:パーミッションの取得
  attach(key uuid_av)
  {
    if(uuid_av != NULL_KEY){
      llOwnerSay("get mouselook & throwing pie!");
      llRequestPermissions(llGetOwner(),
        PERMISSION_TRIGGER_ANIMATION
      | PERMISSION_TAKE_CONTROLS);
    } else {
      llOwnerSay("CU~.");
    }
  }

//パーミッション取得処理
  run_time_permissions(integer perm)
  {
    if(perm & PERMISSION_TRIGGER_ANIMATION){
      llStartAnimation("pie-hold");
    }
    if(perm & PERMISSION_TAKE_CONTROLS){
      llTakeControls(CONTROL_ML_LBUTTON,TRUE,FALSE);
    }
  }

//コントロール処理
  control(key uuid2, integer held, integer edge)
  {
    if (held & CONTROL_ML_LBUTTON){
    //左ボタンを押し続けてる間の処理
      //ぐるぐるアニメスタート
      if(pow==0){
        llStartAnimation("pie-charge");
        llLoopSound("cartoon185SL",1);
      }
      //ちからを溜めるよ
      pow += charge;
      charge += CHARGEINIT;  //次に溜めるちからの値は、少しだけ多く
      if(pow > POWMAX){ pow = POWMAX;}  //最大値以上は溜めません
    } else if (edge & CONTROL_ML_LBUTTON){
      //左ボタンを離した時の処理
      //ぐるぐるアニメストップ
      llStopAnimation("pie-charge");
      llStopSound();
      throw(pow);  //投げる処理と投げアニメ
      pow = 0;
      charge = CHARGEINIT;
    }
  }
}
ここまで

臨時objectの投げるパイscriptは、ここから
// クリーム跡をしっかり表示します。
// 30秒間テクスチャをその場所に表示
put_cream(){
  string texture = "pie-scratch";//テクスチャ名
  llParticleSystem(
  [PSYS_PART_FLAGS , ( 0 |
   PSYS_PART_EMISSIVE_MASK |
   PSYS_PART_INTERP_COLOR_MASK |
   PSYS_PART_INTERP_SCALE_MASK
   )
  ,PSYS_SRC_PATTERN, PSYS_SRC_PATTERN_ANGLE
  ,PSYS_PART_START_ALPHA, 1.0
  ,PSYS_PART_END_ALPHA, 1.0
  ,PSYS_PART_START_COLOR, <1,1,1>//色
  ,PSYS_PART_END_COLOR, <1,1,1>//色
  ,PSYS_PART_START_SCALE, <0.7,1.4,0.7>//大きさ 最大4x4x4
  ,PSYS_PART_END_SCALE, <0.7,1.4,0.7>//大きさ 最大4x4x4
  ,PSYS_SRC_MAX_AGE, 0.5
  ,PSYS_PART_MAX_AGE, 30.0
  ,PSYS_SRC_ACCEL, <0.0, 0.0, 0.0>
  ,PSYS_SRC_OMEGA, <0.0, 0.0, 0.0>
  ,PSYS_SRC_ANGLE_BEGIN, PI
  ,PSYS_SRC_ANGLE_END, 0*DEG_TO_RAD
  ,PSYS_SRC_BURST_PART_COUNT, 1
  ,PSYS_SRC_BURST_RATE, 1.0
  ,PSYS_SRC_BURST_SPEED_MIN, 0.0
  ,PSYS_SRC_BURST_SPEED_MAX, 0.0
  ,PSYS_SRC_TEXTURE,texture
  ]);
}
// クリーム跡をちょっと表示します。
// べちゃっとした感じに
scatter_cream(){
  string texture = "pie-puff";//テクスチャ名
  llParticleSystem(
  [PSYS_PART_FLAGS , ( 0 |
   PSYS_PART_EMISSIVE_MASK |
   PSYS_PART_INTERP_COLOR_MASK |
   PSYS_PART_INTERP_SCALE_MASK
   )
  ,PSYS_SRC_PATTERN, PSYS_SRC_PATTERN_ANGLE
  ,PSYS_PART_START_ALPHA, 1.0
  ,PSYS_PART_END_ALPHA, 1.0
  ,PSYS_PART_START_COLOR, <1,1,1>//色
  ,PSYS_PART_END_COLOR, <1,1,1>//色
  ,PSYS_PART_START_SCALE, <0.4,0.4,0.4>//大きさ 最大4x4x4
  ,PSYS_PART_END_SCALE, <0.7,0.7,0.7>//大きさ 最大4x4x4
  ,PSYS_SRC_MAX_AGE, 0.5
  ,PSYS_PART_MAX_AGE, 3.0
  ,PSYS_SRC_ACCEL, <0.0, 0.0, 0.0>
  ,PSYS_SRC_OMEGA, <0.0, 0.0, 0.0>
  ,PSYS_SRC_ANGLE_BEGIN, PI
  ,PSYS_SRC_ANGLE_END, 0*DEG_TO_RAD
  ,PSYS_SRC_BURST_PART_COUNT, 1
  ,PSYS_SRC_BURST_RATE, 1.0
  ,PSYS_SRC_BURST_SPEED_MIN, 0.0
  ,PSYS_SRC_BURST_SPEED_MAX, 0.0
  ,PSYS_SRC_TEXTURE,texture
  ]);
}

default
{
  state_entry()
  {
    float force = llVecMag(llGetAccel());
    if(630 < force){
      llPlaySound("Rico02SL",1);
    } else {
      llPlaySound("ZipIn+",1);
    }
  }

  on_rez(integer param){
    llResetScript();
  }

  collision_start(integer col_num)
  {
    //まず一度非物理にして勢いをなくして、もう1度物理にします
    llSetStatus(STATUS_PHYSICS,FALSE);
    //衝突した時にavatarかobjectか判別します。
    //今回は地面との衝突は判定しません
    if(llDetectedType(0) & PASSIVE){
      //止まってるモノに当たった場合
      //べちょ
      put_cream();
      llPlaySound("ZipFart",1);
    } else {
      //人、動いてるモノ、動きそうなモノに当たった場合
      //べちょ
      scatter_cream();
      llPlaySound("ZipFart",1);
    }
    //重力にまかせて落っこちます
    llSetStatus(STATUS_PHYSICS,TRUE);
    //script自体を停止させます
    llSetScriptState("collision script",FALSE);
    }
}
ここまで

チョコパイ作成 その2

2010年02月19日 02時18分04秒 | セカンドライフのものづくり
バレンタインギフトとして作ってたのは、チョコパイだよ
食べる用じゃないけどねっ
形でバレバレだったかなぁ


お友達の男の子に、
「チョコに関係あるもので、おもちゃみたいに遊べるものって何かないかな?」
って聞いてみて、返ってきた答えの中のひとつ、パイ投げのパイでした

いつもの通り、なんとなく作り始めたんだけど、超苦労
私数学ニガテだもん。
最初は、去年のチョコ袋の計算式を流用して、
方向や角度を全部三角関数を使って計算してたんだけど、
上手くいかなくって…。
途中で何が悪いのかは分かっても、それをどう計算で直せばいいのか分かんない。
そんなこんなで1週間以上、計算式と戦ってました

ホントは、そんな計算なんて全然必要なかったのにね
自分の向きや位置を調べて、そのままrezするパイに当てはめると、上手くいったんだー。
…私何やってたんだろぉ…


それ以外はカンタンな命令の組み合わせだから、楽チンでした
フリーで合う音を探すのと、パイがべちゃっとなった写真を探すほうが、すごい苦労したくらいだよ
アニメも自分で作ったよ
ボタンを押してる間はくるりんくるりん力を溜めて
ボタンを離すと、ぽいっ(たまに力がこもってるとバキューン
そして、ベチョ
そんなコンナで完成です!


当日は手渡ししてる時間がなくて、グループギフトでの発送になっちゃったけれど、楽しんでもらえてたら、すごくすごく嬉しいな

○○○○作成

2010年02月02日 23時20分48秒 | セカンドライフのものづくり
コツコツ作ってま


今はまだscriptが思ったとおりに動くかどうか、実験しながら確認してる最中だよ。
だから、最近はずーっとsandboxでコチョコチョしてます
SIMが重いと、scriptの保存が終わらないうちに実行しちゃうみたいで、たまに書き加えたのが無かった事になっちゃう。うぅぅぅ

RLも忙しくなってきてるし、作るの急がなきゃ。
音もfreeのイイの探さなきゃいけないし、やることいっぱいだよ