2008年04月27日

抱くペットの動かし方

抱くタイプのペット(装着)で、顔や手などが動くものがありますが、あれはどうやって動かしているんでしょうか?
RezするタイプのネコやイヌのスクリプトはllSetRot()などで動かしていましたが、、、みなさんどうやってるんでしょうか?
顔なども動くものがあるようなので、とても不思議です。Rezするタイプですと顔だけのリンクができないので、どうやってるのかすごく知りたいです。

ご存知の方よろしくお願いします m(_ _)m

Posted by クマノミ  at 00:27 │Comments(5)TrackBack(0)オブジェクト関連

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

http://oshiete.slmame.com/t220681

この記事へのコメント
顔だけのリンクができないというのがよくわかりませんが・・。llSetRot()で動きませんか?
動かしたいプリムにllSetRot()なりllSetPrimitiveParams()なりを入れておき、親プリムからタイマー等でリンクメッセージを送ってやればとりあえず動くはずです。(Rezでも装着でも)
それでも動かないor動きがおかしいのであればスクリプトの組み方自体に問題あるのかもしれません。

公開して問題ないのであればコード自体をこちらへ書き込んでみてはいかがでしょうか?でないと、どこがわからないのかがわかりません(^_^;
Posted by DI at 2008年04月28日 08:19
クマノミさん、こんばんは。

装着するタイプもREZするタイプも、動かし方は同じで大丈夫ですよ。
スクリプトの書き方によって、ルートプリム側で制御しているか、子プリム側で勝手に動いてるかなどなど、いろいろやり方はあると思います。
試しにREZして動いているペットを、無理やり装着しても動いていますよね?
(違うイベントをきっかけにしているかもしれないので逆はびみょーです)

顔だけリンクできないというのが、どういう状況かわかりませんが、本体がTEMP属性で顔をREZしてるんじゃないですか?
例えば60秒おきに微妙に位置を変えてREZしていれば、動いたように見えることになります。ただし60秒たたないとREZしたものが消えないので、頻繁に動くようでしたらこの方法ではないですね。
Posted by ささぴ at 2008年04月29日 18:57
何日かコメントがなかったので、今気付きました。申し訳ありません。

Rezして動かすネコや魚など作っているので、リンクやスクリプトは理解しているつもりなのですが、最近見かけたペットで、胴体とは別に、顔と耳、目、口などがくっついて動くものを見ました。もちろん、全体としての移動などもしています。

つまり、足や尻尾のような単体プリムではなく、複数のプリムをひとかたまりに動いていました。
連れて歩くタイプですが、装着型のようでした。

また、抱くタイプのペットでも、そのような動きをしているものを見ました。

どのようにしてそう動くのかが知りたいと思い、投稿しました。もし、ご存知であれば、ヒントを頂けると嬉しいです。
Posted by クマノミ at 2008年05月11日 22:13
たとえば鳥などは、羽をパタパタさせているように見えますが、
あれは動かしているのではなくて、Alphaで表示・非表示を順番に切り替えて動いているように見せているだけです。
Posted by トシ at 2008年05月17日 10:49
コメントありがとうございます。

今回の質問は、Rezするタイプのペットではなく、装着するタイプのものに関してなんです。
Rezするものの限界はリンクにあると思っています。つまりリンクの階層化ができないために、全部一緒か、個々のプリムでしか動かせないという制約が大きいですね。
たとえば、犬なら、顔と耳と目と鼻と口だけを一つのリンクにして動かしたいのですが、それができないですよね。

装着するタイプのもので、その顔と目と耳と鼻と口をひとつに動かしながら連れて歩いたりするものや、抱くタイプで同様に顔とその他をひとつに動かしていながら胴体は動いていないものを見たもので、どうやって作るかを知りたかったのです。

すごく知りたいので、ご存じの方がいらっしゃったらお願いします m(_ _)m
Posted by クマノミ at 2008年05月17日 22:08