2013年6月1日土曜日

AnimationOverride関数

こんばんは、こんじょおです。またちょっとゲームをやっている間に夏ですよ。


今回は私はLSL素人だという予防線を念頭に置いてお読みください。

AO用のLSL関数が知らない内に実装されていたので試してみました。
実装されてからそれなりに時間が経ってますのでエロい人がZHAO的なフリー品を放出してるだろうと軽く検索するも見つからず自作。

実に軽快な動作です。

LSL知らない方にそもそもZHAOとは何をしているかざっくりと説明するとですね
・装着しているアバターが現在何のアニメを再生しているか調べる→
・該当アニメに上書きするように設定されているか調べる→
・設定されている場合そのアニメを再生する
というのを標準だと0.25秒に一度やってるアレです。
この頻度のおかげでAOは重いと言われていたわけですが、Override関数を使うと
・装着した時に標準アニメそのものを書き換える
で、終わりですのでラグの原因にはならないのです。今後イベント時に「重いからAO切れ」と言う時は注意が必要です。
標準以外のアニメをDLするから帯域喰うだろバーカですか知りません

又、標準アニメそのものを書き換えますので、アニメの優先度を4にしないと標準アニメに上書きされちゃう現象も回避できます。
手持ちアニメが仕込まれた装着品等の事を考えると、AO用のアニメは優先度3以下がよろしいのではないかと。
ZHAOの時にあった操作時の微妙なもっさり感もなくなりました。

ここまではいいんですが、さすがLindenきれいに終わりません。

Wikiにあったサンプル文のここ
    attach(key id)
    {
        if ( id ) llRequestPermissions(id , PERMISSION_OVERRIDE_ANIMATIONS);
        else if ( llGetPermissions() & PERMISSION_OVERRIDE_ANIMATIONS ) llResetAnimationOverride("ALL");
    }
装着されたらOverrideの権限を求め、外す時にoverrideの権限を持っていれば全ての設定をリセットする
という意味ですが
外す時はすでにoverrideの権限が開放されており、当然その後の設定リセットがなされません。
権限が開放されてますので
else llReset~と外す時に問答無用でリセットと書くと、「権限もっとらんぞキサマ」エラーが出ます。
ですので、外す時に再度override権限を取得し、設定リセットとやる手間が。
これ書いた人試してねえだろですよ

二つ目。PreJumpとJump

私がAOを作る時は上記の二つは一つのアニメを共有しているのですが、override関数でこの二つに同じアニメを割り振るとですね
prejumpの溜めが無視されます。
0.5秒ほどの溜めを想定して作ったアニメですので、見た目がおかしい事に。ついでに時々固まります。
んじゃちょっとの手間とうp代を支払ってprejumpとjumpを別アニメにしてそれぞれに割り振れば解決だよなーと思えばどっこい
prejumpとjumpの間に謎の間ができます。
どうもprejumpの前のアニメがひょっこり顔を出してるような感があります。ものすごい違和感です。

色々試しましたが、結局
溜めを作ったjump用アニメをjumpに設定し、同アニメの冒頭を切り取ったアニメをprejumpに設定。その上で
control( key _id, integer _level, integer _edge ) {
    if ( _level && _edge & CONTROL_UP) {
        if(!(llGetAgentInfo(Owner) & AGENT_IN_AIR)){
            llStartAnimation("Jump用アニメ");
        }
    }
で、無理やり謎の間をjumpアニメで上書き。
これだと溜めが無視されたりされなかったりで気持ち悪いんですが固まったり謎の間が出たりするよりはマシかと妥協。
エロい人ならもっとスマートなやり方を思いつくでしょうからそれまで我慢。がんばれエロい人!
動作は軽いのでWyvernのAOはこっちで組もうと思います。それまでになんとかしてくださいエロい人!!

手持ちで不具合出ても困らない品、という事でえび尻尾とトカゲ足をoverride関数使用に置き換えました。
トカゲ足にはjumpも追加しました。
マーケットプレイスのも入れ替えましたので、ラグ無縁のAO体験はこれでどうぞ。
https://marketplace.secondlife.com/p/5-Joints-on-Legs/4683136

Wyvernの進展状況
wy04
お気にの音楽が流れると踊りだすインコの動画の再現っぽく。

Walk/Run/Crouch/CrouchingWalk/TurnL.R/softLanding/Landing/Jump
上記9種のアニメがひとまず終わり。
残すはHover/Hovering Up/Hovering Down/Fly/Falling Down/Standing Up
6種ですね。
StandとSit関連は思いつくだけ作ります。10種ぐらいでしょうか

アニメはあと一週間もかからないはずですが、メッシュ部分が細部の作りこみもUV展開もテクスチャ作成もまだですので、発売はもーちょい先です。

テクスチャは適当にすませてMod用素体として出すっていうのも有りですねえ、楽ですし。

2013年5月6日月曜日

Wyvern 2

こんにちは、こんじょおです。ごぶさたしてました。

ここの所はゲームしたり他の物を作ってたりでSLから離れてました。

 

一段落したので作業再開です。

wy03

ポケモンにこーいうのいたような。

 

体の大まかな造型とウエイト調整が終わり、アニメに取り掛かろうかなー

って所で別ゲームで遊び始めたんでした。

 

基本アニメ一式作りつつ、それに合わせてメッシュ調整、それからUV展開・テクスチャ作成し、AO構成。

五月中に終わらせる勢いでちゃっちゃとやっちゃいましょう。

 

作ってた他の物

人様のデザインを無断で立体化したのは二度目ですが、前回よりは似せられました。

ちょっとは成長してるっぽいです。

2013年4月8日月曜日

Wyvern 1

こんばんちは、こんじょおです。

1$99円です。何もしないで年収増えまくりです。ヒャッハー!

 

5関節足のアバター第一弾として、飛竜を作り始めました。

wy01

昔作ったハーピーのアニメを再生させての撮影。

 

普通に人型でつまんないとか、蛇のが面白そうじゃないか、とかの心の声を

ハーピーのきぐるみを作ればアニメ共有出来るじゃないかとの打算で押さえこんでの作業です。

 

ある程度メッシュを作り、アニメ一式を製作し、メッシュ調整・テクスチャ貼りと進めます。

 

課題がひとつ。

以前、市販のヤギアバターを解体して遊んでいた時、パーツを別けても繋ぎ目がわからなかったので真似しようと思ってました。

wy02

駄目でした。

何かやりかたあるんでしょうし、もう一回解体してじっくりたっぷりぱくっ勉強します。

2013年3月29日金曜日

実践 3 トカゲ足

こんにちは、こんじょおです。

こう頻繁に記事を書くと冒頭の挨拶の文句に困ります。

 

前回の虎改造の結果に納得がいかなくて、Ankleより先を長くすればよさげに見えるのではないかと思い、長めのを作ってみました。

とかげ足

etc133

まだ微妙。

恐竜のように極端に大きいならこのバランスでも効果が感じられるかもしれませんが、人サイズだとどうにも。

これよりも足先の比重が大きいとなると、鳥ですかね。ハーピーリメイクですか。

 

これもマーケットプレイスに人魚脚と一緒においておきました。

https://marketplace.secondlife.com/p/5-Joints-on-Legs/4683136

アレな見た目は気が向いたらなんとかします。

 

今回発覚した問題。

etc134

前回で通常アニメを再生しても問題無いと書いたのですが、ありました。

通常の関節の並びは Hip-Knee-Footで、5関節の場合は Hip-Knee-mAnkle-mFoot-mToeです。

で、追加関節のメッシュに通常アニメを再生するとmAnkleの関節がFootの役割をします。

改造虎はFootとmAnkleが同関節でしたので発覚しませんでした。

FootとmAnkle関節の位置がそれほど離れてなければそうでもないでしょうけど、今回のとかげ足だと目立ちます。

mToe関節だけを追加するなら問題は無いんですが、つま先だけ動かせてもつま先立ちチッスぐらいにしか使い道ないですし、

人型だと改造虎のようにFootの先に2関節を追加しても使い道ないですし。

 

Bvh書き出し時の問題もありますし、この仕様が一般化する事はない気がします。

私は使いますけども。

顎開閉にskullを利用した方はいらっしゃいますが、5関節足を採用した商品は私の知る限り存在しませんので、もし私が作れば

私がパイオニアコロンブス初めての人ですから。燃える!

 

何を作りましょうかねえウフフ

2013年3月27日水曜日

実践 2 虎改

こんにちは、こんじょおです。

ウチの近所でも桜が咲いていました。春ですね

 

引き続き5関節足のテストです。今回は虎の足を改造しました。

BC27

肉球を隠せるようになりました。地味です。

 

Walkのアニメを調整して並べたのがこちら。

正直、微妙。言われないと気づかないんじゃないでしょうか。

もっとAnkleより先の部位が長いモノ、ドラゴンやら鳥やらなら顕著なんでしょうけど、

NukoAO用のきぐるみ改造の場合は手間に見合う成果はない気がします。

 

今回発覚した問題点

 

やっぱりPoserからBVHを書き出した時におかしくなりました。ちょっとめんどい。

BC28

使用した追加関節のアニメを止めてもAnkleとToeはデフォルト位置には戻りません。Footは上書きされます。

NukoAOの場合は、AOを止める時と外す時にデフォルト位置に戻すアニメを再生すれば問題は無いのですが、

バラ売りされているアニメでAOを自作する場合に混在させると支障が出るでしょう。

アニメをバラ売りしない私には関係ないですが。

 

昨日寝ている間に気になった問題の検証

・5関節用に作られたメッシュで通常関節用のアニメを再生した場合どのような挙動が起こるか

→問題無し。Ankle関節にFoot関節の数値が適用され、Foot,Toeは動かず。

・通常関節のアバターに5関節用アニメを再生した場合は

→Ankle,Toeは無視され、他部位は通常通り。

 

内部処理用の関節の名称が違うのでAnkleより先が動かないんじゃないかと予想してましたが、意外でした。

実は爪先曲げられるんだぜ人間アバターを作ったら通常アニメが使えなかったでござる問題は起こりません。

書いてて思いましたが、人間アバターの足に関節が五つあっても使いませんねえ。

爪先立ちしながらチッスするアニメで爪先が曲がります。すごいでしょ!っても同意は得られないでしょうし。

 

ウチの商品で最も関節を増やす恩恵を受けるのは、ハイテヤンヨですね。

腕に見える部分が実は足なのですが、この関節が3→5に、後ろの足部分の関節が3→4に増える事でより滑らかな触手に。

誰得でしょうか。俺得ですけども。

今年のハロウィンの時に調整しましょうかねえ…

 

で。

 

二足歩行柴犬の顎を動かす為に始めたハズが何時の間にやら5関節足の検証になってました。

虎の改造結果がよければ柴犬より先に虎をいぢろうかなあと思ってましたが、アレでしたので。

じゃあ柴犬を作るか、というとせっかく5関節足が作れるようになったのに活かさないのもなんですし。

なら5関節足な柴犬を作れば、となりますが、5関節足用のアニメが無いと意味ないですし、今のところ作るのは私だけですし、人型のアニメめんどいですし。

上でも書きましたが、5関節足を最大限に活かせるモノが作りたいなあ、と。

 

さて、どうしましょう。