ソラマメブログ
QRコード
QRCODE
※カテゴリー別のRSSです。
Information
読者登録
メールアドレスを入力して登録する事で、このブログの新着エントリーをメールでお届けいたします。 解除は→こちら
現在の読者数 1人
オーナーへメッセージ

2008年05月25日

踊るガイコツ

ペットってSLで作る場合、リンクがひとつしかできないので、

 頭、目、耳、口、胴体、右足、左足、右手、左手、尻尾

とかに普通分かれているパーツを一つにすることが多いのですが、リンクではこれをまとめてひとつにして動かすんです。
ところが、そうすると全部いっぺんに動くので、足とかを動かす時にはその足だけを動かすのです。
そうすると

 頭、目、耳、口

だけをまとめて一つの方向に動かすことができないんです (T_T)

BUT !!そんな動きをするペットを見つけたんです。これまで外人さんがよく持ってるのを見かけてたのですが、どこのかわからなくて探してました。



こんな動きや



な動きをするんです。ビックリしました。
これを実現するには、この技術を使っています。



ここでデモが見られます。
バラバラのガイコツが組み立てられて、踊るんです!!ちょっと脅威でした・・・

でも、これまで不思議に思っていたことが解決できてよかったです。

ちなみに、このネコ、クリックすると大変なことになります。通りがかりの人にもクリックすると大変なことになるので、気を付けてくださいね・・・



これで、ペットビレッジにあるブリ(野良猫)にももう少しカワイイアクションがつけられそうです!!
  
Posted by クマノミ at 13:06Comments(0)TrackBack(0)ペット

2008年05月20日

ポーズしながら表情も

乗れるネコ(デカブリ)の新しい機能として、RezしてSitの代わりにPawを選ぶと、なでるようにしてみました。



でも、これだと無表情でなんだか変です。でも、Poserでアニメーションを作ってアップロードするときに「表情」を「笑み」にしているにも関わらず、それが再生されないんです。

しかし、「みんなで作ろう。教えて!セカンドライフ!」で質問したらWhitfield-In-Worldさんから表情の付け方を教わりました!!
で、llStartAnimation("express_smile") を連続再生することで、表情をつけることに成功しました。



微妙ですが、動きに表情がつけられて本当にうれしいです!

  
Posted by クマノミ at 23:37Comments(0)TrackBack(0)ペット

2008年05月18日

降り注ぐカツオブシ

デカブリ(乗れるネコ)の大好物のカツオブシ(削り節)をやろうと思い、作ってみました。



タッチすると上からカツオブシが降り注ぎます。。。臨時オブジェクトなので、1分後には消えます。。。
結果としては、管理人のUsagiからダメ出しをもらったので、デビューできませんが・・・ (T_T)

せっかく作ったので、作り方だけでもご紹介します。
まず、上から落ちるようにしなければならないので、物理オブジェクトでないといけません。しかも、カツオブシなので、風になびく、すなわちフレキシブルでないといけません。
ところが、一つのプリムに対して、物理とフレキシの両方の属性は持たせられません。
そこで、今回は、ルートプリムに適当な球形を変形したものにして物理属性を与えます。
そして、立方体を平らにして、表と裏にカツオブシのテクスチャーを貼ってフレキシブルに設定します。風などのパラメータを適当に設定します。
その後、ふたつをリンクします。そうすると、上から落ちるヒラヒラするカツオブシが出来上がります。



このままだと同じ方向にカツオブシが並んで不自然なので、テクスチャを90度毎に違う4つのオブジェクトを作成します。
それを以下のスクリプトで発生させます。



と、ここまでがんばったのに、、、風になびく具合なんか相当いい感じなのになー・・・



しかも、ウチのRLネコ(ブリ)の大好物のカツオブシをデジカメで写真に撮ってアップロードしたのに・・・  
Posted by クマノミ at 15:04Comments(0)TrackBack(0)ペット

2008年05月08日

ネコのまばたき

デカブリのまばたきを作ってみました。

まず、半円から形と大きさとテクスチャーを適当に作成します。
これがまぶたとなります。



で、目をつぶった状態にして、以下のスクリプトを実行します。

touch_start(integer total_number)
{
  llOwnerSay((string)llGetLocalRot());
}


こうすると目をつぶった状態のリンクされたプリムの角度が表示されます。
この表示された角度を以下のスクリプトに組み込みます。

rotation _DEFAULT_ROT ;

default
{
  state_entry()
  {
    llSetTimerEvent(6.0+llFrand(6.0));
    DEFAULT_ROT = llGetLocalRot();
  }

  timer()
  {
    llMessageLinked(LINK_ALL_OTHERS, 0, "BLINK", NULL_KEY);
    llSetLocalRot(<0.00000, 0.29334, 0.00000, 0.95601>);
    llSleep(0.2);
    llSetLocalRot(_DEFAULT_ROT);
  }
}

ここで、llSleep(0.2)が入っているのは、目をつぶった状態を自然に見せるためです。
また、llMessageLinked()を使っているのは、もう片方のまぶたと連動させるためです。
このスクリプトを組み込んで、まぶたを開けた状態にします。そうすると開けた状態の角度が_DEFAULT_ROTに入力されます。

で、同様にもう片方のまぶたも同様に作成してリンクして、以下のスクリプトを組み込みます。

rotation _DEFAULT_ROT ;

default
{
  state_entry()
  {
    _DEFAULT_ROT = llGetLocalRot();
  }

  link_message(integer link_num, integer status, string command, key id)
  {
    if ( command == "BLINK" ) {
      llSetLocalRot(<-0.09117, 0.38302, -0.12739, 0.91036>);
      llSleep(0.2);
      llSetLocalRot(_DEFAULT_ROT);
    }
  }
}

これで、片方のまぶたから送られたメッセージを受けとって、両方同時にまばたきできるようになりました。




※このまばたきするデカブリはまだ配布していません。他のポーズなどを組み込んで新しいバージョンとして配布します。
 詳しくは、管理人のUsagi Pinkladyまでお問い合わせください。
  
Posted by クマノミ at 18:15Comments(2)TrackBack(0)ペット

2008年05月04日

ネコじゃらしで遊べます

ペットビレッジには「ブリ」という野良猫がいますが、このブリとネコじゃらしで遊ぶポーズとスクリプトを作りました。

まずは、ネコじゃらしでしょー
RLで家にあるものを真似てちょこちょこっと作ってみました。


で、ネコじゃらしのポーズをPoserで作成します。編集中はこんな感じ。。。



ブリを出して。。。


ポーズが有効になるようにします。スクリプトはこんな感じ。。。


というと簡単そうですが、足を動かすスクリプトの値の微調整やらSitする場所の調整がとにかく時間がかかります。こればっかりはどうしようもないですねー、、、ひたすら地道に数値を打ち込んではテストを繰り返します。
ポーズも手首のスナップと効かせるところと動かす速度の調整に時間がかかります。
また、ソースコードの中でもコメントアウトしてありますが、ネコじゃらしをRezしてアタッチ(llAttachToAvatar)したかったのですが、アタッチはオーナーにしか適用できないので、あきらめました。

で、動かすと。。。


最後に自分で癒されてしまいましたーwww

で、調子に乗ってついでにこんなポーズも作りました~


が、管理人のUsagi Pinkladyには不評でした。。。(T_T)
「野良猫といきなり寝ないでしょー!」って。。。
でも、私は相当お気に入りです!!

この野良猫「ブリ」と遊べるのはこちらでーす!!

あ、ネコじゃらしは自分で持ってくるかUsagi Pinkladyにもらって自分で装着してください!!  
Posted by クマノミ at 17:26Comments(0)TrackBack(0)ペット

2008年04月27日

誰でも乗れるネコ その2

最近、カフェのオープンやら新しい入居者さんの対応などで、物作りが出来ていませんでしたが、やっと作りかけていたネコの乗り物がひとまずできました。



はじめはSitして乗るタイプを考えていたのですが、RezできないSIMがあるだろうことと、移動のスクリプトを書かなくてよいことから、装着タイプで作ってみました。

 timer()
 {
   integer ai = llGetAgentInfo(_OWNER) ;
   list anms = llGetAnimationList(_OWNER);
   integer i;

   if ( ai & AGENT_WALKING ) {
      for ( i=0 ; i < llGetListLength(anms) ; i++) {
         llStopAnimation(llList2Key(anms, i));
      }
      llStartAnimation(_ANIMATION_STEP);
      if ( _STEP_START == FALSE ) {
         llMessageLinked(LINK_ALL_CHILDREN, _STEP, "STEP_START", "");
         _STEP_START = TRUE ;
      }
   } else {
      for ( i=0 ; i < llGetListLength(anms) ; i++) {
         llStopAnimation(llList2Key(anms, i));
      }
      llStartAnimation(_ANIMATION_STOP);
      if ( _STEP_START == TRUE ) {
         llMessageLinked(LINK_ALL_CHILDREN, _STEP, "STEP_STOP", "");
         _STEP_START = FALSE ;
      }
   }
 }

これまでのRezするタイプの自走型ペットに比べると、標準のアニメーションが作動しないようにすることくらいで、あっけなく出来てしまいました。足や耳は llSetLocalRot で動かしてます。
自走型のときには、

llSetPrimitiveParams([PRIM_POSITION, posSitStep2,
PRIM_ROTATION, rotSitStep2 / llGetRootRotation()]);

みたいにしていい感じに足とかを動かしていたのですが、これは装着型では使えませんでした (T_T)
アバターが回転すると足とかねじれちゃって、悲惨な状態になりました。

まだできたばっかりなので、一般には配布していませんが、管理人の「Usagi Pinklady」に連絡して頂ければ、お渡しいたします。Pet VillageのSIM群以外で装着した場合には、頭に「Pet Village Japan」と表示されます。  
Posted by クマノミ at 23:55Comments(0)TrackBack(0)ペット

2008年03月24日

誰でも連れて歩けるネコ

だれでも連れて歩けるネコを作ったので、ペットビレッジのSIMに置いておきます。
SIMが9SIM あるので、どこに行くか分からないので、9匹用意しておきましたーww
クリックすると"Follow"か"Don't Follow"と表示されるので、"Follow"で連れて行って下さい。
物作りはペットビレッジのサンドボックスでやってますので、いつでもお声がけくださいね (^_^)/~~



Takeとかはできないので、ペットビレッジ内だけで連れて歩けるだけです~(ウチのRLのネコがモデルなので非売品です~)  
Posted by クマノミ at 21:56Comments(2)TrackBack(0)ペット

2008年02月17日

llSetPrimtiiveParamsでハマってました

久し振りですが、今は、ネコのスクリプトでハマってました。
llSetPrimtiiveParams で四足歩行の足の角度を変えようとしていたのですが、

t=llGetPrimitiveParams([PRIM_ROTATION]);
rot = llList2Rot(t,0);
llSetPrimitiveParams([PRIM_ROTATION, rot]);
でへんてこりんな角度に足が向くんです。

でも、http://jira.secondlife.com/browse/SVC-93 にもあるように、

llSetPrimitiveParams([PRIM_ROTATION, (rot / llGetRootRotation()) / llGetRootRotation()]);

にしないといけなかったんですね。
# 知らなかっただけですが、、、

これでなんとか前に少し進みました。  
Posted by クマノミ at 00:55Comments(0)TrackBack(0)ペット

2008年01月13日

ペットお散歩&研究

Zoobyさんのところのダルマシアンとネコ、そしてU&R Medium Poodle HUDで散歩してみました。



スナップの茶色い猫が現在作成中のネコです。まだテクスチャもスカルプトも試作段階ですが、まずはスクリプトを作らねば、と格闘しています。



先に作ったクマノミのやりかたで llMoveToTarget()でオーナーを追尾していたのですが、この方法だと途中で転んだりして動作が安定しませんでした。スピードを上げるとなかなか止まれずにどっかに飛んで行ったり・・・

Zoobyさんのペットを連れていると、とても追尾性が高いのでどうやってるのかといろいろこちらで試したところ、できました!
物理属性+llMoveToTarget()ではなくて、非物理属性+llSetPos()だとうまくいきました。このようにプログラムしなおしたら同じような動きをするようになりました。


しかも、Zoobyさんのところは障害物に弱いのですが、この方法だと障害物も通り抜けることができて、なかなかいい感じです。というか、途中の障害物にPhantomみたいに通り抜けます。



動きが安定してきたので、今度はスカルプトのモデリングとテクスチャに取り組みます。




  
Posted by クマノミ at 12:45Comments(0)TrackBack(0)ペット