kumaryu日記
2007-12-12 さっくりと
_ 日記を
時間が無くて日記もかけねぇよ。さっくり書いて仕事に行こう。
_ [Riko] サウンドとか
とりあえず衝突判定の分割をC++で書いたけど速度変わらねぇ。負荷テストでは速くなったんだけど、普通のゲームでは変わらんかった。
まあなんかいろいろあるんだろう。気にしないことにしよう!
あとOpenALとlibvorbisfile使ったサウンド。ogg/vorbis使わないならlibvorbisとかいらんのだけど、現実的には圧縮無しのwavとかaiffだけでゲーム作るなとかありえんし。wavとaiffの読み込みは実装してないけどそのうち。
libvorbisfileも必須にしちゃったけど、結局RubyレベルのStringでデータ返してOpenALのクラスに別途渡すようにしちゃったからべつにいらないね…。
この辺の音声とか画像のファイルフォーマット対応はいつか整理したいところ。
それはともかく音は鳴らせた。なんかOpenALで列挙できるデバイスがやけに少なくておかしいんだがそれはよくわからん。俺が悪いわけじゃなさそうだが。
出力側のデバイスはUSB Audio Interfaceしか出てこないくてデフォルトもこいつになってる。デフォルトがこいつになってるのはOS側の設定がそうだから正しいんだけど、なんでiMac内蔵スピーカーが出てこないのか。
入力側のデバイスは内蔵マイクしか出てこない。USB Audio Interfaceとライン入力はどこへいったのか。
…あ、OSでデフォルト出力、入力に設定したデバイスしか出てないのか。これはなんか手抜きな実装な気がするんだが、まあいいか。
つかわんけどせっかくなんで3Dサウンドをやろうとしていろいろいじってみたが、どうもどんな位置に置いても減衰してくれない。GAINの設定は反映されてるんだが…。
そんなんでずーっと悩んでたんだが、単に鳴らしてる音がステレオだったのが悪かっただけだった。
ステレオで3Dサウンドってどうなるんだろーなー、まあ適当になんとかするんだろーなー、とか考えてたんだが、2チャンネル以上のサウンドでは3DサウンドにならないのでBGMとかに使え、としっかり仕様書に書かれてた。あー。
alBufferDataのフォーマット指定の場所にしか書いてないからしっかり見落としてたよ。でもちゃんと読めよってな。
_ [Blender] NormalMap
次のバージョンではついにTangentSpaceでの法線マップが焼き込めるようになるみたい。
AOも焼けるし、マルチUVもつかえるからいろいろできるようになったねー。
そういやAOを焼いた時にどうもサンプリング数が少なくて荒い画像しか出てこなかったんで調べたんだが、AOの設定はマテリアルのワールド設定にあるらしい。それが焼き込みにも反映されるんだと。分かりづれーな。
あ、あとFBXでマルチUV出力したあとFBX ConverterでCOLLADAにすると画像はimage要素として出力されるしUVも複数出るけど、マテリアルには1枚しか入っていない。これはCOLLADAのCOMMONプロファイルでマルチテクスチャ対応してないから仕方ないんだけど。まあ困るわね。
でもCOLLADA Exporter自分で書き直すのも嫌だしなー。困るわー。