2008年06月30日

touchでポーズ切り替え

はじめまして。 全くの初心者ですが、どうか宜しくお願いいたします。

商品で良く見かける、touchでポーズ(アニメ)が何種類か切り替わるソファーやレジャーシートを作成したいと思っています。
ポーズを仕込むまでは出来たのですが、「切り替わる」仕組みが分からず困っています。
是非そのようなスクリプトのサンプルを教えて下さい。

重ねての質問で恐縮ですが、例えばtouchで3種類のポーズを切り替えることが出来るソファーがあったとした場合、そのソファーには3人まで内蔵のポーズで座れる・・・ということになるのでしょうか?

回答お待ちしております。 どうぞ宜しくお願いいたします。


同じカテゴリー(スクリプト関連)の記事画像
オブジェクトのリンクとタッチで開く扉
自動チャットを止めたい
テレポートするとアニメーションが解除される
同じカテゴリー(スクリプト関連)の記事
 テクスチェンジの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 14:26 │Comments(6)スクリプト関連

この記事へのコメント
一つ目の質問に対しては、過去に挙げられた以下のQ&Aも参考にしてみてください。
http://oshiete.slmame.com/e114309.html
 
二つ目のソファに座れるアバターの数についてですが、これは登録されたアニメーションの数とは関係無いです。
ソファに座れる人数は基本的にはオブジェクトの大きさに依るのですが、スクリプトで座った時のポーズを特定のものにする場合は、1プリムあたり1人だけが制御可能です。
ですので、もしも多人数を座らせることができるソファを作る場合、各々の座面のプリムなどにスクリプトとポーズを仕込むようなイメージとなります。
Posted by asa Soyer at 2008年06月30日 17:49
ささぴ 様

早速の回答、ありがとうございます!
分かりやすく丁寧な説明、感謝いたします。
なるほど、私はてっきり単純に「切り替える」という関数が存在するものだとばかり思っていました。
そんなに簡単なものではないのですね。
切り替えるという作業には、アニメのリスト化に加え判断・停止・取得・開始とという流れそれぞれに対しての命令が必要だということですね。
大変参考になりました。
それと「内蔵アニメ数=sit出来るAV数か?」についてですが、色々な条件により結果が違ってくるということなのですね。
どんな条件だとどういう結果なのか気になるところですが、それはもっとスクリプトを深く理解しないと分かりそうもありませんね。
とりあえずは頂いた回答「違います」を元に、先に進んでみたいと思います。
本当にありがとうございました!
Posted by zinn at 2008年06月30日 21:00
asa Soyer 様

回答いただき、ありがとうございます!
申し訳ありません、関連しそうな過去記事はくまなく探したつもりだったのですが挙げて下さったQ&Aは見落としていたようです。
まさに私が知りたかったことが前出されていたようです、すみません。
しかし大変参考になります、教えて頂いたこと感謝いたします。
「ソファーに座れるAV数」についてですが、「1プリムあたり1人制御」ということですね。
ということは最近見かけるスカルプトプリムのソファーやクッションに複数で座ろうとする場合だと、ソファー部以外にスクリプト入りのボールをリンクさせたりすることになる・・・と解釈して良さそうでしょうか。
なるほど、色々考えて勉強してみます。
本当にありがとうございました!
Posted by zinn at 2008年06月30日 21:17
> ということは最近見かけるスカルプトプリムのソファーやクッションに複数
> で座ろうとする場合だと、ソファー部以外にスクリプト入りのボールをリン
> クさせたりすることになる・・・と解釈して良さそうでしょうか。
 
そうですね、ポーズ+スクリプト入りのボールをソファにリンクすることに
なります。
プリムに座らせる位置と向きはスクリプトのllSitTarget()という関数で設定
するのですが、この値を調整しながら確認しながら…というのは結構手間が
かかります。
ボールにしてしまえば、座らせた状態でボールを動かしーの回転しーので確
認できますので、丁度良い位置でソファとボールをリンクすれば済み、実装
が楽です。
また次の所有者に編集許可を与えておけば、渡した人や購入した人が、自分
の体格にあわせて自由に調整できるというメリットもあります。

ただ、人数分のプリムが必要になるので超省プリム設計を目指すのであれば
ソファ本体のsculptedプリムにもポーズ+スクリプトを仕込むなどの工夫が
必要かもしれませんね。
Posted by asa Soyer at 2008年07月01日 13:25
asa Soyer 様

返答ありがとうございます!
昨晩、お二方よりいただいたヒントを元に試作して無事動作確認出来ました。
しかし、おっしゃるとおりllSitTarget()という関数で設定するのが少し手間だなと感じました。
なるほど、ボールにしてしまえば確かに色々メリットもあるんですね。
参考になります!
省プリム設計と考えた場合、例えばソファーのアーム部分や脚部分のプリムなど、本来座らない場所にもポーズ+スクリプトを仕込んで上手く位置調整するのはどうか・・・など考えています。
まだまだ未熟で分からないことだらけなので、また壁にぶつかった際にはどうぞお知恵を貸して頂けると嬉しいです。
本当にありがとうございました。
Posted by zinn at 2008年07月01日 13:57
『スクリプトで座った時のポーズを特定のものにする場合は、1プリムあたり1人だけが制御可能』とお答えですが、 HappyMoodというSIMのお店の二階に置かれている、木製のサークル状の1プリムの椅子は、複数人が内側に向いて座れるようにスクリプトで制御されていました。 Many Auto Sit Cylというスクリプト名のようで、言葉通りなら、1プリムの物体に大勢座れるように制御していることになりそうです。どうやって実現しているのか、知りたくなってきました。
Posted by フレイヤ シャロン at 2008年08月31日 01:47
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。