HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2013
0127
ヒビノ氏音声の重ねあわせ再生2解決


ヒビノ氏

リンク

2013/1/27(Sun) 21:22:10|NO.52058

たびたびお世話になっております。

現在2Dのキャラクターの歩行をいろいろテストしているのですが、なんとなく足音をつけたくなりました。
いちいち音を途切れさせたくなかったので右足左足それぞれに同一のwavファイルの異なるバッファを確保して
音を鳴らしています。

ただ、これをモブキャラにも実装させたいなあと思ったのですが、
そうなると各キャラごとに両足分の音声バッファを取らなければならず
無駄にメモリとスクリプトを消費してしまいます。

単一のバッファに登録した音声を重ね合わせることはできないのでしょうか。
同じバッファ0番の音をいろんな場所で同時に再生できればかなり楽と思いますが・・・
それが可能な方法やDLL・プラグインがございましたら教えてください。

ちなみに今HMMというプラグインを使用しています。



この記事に返信する


暇人

リンク

2013/1/27(Sun) 23:27:04|NO.52060

>そうなると各キャラごとに両足分の音声バッファを取らなければならず
>無駄にメモリとスクリプトを消費してしまいます。
とりあえずやってみて
他キャラの足音が本当に必要かどうかを確かめた方が良い
やってみて近くのキャラ2,3個だけで良いとか分かってきたら
上手く無駄を無くす事を考えれば良い

同じ音ならメモリは共有できる
DirectSound.txt

DSDUPLICATE p1, p2

引数
p1:コピー先バッファ番号(0から1023までの値)
p2:コピー元バッファ番号(0から1023までの値)

戻り値(stat)
成功:1 or DS_OK
失敗:0 or DS_ERR

機能
コピー元バッファー番号と同じ状態のものを、コピー先バッファー番号につくります。
DIRECTSOUNDの仕様上、同じ音でも重ね合わせる場合は2個バッファーを作成しなければならないのです。
しかし、それはメモリの無駄なので1つのメモリで共有させることができます。



ヒビノ氏

リンク

2013/1/27(Sun) 23:42:26|NO.52061

DSDUPLICATEでメモリは1つで間に合うんですね
ありがとうございます



ONION software Copyright 1997-2023(c) All rights reserved.