FC2ブログ
11 «1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.» 01

オカルト省公式ブログ

創作サークルMinistry of The Occultのお報せと雑談ブログ

 

スポンサーサイト 

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Category: スポンサー広告

tb -- : cm --   

【吉里吉里】音声・効果音再生その1 

予告どおり、第一回は効果音量について。


最近ではボイス再生のあるゲームが多いですが、どんなふうに効果音スクリプトを組んだらよいか自論でお送りします。
※たぶんもっと頭のいい書き方はいくらでもあるので、どんどん改良してみてください。
※ご意見ご感想をお待ちしておりますが、サポートはあんまりできないと思いますスミマセン。自力で扱える方だけお使い下さい。

●音声・効果音再生その1


・基本的な構成
効果音バッファ1で、『goodmorning.ogg』というボイス音声(効果音)ファイルを鳴らすとき、基本的なスクリプトはどうなるでしょうか。

こんなかんじになると思います。
[playse buf="1" storage="goodmorning"]
ファイルの拡張子を書いても構いませんが、書かないほうが私は好きです。
ただし、他のファイルの名前かぶりにご注意下さい。


・スキップ可能にしてみる
効果音や音声がスキップできないゲームは、特に周回が必要なものだとかなり嫌われてしまいます。
スキップ可にするには、スクリプトはこんなふうになります。
[playse cond="kag.skipMode<=1" buf="1" storage="goodmorning"]
ちょっとだけプログラムとプレイヤーさんのストレス軽減。


○ボリュームがゼロの場合の条件設定
・設定画面で効果音量をゼロに設定した時に処理しない
”ボイス音声がボリュームゼロのまま流れ続けて、聞こえないのに流れ終わるまでゲームが先に進まない”という現象を回避できます。

それで『ボリュームがゼロになっている』という条件はif文でどうやって入れたらいいんだ? ということですが。
まず、『バッファ1の効果音がゼロ以下の場合』で、こんなふうになります。
[if exp="&kag.se[1].volume2\1000>0"]
ボイス・効果音用にバッファを分けたりすることがあるかと思いますので[1]の部分を対応バッファに書き換えてご使用ください。


今回は動作がちょっと面倒なので、前述の再生スクリプトを含めて[voice_01]というマクロにしてみます。
マクロ
[macro name="voice_01"]
[if exp="&kag.se[1].volume2\1000>0"]
[playse cond="kag.skipMode<=1" buf="1" storage="%fn"]
[endif]
[endmacro]

使う時はには、
[voice_01 fn="goodmorning"]おはよう!

と、このような表記になります。
吉里吉里の面白いところで、このマクロ名はもっと分かりやすく
[macro name="厳島ノ白蓮の声"]
[if exp="&kag.se[1].volume2\1000>0"]
[playse cond="kag.skipMode<=1" buf="1" storage="%fn"]
[endif]
[endmacro]

として、使う時には
["厳島の白蓮の声" fn="goodmorning"]おはよう!

…などと作ることもできます。

上記のif文では、ボリュームが0になっている場合は、処理は何もしません。
或いは、『再生なしの変数が入っている(設定ボタンを押した)時に処理を跳ばす』という機能を含めて作ってもいいかと思います。そちらが普通かな。


次回は、
・ボイス音声が流れている間、BGMや他の効果音の音量を下げる。
・履歴画面の台詞をクリックし、ボイス音声をもう一度再生する。

などなど、の予定です。

Category: 吉里吉里TIPS

Thread: ゲーム製作 関連

Janre: ゲーム

tb -- : cm --   
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。