nszwryuichiのブログスマートフォン用の表示で見るnszwryuichiのブログ気になったツールを試してみたりしたときの備忘録この広告は、90日以上更新していないブログに表示しています。2012-07-09Sleepimageってなんだ?MacBookAirのディスク残量が少なくなってきたので、不要なファイルを削除すべく、ファイルマネージャーツールを探してみた。いう無料ツールをインストール。どんなファイルがディスクを占有してるのかを視覚的に確認できる。ファイルの分類毎に色分けして、ファイルの大きさが面積で表示される。意外にも青いDocument系のファイルがたくさんあることがわかった。この中に、Sleepimageという4GBもの容量を使ってる謎のファイルがある。削除していいものかどうかわからないので調べてみた。下記のブログに詳しく書いてある。X」なるほど、スリープモードによってバッテリ切れした際に作業状態を保存しておくためのファイルらしい。Macを閉じる前に保存すれば不要ということだ。Windowsに比べるとMacってファイル管理の煩わしさからユーザーを解放していて好感が持てる。その反面、今回みたいにディスク残量を確保したいと思ったときに、どこに何のファイルがあるのかよくわからないから戸惑ってしまう。外部ストレージを買ってきて、ディスク残量など気にせず使うのがMacの正しい使い方なんじゃないかな。ファイルの整理をする時間を考えたら、ストレージ買ったほうが安いもんね。BVHファイルを探してみた2500ものモーションデータを無料で配布しているサイトをみつけた。カーネギーメロン大学が長年かけて研究用に採集したものが善意で公開されているらしい。2500以上のBVHファイルが17個のZIPファイルにまとめられていて、自由にダウンロードできる。全モーションデータのリスト(DAZ用)はこちら。残念ながらリストは簡単な説明のみで、どんなモーションなのかは再生してみるまでわからない。WALKやRUNだけでも100種類以上ありそうだ。インポートして再生して確認するのに1つあたり5分くらいかかるので、すべて見るには208時間、つまり約1ヶ月かかるという膨大な量だ。ご丁寧にこれらBVHファイルをDAZ3Dでインポートしてレンダリングしたのち、adobeのPremireでムービーを作成するまでの手順を説明したチュートリアルビデオまで用意されてる。DAZ3Dは資料が少ないので、これが思いのほか参考になった。インポートしてからFPSを変更すればいいのか。いくつかダウンロードして、DAZ3Dで再生してみた。重たい物体を引っ張る、立ったまま下に置いてある箱を上に持ち上げる、しゃがんでから箱を持ち上げる、ヨガのポーズ、ゴリラのまね、ゾンビのまね、ミッキーのダンス、野球、サッカー、授業中、などなど盛りだくさんである。は秒間120フレームでサンプリングされていて、さすが学術研究用だ。ダウンロードすると全データの一覧表がエクセル形式で入ってるのでこちらも参考になる。ダウンロードしたファイルの中にREADMEがあって、ライツについての説明があった。研究にも商業用にも無料で使用可能だ。BVHファイルをインポートしてFBXファイルにエクスポートする手順がわかったので、世の中にどんだけBVHファイルが落ちているのか調べてみた。その中のひとつがこのBVHファイル共有サイト「animstreet」だ。MokaStudioというスイスの会社が運営している。新しいサイトのようで、現在の会員数は1700人強、登録コンテンツ数は6,000超と表示されている。みんなが持ってるモーションキャプチャデータを持ち寄って、無料で配布したり、有料で販売したりできるようだ。面白いと思ったのは、陳列されたデータはすべて、その中身がわかるように実際にアニメーションして見せているところ。モーションデータを探したい人にとって、それがどんな動きをするのかわからないと手を出しにくい。このサイトはそこを解決している。試してみようと思い、会員登録をしてから無料のデータに絞り込んで検索し、どんなモーションがあるのか眺めてみた。すると、同じように見えても微妙に動作が違うものが並んでいたりして、いったいどこが違うのか比べてみたりするのが結構楽しい。そもそもこれはいったい何の動きをしているんだ?みたいのもあって、まるでジェスチャーゲームみたいだ。各データの詳細ページをみれば、何の動きなのか説明書きがある。上の画像はバスケットボールをドリブルしているモーションだ。いくつかダウンロードしてDAZ3Dにインポートしてみた。問題なくアニメーションできたよ。いうサービスがどんどん増えて、ありとあらゆるモーションが気軽に手に入るようになると、個人レベルでも質の高いムービーが作れるようになるね。BVHインポートについて追記しておく。Options」で何ができるのかを調べてみた。上記ダイアログに表示されるメニューについて、DAZのマニュアルを読んでみたが、そもそもこの方面の知識が無いので何を言ってるのかよくわからない。そこで、メジャーなMayaや3dsMaxにも同様の機能があるだろうから、そっちの解説記事を探してみたがみあたらない。しかたがないので、BVHフォーマットについて調べてみることにした。BVHの説明はこちらの記事がわかりやすい。MOCAPデータファイルなるほど、ボーン構造を定義する「ヒエラルキー」と移動座標を定義する「モーション」データの2層構造になってるらしい。テキストファイルなのでわかりやすい。実際にBVHファイルを開いて眺めてみた。各ボーンには名前をつけることができ、この名前が一致していれば、異なるモデルに対してBVHデータをあてはめてアニメーションさせることができるということらしい。Details」を開くと、ボーンの名前情報が一覧でき、マッピングするしないを選択できるようだ。マッピングの対応関係を確認したいときには便利なビュアーかもしれない。BVHのデータ構造が何となくではあるが理解できたので、再びDAZのマニュアルを読んでみた。次のようなことが書いてある。imported.BVHファイルで指定されているフレームレートを採用します。frames.DAZ3Dで指定しているフレームレートを採用します。最大フレーム数を越えた場合はいくつかのフレームが捨てられます。figure.BVHファイルで指定されている座標の移動をすべて無視してインポートします。used.BVHファイルで指定されている間接自由度を採用します。ONにするとアニメーションの速度を変えられるようなので試してみた。Pose&Animate画面、右下にある「FPS」を「20」にしてから40FPS指定のBVHデータをインポートしてみると、なるほどスローモーションになった。全フレームの約半分のところでアニメーションが終了してしまう。フレームが捨てられるとはこういうことか。最後まで再生してくれないのか意味がわからない。試しにBVHデータ内の総フレーム数定義を2倍にしてみたが何も変わらなかった。他にも変更しないといけない設定があるとしてもインポート時に自動でやってくれてもよさそうなものだが、そうでないところをみるとアニメーション速度を変更するためにあるオプションではないのかもしれない。ついてもONにして試してみた。フィギュアが移動せずに初期位置のままアニメーションするようになる。ボーンのローテーションだけがおこなわれるものだから、間接の限界を超えてアニメーションしてしまうようだ。同時にONにすることで解決するようだが、一部へんな動きが残る。どんなときにこのオプションを使うのかよくわからんなぁ。いうわけで、通常これらオプションはデフォルトのまま利用すればよいことになるのだが、誰かの役に立つかもしれないので書き留めておくのだった。無料でWebスペースがレンタルできて、アップロードするだけですぐにページを公開できる点が特徴だ。オープンソースの共有リポジトリとして作られたサービスなので、アップロードしたファイルはすべて公開されることに注意が必要。AWSのあのワケわかんないコンパネよりずっと使いやすい。使い方はこちらのブログを参考にさせていただいた。なく、バージョン管理ツールを利用する。使ってみることにした。これ、やたらに敷居が高い。GUIも一応ついてるんだが、コマンドラインでこういうツールを普段からなにげなく使っているエンジニアの方々には苦もなく使いこなせるのだろうが、ボクにはなぜこんなにわかりにくいツールを作ってしまうのか不思議でたまらない。アップロードする手順を簡単に説明。GUI上でコミットしたファイルをPush(originリポジトリへ送信)するアップロードに成功すると同時にページが公開されるのですぐさまブラウザで確認できる。1つ目のプロジェクトは無事にアップロードできたんだが、2つ目でつまづいた。Pushすると「IDとパスワードが間違ってます」というエラーが表示されてリポジトリに接続できない。そんなこと言われても、IDとパスワードを入力する手順がどこにもないじゃないか。1つ目では確かに入力用のダイアログが表示されたけど、今回はIDとパスワードを聞かれることがない。?どうやら2回目以降は送信先がRemotoへ登録されて、送信先入力の手順を省略できるようだ。GUIクライアントである「GitX(L)」をインストールしてみた。ユーザーインターフェイスが優秀であれば解決策が見つかるかもしれないと思ったのである。と何も変わらないではないか。ついてブログに書いてる人々はみなこういうツールに慣れてるみたいで、使い方を掘り下げた記事が見当たらない。使おうとする人は少数派なのかも。頭冷やすためにしばらく放置しる。3D@bardothodolさんのブログ「PerfumeのBVHデータをUnityで動かしました。Studioもインストールしたことだし、試しにやってみた。使ったフィギュアは無料配布されてる「Aiko3」。インストールするAMAZONでお買い物をする要領で無料商品を購入できる。DMメールが届くようになるがそれは仕方ない。4万円相当のソフトが無料配布されていることに危険な匂いを感じたが、いろいろ調べてみてフィギュアツール業界の勢力図がわかってくると「これは営業戦略なのだな」というのがわかった。本体は無料で配布して、データを売るというビジネスモデルを試しているのではないかな。任天堂が3DSを1万円値下げしたのと同じ理由だ。宣伝効果は抜群だろうし、販売されてるフィギュアデータは魅力的で欲しくなる。いうわけで無料であっても怪しくはない。用途は人それぞれだが、BVHをFBXへコンバートするための目的でインストールしておいても良いと思う。フィギュアの世界はいろんな意味で奥が深い。情報を探すためにエロいサイトも丹念に読まなければならず、自分がエロおやじになったような気分になるのでご注意を。Fighter」をダウンロードする・DSにはデフォルトでGenesisというフィギュアが入っているので、これを使っても良いのだが、なんとなく素っ気ないのでアニメ調のAiko3を使ってみた。・Genesisというのはご先祖様のようなもので、ここから派生していろんなフィギュアが作られている。Genesisにはモーフツールが備わっていて、背丈や体格を自由に調整できるのだ。・このGenesisを下敷きにして個性を付加したものが、Aikoとか、Michaelとか、Davidとか、Sadieなどのキャラクターであり、やはりこれらもStoreで販売されている。・販売されてるフィギュア関連データにはモデルデータの他にテクスチャやポーズや衣服などのデータがいろいろと同梱されている。Features」を確認したほうがいい。ほかの商品と内容が一部重複してることもある。購入しようとする商品がどのデータに付属するものなのかが示してあるので要チェックだ。・上記の表示はAiko4のチャートである。Victoria4がないと使えないことを示してる。Complateとか、Proとかを購入するとよい。・ダウンロードしたファイルを解凍するとインストーラが出てくるので、これを実行してインストールする。setting」を選択して実行すればよい。商品によってインストール後のフォルダ構成が様々で、本当にこのインストール方法で大丈夫なんだろうか?と不安になるが、DSにはこれらコンテンツファイルを管理する機能がついており、最初に読み込むときだけ「あのパーツはどこにあるんだ?」と探す作業が発生するが、以降はDSがコンテンツのある場所を覚えていて、使えるパーツを分類してメニューに表示してくれるようになる。・購入時、インストール時、フィギュアに装着する時にDAZの敷居の高さを感じる。各コンテンツの拡張性、汎用性を考えるとコンテンツデータの構成が階層的になる必然は理解できるのだが、このデータ構成の複雑さが敷居の高さにつながっていると感じた。これを越えるには何度か購入して経験を積むしかないようだ。3.Perfumeのサイトから3人分のBVHデータをダウンロードする・下記のURLからPerfumeのモーションキャプチャーデータ(BVH)とサウンドデータ(WAV)をダウンロードする。このとき利用規約への同意が必要。http://www.perfume-global.com/・これらデータは宣伝目的とはいえ提供者の厚意によりに公開されているので、次の約束を守ること。1.次のリンクを貼ってください。http://www.perfume-global.com2.twitterユーザはハッシュタグ(#prfm_global_site)を用いて作品をツイートしてください。3.私たちはウェブサイト上であなたの作品の主要な権利を保有します。(ちょっと意味不明)・提供者へ感謝しながらダウンロードしたファイルを解凍して適当なフォルダへ置いておく。(ダウンロードフォルダのままでもOK)4.DSでAiko3のフィギュアデータを読み込み、服や髪、顔のテクスチャなどを設定する・DSを起動すると、SmartContentタブのナビゲーションメニューPeopleに「Aiko3」が表示されるので、これを読み込む。on」を選択すればOK。登録アイテム数の上限設定があるようだ。・裸のままだとアレなので、Aiko3の着せ替えをする。顔のテクスチャを貼ったり、髪の毛をつけたり、服を着せたり、ブーツを履かせたりして体裁を整える。・各パーツは、フィギュアの部位を選択すると、その部位に装着できるパーツがSmartContentタブに表示されるのでこの方法でパーツを探すのが良い。・SmartContentタブに表示されないパーツは、画面右側のContentLibraryタブから探す。このとき、装着する対象はAiko3本体ではなく、髪の毛のパーツなので、髪の毛が選択された状態でなければならない。このあたりがわかりづらい。・また、何で髪の色のパーツが「Pose」フォルダにあるかというと、DAZにはポーズデータでテクスチャを変更する裏技?があるからだ(と思われる)。・この着せ替え作業の過程では、訳の分からない事態にいろいろ遭遇すると思うが、頑張って完成させよう。Animate」アクティビティに切り替えて、Fileメニューからimport...を選び、BVHファイルを読み込む。Optionsダイアログが表示されるので、デフォルトのままAcceptを選択。・読み込み終わったら、画面最下部にある再生ボタンをクリックして踊ることを確認する。OptionsダイアログでPropsとAnimationを含めて変換するように指定する。服とテクスチャをマージするチェックボックスもONにする。ちなみに服を含めると出力されるFBXファイルのサイズが2〜3倍になることに注意。・ちなみに、各FBXのファイルサイズは次のとおり。11.1MB7.Unityで適当なAssetを使ってステージを用意する・地面を置いて、skyboxを設定して、ライトを配置して、カメラの位置を決めて、フィギュアたちが踊る空間を用意する。お好みでAssetをいろいろ配置するとよい。FBXデータを3体分インポートする。・同様にしてダウンロードしたWAVファイルもインポートする。9.Perfumeフィギュアのプレハブが自動生成されるので、それらをステージに配置して再生する・インポートするとProjectビューに3DモデルのPrefabフォルダができるので、これをSceneビューへ放り込んでオブジェクトを作る。・このとき、フィギュアが服を着てるときとそうでないときでスケールが変わるようだ。3Dモデルのオブジェクトを配置したときに、巨大な足が表示されてびっくりした。いう場合は、PrefabのInspectorにあるScaleFactorで大きさを調整する。Optionsを3体とも同じ条件にすれば問題が出ないと思われる。・フィギュアの初期位置は3体とも同じ位置にすれば良い。このことに気づくまでずいぶん時間がかかった。Sourceに放り込めば自動的に再生されるようになる。・再生してPerfumeのダンスパフォーマンスを鑑賞しながらカメラ位置を調整する。・ちなみにUnityのスクリプトは1行も書いてない。・時間がかかったのはDAZのフィギュアデータの階層構造を理解するところ。階層構造というと大袈裟だが、フィギュア本体とテクスチャとポーズと衣服と小道具といったコンテンツが別々の商品として販売されていて、どれとどれを買うのがいいのかすぐにはわからない。今回はAiko3の無料パッケージに入ってるものだけで済ませることにした。・それと適切なカメラの位置を探すのにも時間がかかった。カメラを複数置いて切り替えようかとも考えたが、演出にこだわり始めるとキリがないので思いとどまった。・YouTubeにあがってる他の人のPerfumeDance動画をみると、地面にきちんとモデルの影が落ちてる。UnityのPro版を買えばわかるんだが、今は不明。今後の課題としておく。いつも多くの方々のブログにお世話になってるので、たまには自分でも書いてみようと思ってこの記事を書いた。仕事の合間に書き始めてから1週間近くかかったぞ。〜ここでさらに2週間が経過〜と、ここまで書いて、最後に完成品を掲載しようとして問題が発生。UnityのWebPlayerで出力してみると、なぜか「あーちゃんがいない」。UnityのGameビューではちゃんと3人で踊ってるのに、ビルドしてデバイスに出力するとaachanだけが表示されないのだ。初期に裸で踊らせてたときにはiPhone本体でも3人が踊ってたのに、SWFにも出力してみたが症状は同じ。iPhoneで動かしてもやはりあーちゃんがいない。思い、Unityのプロジェクトを新規に作り直してやってみたが相変わらず「あーちゃんがいない」。Unityでは許すけど他の動作環境では許してくれない深い訳があーちゃんのFBXに含まれているのかもしれない。あーちゃんが表示されない謎を放置したまま一旦掲載することにしよう。なんともお粗末な話だ。〜ひと晩が経過〜完成動画をYoutubeにアップしようと思ったんだが、Unityで動いてるものをどうやってFLVに落とせばいいのかわからず、またしてもつまずいてしまった。意外な落とし穴である。みんなどうやってんの?しかし、そのおかげで「あーちゃん」が表示されない原因がわかった。Inspectorビューを開いて、一番下にある「CullingType」を「AlwaysAnimate」に変更したところ、あーちゃんが出るようになった。あーちゃんだけがカリングの対象になったのかよくわからんが、カメラの位置と画角の関係であーちゃんだけがクローズしていたようだ。Unityって、ある意味すごい。UnityでSWFに出力すると、BGMとアニメーションがずれてしまうので、WebPlayerに出力することにした。PerfumeをUnityで踊らせてみたよ。↑画像をクリックすると別ページでWebPlayerが起動します。インストールしてから10分程度いじりまわして操作方法をある程度理解したのち、いきなりド、ドラゴンを造ってみた。初心者でも約1時間でこれくらい造れる。粘土細工のようにひっぱったり、へこませたりして造れるので直感的に造形できるのが魅力だ。可動部分の無い、いわゆるモックを造るのに適してる。