2007年10月01日
スキンチェック&DiamondSmileデモビデオでござる
写真は15回目アップのスキンでござる。
様々に手を加え質感等の変化しおるをお分かり頂けるであろうか?
先ほどRunarin殿にチェック頂いき申した処、テカリの光が白すぎること、眉と唇がまだまだ、肌の色も今ひとつ等、手厳しい指摘を受け申した。
ようやく感じは掴めて来た故、次回はバッチリ決め申すと大見得を切って別れ申したがさて、結果は?・・・
前回の口パクテストのビデオアップついでに、Runarin殿企画依頼にて共同販売中のDiamond Smileのデモビデオをアップ致したので重ねてご覧あれ。
前回同様、クライアントファイルメニューのディスクへの録画の開始/停止にて保存場所をC:\SLmovie(マイドキュメント等階層が深いと録画されないことあり)に設定いたし、コーデックにMicrosoft Video1(上手くいかないコーデック多数あり)を選択いたして録画せしaviファイルを昨日の記事にて紹介いたした携帯録画君でのMP4ファイル(Quick Time Playerにて再生)への変換法にてアップ致し申した。
クライアントでの録画では処理が重く画質を落としてもスムーズな動画では取れない故、キラリの風囲気は違い申すが機能を了解頂けよう。
アップ致したムービー(リンク先記事下のアイコン2つ)ではスピードが速くなり忙しなげに見え申すが、実際には具合良きタイミングでござるよ。
右側に映りおる青いボールはHUDにて、こにおモードではランダムに7~10秒おきに自動的にDiamond Smail致すのじゃ。
緑モードではタッチ毎にDiamond Smile,赤モードではストップ。
各モードへはボールを長押し致しおると色が変わって移動でき申す。
赤のストップモードではタッチ致せばすぐに緑モードへ移動致す次第。
非常に簡便な操作体系を採用致しおり、使用に迷うことはないと存じ申す。
キラリが二つのパターンと沢山キラキラ致すものと2パターンをアップ致し申した。
一つだけのパターンもあり申すが、取り敢えずはこれだけ、それぞれにノーマルとストロングのフェイスライトバージョンがあり、3×2=6バージョンが商品化されおるのじゃ。
如何でござろう?
装着いたしおればインパクトキラリスマイル炸裂で良き気分じゃよ。
勿論、紹介いたせしは宣伝もくろみでござる。
どうぞショップへお立ち寄りのほどを。
2007年09月29日
口パクテスト映像をご覧あれ。
先般口パクテスト用スクリプトを公開致したが、わざわざ試される御仁もそう無かろうと推量致し拙者が試しおるムービーをアップ致したのでご覧下され。
本格的に使用致すには表情アニメと切り替え間隔秒数の調整が必要でござるが、さような調整をなさずとも結構遊べるのでござるよ。
使い方は前の記事をご覧いただきたいが、このムービーはでたらめに表情アニメを選択致し、切り替え秒数は0.5秒にて試たるもの。
はじめに上目遣いにて打ち込み致しおるは、これまたデタラメにアルファベットのまま口パクさせる文字列を打ち込みおるのでござる。
チャットモードで試しおる故、チャット致すと口パクが始まるのじゃ。
兎も角ご覧あれ。(リンク先記事の下にビデオアイコンあり)
ああ、ムービーはMP4じゃてQuick Time Playerを使ってくだされ。
SLクライアントの動画保存機能にて撮影したる68.4Mものムービーをフリーソフトの携帯変換君にて何と592Kバイトに変換されたものでござる。
ストリーミングではアップできなんだ故、ファイルアイコンをクリック致して開くにて再生もしくは一旦ダウンロード致してご覧下され。
セカンドライフで動画を録るとSLで再生できるmov作成方法にて方法を取得致したよ。
2007年08月18日
手パターンひと段落にて次は口パク探索じゃ

Seagel殿のご指摘もあり、静止しおるT字ポーズに「手パターン」を設定致したパーツモーションをアップロード致し置いて、様々な腕の動きのジェスチャと自在に合成することは無理と分かり申した。
つまりは腕のパーツモーション毎に「手のパターン」を設定してアップロードせねばならぬということで、手間が掛かり自由度も無くなり申すが仕様上已む無しとひと段落付け、次なる「口パク」攻略へ突入致す。
これについてもSeagel殿のコメントにて
「口パクは表情を組み合わせて口の開く大きさを調節し、タイマーあるいはスリープで感覚を調整します。」
との手がかりを頂いており、まずは口パク利用に適当な表情を探索するが肝要。
これには、前の 「アバターの表情変更の謎が分かり申したぞ!!」記事にトラックバック頂いた「jinkoさんSL日記」に表情を順繰り変化させるスクリプトが記載されおるのでこれおば借用御免仕る。
各表情写真も記載されておるが、タイマーセットの時間確認の要もありチェックし申す。
スクリプトは以下の通り。
list lstSmileAnimations = [
"",
"express_afraid_emote",
"express_anger_emote",
"express_bored_emote",
"express_cry_emote",
"express_disdain",
"express_embarrassed_emote",
"express_frown",
"express_kiss",
"express_laugh_emote",
"express_open_mouth",
"express_repulsed_emote",
"express_sad_emote",
"express_shrug_emote",
"express_smile",
"express_surprise_emote",
"express_tongue_out",
"express_toothsmile",
"express_wink_emote",
"express_worry_emote"
];
integer iAnimeNo = 0;
string sAnimePlaying = "";
default {
state_entry() {
llSetTimerEvent(0);
llSetColor(<1,0,0>, ALL_SIDES);
llSetText("",<0,0,0>,0);
}
touch_start(integer total_number) {
llSetTimerEvent(0);
if (! (llGetPermissions() & PERMISSION_TRIGGER_ANIMATION)) {
llRequestPermissions(llGetOwner(), PERMISSION_TRIGGER_ANIMATION);
}
if (iAnimeNo < llGetListLength(lstSmileAnimations) - 1) {
iAnimeNo += 1;
llSetTimerEvent(5);
llSetColor(<0,1,0>, ALL_SIDES);
llSetText(
"No."
+ (string)iAnimeNo + ": "
+ llList2String(lstSmileAnimations, iAnimeNo),
<0.5,0,0>, 2.0
);
}
else {
iAnimeNo = 0;
llSetTimerEvent(0);
llSetColor(<1,0,0>, ALL_SIDES);
llSetText("",<0,0,0>,0);
}
}
timer() {
if (sAnimePlaying != "")
llStopAnimation(sAnimePlaying);
if (iAnimeNo > 0) {
sAnimePlaying = llList2String(lstSmileAnimations, iAnimeNo);
llStartAnimation(sAnimePlaying);
}
}
}
このスクリプトをなにか適当なオブジェクトに入れて、じゃまにならないトコに装備すればテストできます。HUDでもいいかも知れませんが、ワタシは、背骨(spine)につけてみました。(jinnkoさん記事より)
チェックの結果は記事写真の通り。
感覚で母音と状況表現を入れて見申した。
これを元にスクリプトで口パクを表現できるように奮闘するのであるが、本日はここまで。
2007年08月17日
Seagel殿にご指摘頂いてTpose開眼!

ジェスチャ作成1フレーム目T字ポーズで不具合がありおった・・
の記事にて1フレーム目をTposeに致して左腕を上に振るアニメーションをアップロード致したところ、アップロード画面での普通立ち女性がだらりと下げた左腕を水平くらいまでにしか振ってくれない「不具合」を報告致したが、seagel殿よりコメントにて下のご指摘を受け申した。
はじめまして。
アップロード画面で普通立ちしているのは、ビルトインの立ちポーズが再生されている状態が示されています。
「第一フレームの位置から動いているところをモーションとして認識する」のですから、TPoseの位置からスタートするためには、スタートとなる第二フレームの左肩、左腕に微妙に動いたキーをふる必要があります。普通立ちが初期状態ではなく、スタート位置(第二フレーム)のキーがふられていないために普通立ちに上書きされてしまったものと思われます。
Posted by Seagel at 2007年08月17日 08:27
何と、アップロード画面の女性ジェスチャに上書きされるとは思わぬ事態であり申した。
早速Poserに先のBVHファイルを読み込み左肩のモーションをチェック致したら、2フレーム目から動いており申した。
うぬぬ・・・これは異なること・・
と固まってござるが肩の回転パラメーターは3つあるを思い至り確認いたしたら全フレーム静止したままのパラメーターがあり申した。
これをも動かす必要ありか?
と回転を付けBVHに書き出してアップロードを試みれば相変わらずのモーションであった・・・
う~~む・・・
肩が動きおれば子である上腕・下腕・手も全て動きおるのに何故?・・何故じゃ!!・・??・
・・・?・・??・・・・????・・??・?
!!!もしや上腕・下腕・手のパラメーターも全て動かさねばならんのか!?
とそれぞれ3つある回転パラメーターをチェックし、静止しているものを片っ端から動かして再々BVH書き出し~アップロード致したら、見事Tposeの位置から上へ手を振ったではござらんか!
上の写真がその証、Seagel殿今後ともご教授の程宜しくお願い仕り申す。
2007年08月17日
Tposeジェスチャアップロードにて手パターン獲得?
「シコもどき」アニメーションをPoserにて作成の図
左腕だけが動いておるパーツモーションを「お辞儀」と「満面の笑み」と同時実行してアニメーションを合成することに成功したが、その伝で、Tposeで静止しおる10フレームのBVHファイル(2フレームでは再生されずアップロードされなかった)を最高優先度4に設定して手のパターンを選択設定すれば、他のジェスチャと同時実行したときにTposeで設定した手のパターンで合成されるのではと考え申した。
早速、静止Tposeをアップロードすると再生されないではないか!
どうやら、1フレームと全く同一のままではダメらしい・・
左腕だけ動かしたパターンでいけたのじゃから、それでは左手首だけに分からない程の動きを付けて再度アップロードすれば?
と試せばOKじゃった。
喜び勇んで「Tpose(両手指差し)」「お辞儀」「満面の笑み」を同時実行すれば何と!「Tpose」は無視されて「お辞儀」と「満面の笑み」のみが同時実行されおった。
これで両手指を指しておれば狙い通りじゃがそうではなかったのじゃ。
う~~む・・・
実は、先ほどのTposeアップロードの再生画面でも選択した手パターンが再生されないトラブルが出ておったが、余りに動きの少ないパーツモーションではうまく合成されないようじゃ。
しかし、ワシが欲しいのはアップロ-ド時に選択した「手のパターン」のみであり、それだけを得たいがために静止ポーズにして最高優先度4に設定おるのじゃから手以外の動きを付けるわけにいかんのじゃ(やむなく妥協したけど)・・・
同時実行致す他のジェスチャやアニメーションに自由に「手のパターン」を付ける野望が・・・が・・が・
かような次第で「手のパターン」「瞬き」「口パク」の謎解明は頓挫しており申す。
表情同様スクリプトにて操作できると思うのじゃが未だ情報に行き当たらんのじゃ・・
手掛かりがあれば是非ご伝授下され。
たった今、吉祥寺ショップの「夏祭り協賛0L$セール」のセッティングを終え申したので是非お寄り下され。
新アニメーションとして「シコもどき」を2階のアニメパッドに入れましたぞよ。
2007年08月14日
ジェスチャ作成1フレーム目T字ポーズで不具合がありおった・・

アップロード再生画面とPoser画面
プロフィールにマシニマ制作への関心を書いておるが、そのための便利ツールとして、表情や手の形だけでなく腕や足、頭部や胴体の部分ごとのモーション(パーツモーション)を組み合わせてオリジナル アニメーションを多様に作れる、アニメーション合成HUDを作れないかと思い立ち申した。
かなりの難物に思えるが、そのためのテストに、パーツモーションとして左腕だけ振っておるアニメーションをT字ポーズを第一フレームとして制作し申した。
左腕がアニメーションする以外、他の部分は第一フレームの位置から動かさない作り。
SLにアップロードされるジェスチャは第2フレームをスタートとするが、第一フレームの位置から動いているところをモーションとして認識する趣旨の記事を読んだ覚えがあった故、このように制作すれば動かした左腕以外はアニメーション無しと扱われるかと考えたのじゃ。
そうであればアップロード時の優先順位として最高の4を選択しておっても左腕以外の部分はアニメーション無と扱われ、同時実行させる他のジェスチャのアニメーションが適用されるハズ。
これがうまくいけば、足や胴体などのパーツモーションを同時実行してパーツモーションを組み合わせたアニメーションを作れるはずという仕組みじゃ。
在庫目録に初期登録されておるbow(お辞儀)の右クリック~開くによりジェスチャ作成画面を呼び出し、ここでアニメーションを追加してお辞儀の他、アップロード致したパーツモーションの左腕振りと表情の笑顔を同時実行させる設定に致し実行すれば狙い通り「笑いながら左腕を振ってお辞儀する」ジェスチャとなり申した。
パーツモーション発想がOK故アニメーション制作に励めばよいが、問題はスクリプト。
試行錯誤を重ねつつ暗中模索する他なしの覚悟でござる。
さて、アニメーションのアップロードにつき一点発覚した事態があるので記し申す。
Poserにて第一フレームをT字ポーズに致して作成したBVHファイルをアップロード画面にて再生致すと記事写真のようになったのでござる。
Poserでは左腕を水平状態から上に振り上げるのであるがアップロード画面では下から水平の間にしか振っておらぬ。
察するところ、アップロード画面の女性の初期姿勢は両腕を下げた普通立ちしておるが、アップロードしたBVHによるモーション情報を、T字立ちではなくこの普通立ちの腕の位置を初期状態としたオッフセット(違い・変化)情報で処理しているのであろう。
このせいで、下にさげた手からスタートして水平くらいまでしか手をふってくれない。
第一フレームを普通立ちにして作りアップロードし直してOKじゃった。
T字立ちを第一フレームにするのは考え物のようじゃ・・・
2007年08月13日
20秒に及ぶ格闘長尺アニメーションをご覧あれ

ワンポイント的なジェスチャでは物足りのうて長尺アニメーションが欲しくなり申した。
どんなアニメを???・・
ハタと手が止まりおったが、そこで思い出されたのが学生時代の授業中、教科書にセッセと描いておったパラパラマンガであった。
マッチ棒のような線キャラの戦いを一冊の教科書に何作も書いておったものじゃ。
新たなページから前のページのキャラが透けて見え、オニオンスキンになっておったから動き具合を考えながらハイスピードで描き描きコ。
ほとんどが二人のキャラの戦いであった。
よし、それをやって見よう。
まずは一人でのシャドー格闘じゃが、後で相手のアニメーションを作ってアニメパッドを同時にスタートさせるとうまく戦いシーンとなれば面白そう。
ということで肩こりに圧(の)し掛かれられつつ239コマに及ぶアニメーションを仕上げたのじゃ。
フレームレートは毎秒12コマで約20秒、パンチキックを連発して飛び跳ねておるぞ。
アップロードしたのを観ると、Poserでの再生とスピード感やジャンプの高さ等が微妙に風囲気が違うが概ね再現されておる。
kakutou1が表示されているアニメパッドでTRY ON(お試し)出来るので是非ご覧あれ。
動く範囲が広くてkichijojiの店内では収まらんからアニメーション・フリースペース店(ここからGO)においており申す。
2007年08月11日
アバターの表情変更の謎が分かり申したぞ!!
ジェスチャをアップロードする時に表情と手のパターンを選択でき申すが、表情を色々に変化させるHUDがあり、どのようにしてスクリプトで表情を変化させられるのかが謎であった。
Ctrl-Alt-Dを同時に押せばクライアントがデバッグモードとなりて上部メニューにClientとServerメニューが現れ申すが、Client~CharactorにてAnimation Infoなるを見つけオンにすれば頭上にアニメーションらしき情報が表示されるようになり申した。
どうやら実行されているジェスチャや表情が逐次表示されおるものと察し、アタッチメントを作成してタッチすればアニメするスクリプトにて実験した処、表情を変化させられると分かり申した。
bow(お辞儀)やclap(拍手)といったジェスチャ名や手足のモーション名なども表示されおり、さては手のパターンもこれにて操れるかと試しもうしたが残念ながらジェスチャ名と表情名のみがスクリプトで有効であり申した。
実験に使いしはこのスクリプトでござる。
default
{
state_entry()
{
}
touch_start(integer detected)
{
llRequestPermissions(llDetectedKey(0), PERMISSION_TRIGGER_ANIMATION);
}
run_time_permissions (integer perm){
if(perm & PERMISSION_TRIGGER_ANIMATION ){
llStartAnimation("Sitting On GroundCst");
llStartAnimation("express_toothsmile");
}
}
}
太字部分が記事写真で実行されおるアニメーションと表情じゃ。
初期登録されおるジェスチャは名前の記入だけで実行され申すが、本例のSitting On GrondCstようにアップロードしたものはプリムのコンテンツ内に入れる必要あるもよう。
上のスクリプトは写真の左手首についておる茶色いリング内に入れており申す。
アタッチしてもしなくても作動いたすが、アタッチしていない場合はタッチいたせばパーミッションダイアログが登場いたす。
上のように複数のジェスチャを同時に実行させることも可能じゃが、ジェスチャと表情ならその表情でジェスチャいたすが、ジェスチャ同士なら短いジェスチャが先に実行され、それが終えると長いほうのジェスチャの始めからではなく残り時間分のジェスチャが実行されるようじゃ。
更に、ループジェスチャがあると時間の長短に関らずループジェスチャだけが実行され続けるのじゃ。
上例のSitting On Groundは胡坐をかいて座って後ループして座り続けるジェスチャで、写真のように表情はニンマリ笑ってくれおる(expression_toothsmile)が胡坐座りループが解けんで、移動しても胡坐のまま動くのじゃ。
よってループを解く対処が必要じゃが今回はそこまでは調べておらん。
在庫目録にあるすべてのジェスチャ・アニメのAnimtion Infoをチェックしたところ19の表情名があったが、これはジェスチャアップロード時に選択できる表情の数と同じじゃ。
つまり、同じ表情であるのじゃろう。
両者の対応は下の通り、間違いがあれば御免致す。
[None]
アーーーーー express_open_mouse(大口開け)
恐れ express_afraid_emote
怒り express_anger_emote
満面の笑み express_toothsmile(ニンマリ)
退屈 express_bored_emote
泣く express_cry_emote
侮蔑 express_disdain(両目つむりで軽蔑する、尊大さ)
困惑 express embarrassed_emote(バツ悪い、当惑した)
しかめっ面 express_frown(眉吊り上げて不機嫌、しかめ面)
キス express_kiss
笑う express_laugh_emote
plllppt express_tongue_out(両眉しかめてベロ出し)
嫌悪感 express_repulsed_emote(両眉両眼口しかめ少し歯見え)
悲しい express_sad_emote
肩をすくめる express_shrug_emote(やれやれ)
笑み express_smile(口閉じスマイル)
驚き express_surprise_emote
ウィンク express_wink_emote(左目ウインク笑顔で)
心配 express_worry_emote(心配顔)
これらの表情名を上のスクリプトのアニメーション名のところに入れ替えれば表情が変化いたす。
表情はスクリプトに書くだけで動作いたすよ。
これで表情HUD制作の手がかりが掴め申したであろう。
手のパターンと口パクも欲しいところじゃが今のところワシにも謎じゃ。
情報があればお伝え下され。
Ctrl-Alt-Dを同時に押せばクライアントがデバッグモードとなりて上部メニューにClientとServerメニューが現れ申すが、Client~CharactorにてAnimation Infoなるを見つけオンにすれば頭上にアニメーションらしき情報が表示されるようになり申した。
どうやら実行されているジェスチャや表情が逐次表示されおるものと察し、アタッチメントを作成してタッチすればアニメするスクリプトにて実験した処、表情を変化させられると分かり申した。
bow(お辞儀)やclap(拍手)といったジェスチャ名や手足のモーション名なども表示されおり、さては手のパターンもこれにて操れるかと試しもうしたが残念ながらジェスチャ名と表情名のみがスクリプトで有効であり申した。
実験に使いしはこのスクリプトでござる。
default
{
state_entry()
{
}
touch_start(integer detected)
{
llRequestPermissions(llDetectedKey(0), PERMISSION_TRIGGER_ANIMATION);
}
run_time_permissions (integer perm){
if(perm & PERMISSION_TRIGGER_ANIMATION ){
llStartAnimation("Sitting On GroundCst");
llStartAnimation("express_toothsmile");
}
}
}
太字部分が記事写真で実行されおるアニメーションと表情じゃ。
初期登録されおるジェスチャは名前の記入だけで実行され申すが、本例のSitting On GrondCstようにアップロードしたものはプリムのコンテンツ内に入れる必要あるもよう。
上のスクリプトは写真の左手首についておる茶色いリング内に入れており申す。
アタッチしてもしなくても作動いたすが、アタッチしていない場合はタッチいたせばパーミッションダイアログが登場いたす。
上のように複数のジェスチャを同時に実行させることも可能じゃが、ジェスチャと表情ならその表情でジェスチャいたすが、ジェスチャ同士なら短いジェスチャが先に実行され、それが終えると長いほうのジェスチャの始めからではなく残り時間分のジェスチャが実行されるようじゃ。
更に、ループジェスチャがあると時間の長短に関らずループジェスチャだけが実行され続けるのじゃ。
上例のSitting On Groundは胡坐をかいて座って後ループして座り続けるジェスチャで、写真のように表情はニンマリ笑ってくれおる(expression_toothsmile)が胡坐座りループが解けんで、移動しても胡坐のまま動くのじゃ。
よってループを解く対処が必要じゃが今回はそこまでは調べておらん。
在庫目録にあるすべてのジェスチャ・アニメのAnimtion Infoをチェックしたところ19の表情名があったが、これはジェスチャアップロード時に選択できる表情の数と同じじゃ。
つまり、同じ表情であるのじゃろう。
両者の対応は下の通り、間違いがあれば御免致す。
[None]
アーーーーー express_open_mouse(大口開け)
恐れ express_afraid_emote
怒り express_anger_emote
満面の笑み express_toothsmile(ニンマリ)
退屈 express_bored_emote
泣く express_cry_emote
侮蔑 express_disdain(両目つむりで軽蔑する、尊大さ)
困惑 express embarrassed_emote(バツ悪い、当惑した)
しかめっ面 express_frown(眉吊り上げて不機嫌、しかめ面)
キス express_kiss
笑う express_laugh_emote
plllppt express_tongue_out(両眉しかめてベロ出し)
嫌悪感 express_repulsed_emote(両眉両眼口しかめ少し歯見え)
悲しい express_sad_emote
肩をすくめる express_shrug_emote(やれやれ)
笑み express_smile(口閉じスマイル)
驚き express_surprise_emote
ウィンク express_wink_emote(左目ウインク笑顔で)
心配 express_worry_emote(心配顔)
これらの表情名を上のスクリプトのアニメーション名のところに入れ替えれば表情が変化いたす。
表情はスクリプトに書くだけで動作いたすよ。
これで表情HUD制作の手がかりが掴め申したであろう。
手のパターンと口パクも欲しいところじゃが今のところワシにも謎じゃ。
情報があればお伝え下され。



