ページ

2011年8月26日金曜日

華やかさをサポートしてみた

いま日本でもっとも多く手に入るモデル形式、PMD/VMDをサポートしてみました。



まずは何とか動いているというレベルですが、自作のショボい棒人形と違って、とても華やかになりますね。でも時々スカートが荒ぶって、あられもない姿になってしまうので、まだ多くの修正/調整が必要そうです。まぁ、男の子遺伝的にはウェルカムなんですが、見えそうで見えないところに夢があるような気がするので…

PMDは、Lat式ミクVer2.3(Latさん作)
VMDは、スイートマジック(くきょ@せっきょんさん作)
コードは、irrmmdmeshio (ousttrueさん作)を取り込む形で作成しました。
皆さん、いい仕事してますね。

2011年8月15日月曜日

仮想3D空間を作って遊びたい

理由はよく分からない。
世界征服を目指す男の子遺伝子のせいなのだろうか?
とにかく作ってみた。



シュールな絵になってしまった。
世界征服感がまったくない。
もっと人が必要な気がする。



う~ん、いいんじゃないか。
世界征服っぽい感じがでてますね。
ただ、ちょっと世界に動きが感じられないのが問題だ。
物理エンジンを搭載してみよう。



拳王様のお通りだぁ~

あれ、こんな事したかったんだっけ・・・

MMDのモデルに対応してみるのはどうだろうか

今時のモデルフォーマットといえば、MMDのモデルデータ(PMD)かな?
初音ミクと戯れるのもいいかもしれない。

2011年8月3日水曜日

Rubyの拡張ライブラリのプロファイルをとる方法メモ



Rubyからロードされて実行される拡張ライブラリの処理をプロファイルする方法です。
(gprofなどの一般的な方法は、拡張ライブラリ内の処理まではプロファイルしてくれません)
現状、プロファイルできることが判明しているのは、oprofileとgoogle-perftoolsです。
どちらもubuntuならaptで簡単にinstallできました。

oprofile


システム全体のプロファイリングを目的としているものなので、まわりで動いているプロセスも全部プロファイルされてしまいます。
また、カーネル側の設定によっては使えないので、クラウド系サービスなどの環境でカーネル設定を変更できない場合は使えません。
$ sudo opcontrol --reset
$ sudo opcontrol --start
$ ruby load-ext.rb
$ sudo opcontrol --shutdown
$ opreport -l

google-perftools


私としては、こちらがお勧めです。
下記の方法で、サンプリングによる関数呼び出しのプロファイル結果が出ます。
$ LD_PRELOAD=/usr/lib/libprofiler.so CPUPROFILE=./profile.out ruby load-ext.rb
$ google-pprof --text /usr/bin/ruby ./profile.out_5941

5941はプロセスIDです。
プロファイル絡みでは、これ以外にヒープのメモリリークチェックやプロファイル結果のグラフ化などができます。