これって制御を分かれると大変にならない?
いや、そんなに難しいことではなくて。
BGMとSEとかそういう音を分ける理由は、単純にBGMとSEを一緒にしてしまうとBGMが途中で途切れちゃったりするんですよ。
音を鳴らした時に、攻撃音を鳴らした時に、そこでBGMが一回途切れてまたBGMが流れ出すみたいなことになっちゃうんで、
それを防ぐために分けてるっていう感じですね。
なるほどなるほど。分けとかないとBGMと同期しちゃうっていうのかな?
そうですそうです。
それは確かに困るね。
一つの、さっき言ったスピーカーって言ったんだけど、これUnityで言うとオーディオソースっていうデータの形なのかな?
一つのスピーカーで出せる音は一つまで。
なるほど。
BGMの音を鳴らしてる時に、例えば戦闘中のBGMを流してました。
で、剣で攻撃しますって言った時の剣のジャキンって音を鳴らそうと思ったら、一つのスピーカーだとBGMが一瞬途切れちゃうのね、その間。
そういうことか。
だからSEとBGMは同時に音を出す時あるじゃん。
だからそこは二つのスピーカーでやりましょうっていう。
ごめん、自走しやすさっていうよりかはそうしないと違和感が出ちゃうよねっていう感じ。
確かにそうだよね。キャラクターボイスの時にBGMが消えて、で、またいきなりBGMが始まってるとかだったら気持ち悪いよね。
そうそう。
だからキャラクターボイスはまた別にスピーカーを用意しないといけないよね、キャラクターボイス。
そういうことか。
じゃあゲームって音の階層を何層にもやって音を出してるんだね。
そうですよ。
そうなんですよ。
だからそうなると、例えばスピーカー1、スピーカー2、スピーカー3っていうのを用意するでしょ。
で、そのスピーカーにはこの音を再生させたり、この音はまた別のスピーカーに再生させたりとか、そういった制御をするのがちょっと混乱しないように気をつけないといけないところって感じだったな。
で、それをエフェクトと同期させていくんだよね。
そうです。
で、さっき言ったスピーカー、1つのスピーカーで、例えばBGMを途中で変えたかったりするじゃないですか。
最初は静かなBGMで、途中から激しいBGMに変えたいみたいな。
そういったときにさ、音変えるときに曲をさ、急にさ、ポンって入れ替えて再生するとさ、なんか違和感起きるのわかります?
なんか、途中でさ、曲の切り替えってさ、なんかフェードアウトとフェードイン欲しくない?
確かに。
急にプツって、なんかこう悲しい曲と明るい曲がプツって変わると、やっぱちょっと変だよね。
だから、その場合どういうふうに制御するかっていうと、スピーカー1に、例えばBGM1を割り当てて、
そしたら、ある程度曲切り替えたいなってなったら、スピーカー1の音量をちょこちょこ下げて、
で、曲を切り替えて、またスピーカーの音量をちょこちょこ上げるみたいな、
そういうことをスクリプトからするというか、プログラミングで制御するっていうことをやってる。
すごい、結構細かいことやるんだね。
そうなんね。
フェードアウトしてフェードインさせてくんだね、次のシーンの。
そうそうそうそう。で、BGMを例えば下げてるときにさ、スピーカーの音量下げてるときに、
例えば仮にSEとか入れたかったりするじゃないですか、ボタンの音とか、
そういうときは別のスピーカーを使って、そのときは音量は、別のスピーカーはまた音量は下げずに音を出せるようにするみたいな。
なるほど。
だから、意外とね、タイミングの制御がちょっと大変だったりする。
大変というか細かいことがいろいろある。
なんかね、結構楽しい、でもデバッグは。
再生してみて、あ、違う違うっていうのが分かりやすいから、音で分かるからね。
そうだね、音はずれてたら分かるよね、すぐね。
分かる分かる。
比較的なんか、なんだろうね、夢中になってできる楽しさの要素はあるなって俺は思ってたけど。
すごい、なんか動画編集的要素だね。
うんうん、多分そんな感じかも、そうそう。
で、そう、そのタイミングっていうところで、
そうそうのさんにとおり、あのエフェクト、あの攻撃を、例えば魔法攻撃とかね、火の弾とかをこう打つみたいなときに、
あの火の弾って別に1枚絵を動かしてるわけじゃないじゃないですか。
なんか火ってモヤモヤしてるから、そういうのがなんか分かる、なんかかっこよ、なんかね、あの火のエフェクトっていう、
あの火が出てますよっていうことを表現するための、まああのものなんだけど、
それはまた絵とは別にエフェクトの再生っていうやり方であの表現できるんですよ。
エフェクトの再生っていうのがあるんだ。
そう、まさにエフェクトの再生ってざっくりどんな感じでやるイメージ?
エフェクトの再生をどういうふうにやるイメージ?
実装するときの。
今はその、アセットストア、人気のアセットストアってところから、なんかこのエフェクトいいなーみたいなものを選んで、
そこでダウンロードして自分のそのゲームのプロジェクトに取り込んで、使うって感じなんだけど、そのエフェクトを。
その、もっとあのなんて言うだろう、あのさっきのさ、サウンドのさ、仕組みの話かな。
仕組みの話か。
えっとね、俺もね、あんまりよくなってないんだけど、そのエフェクトに関しては、
本当に使ってるだけっていうのに近くて、けどパーティクルシステムって言ってなんか制御してるんだよね、エフェクトって。
パーティクルシステム。
パーティクルシステムっていうのが、パーティクルシステムっていう。
その中で細かい動き、エフェクトの動きを制御していたりとかしてるので。
パーティクルシステムって何かって言うと、なんて言うんだろうね、規則的な現象を作る仕組みのことでね、
まずパーティクルシステムってやつを画面開くと、最初無の状態の動画が見れるんですよ、無の状態、無空間のね。
で、そこに例えば焚き火をしている様子を、焚き火のエフェクトを作りたいなってなると、
ちっちゃい白い丸をたくさん地面からぽわぽわって上に浮くような動きをプログラムで計算式みたいな感じで物理現象を表現することができるんですよ。
そしたら、そういう風に描くと、ちっちゃい粒が地面から上に向かってぽわーんって浮いていく様子が浮いて、で消えるみたいな様子が見えるから、
それをたくさん増産すると、ちょっと焚き火っぽくなってくる感じ。
で、それに色をつけてあげて、赤色とか黄色とかうまく使ってあげると、より火が焚き火で燃え上がっているような雰囲気が見えるみたいな。
エフェクトをまず作るっていうところは、パーティクルシステムで、そういう物理現象というかね、火とか水とか雷とかそういうことが表現できるんですよ。
作れるようになるんですよ。だけど、さっきヤブさんが言った通り、それ作るの結構大変なのね。大変だし難しいし、計算苦手だし。
だから、もう既に出来上がっているエフェクトっていうのをUnityのアセットから手に入れられるので、それを基本的に使っていることが多いです。
なるほど。一から作ることもできるし、アセットストアから持ってきて組み込むのもできる。
そうそうそうそう。組み込むこともできる。
結構、一から作るのが結構面倒くさいんだね。大変というか計算が。
そうそうそう。できる人はね、できるんだろうけど。できない。
で、そのパーティクルシステムっていうのは、いわゆる動画みたいなデータなんですね。
最初はこういう状態から始まって、途中からこういう風になって、こういう風に動いていくみたいな。
なんだけど、それを今度は、例えば火のエフェクトを、火のちょっと爆発するようなエフェクトを、それが手に入りましたと。
で、それを実際にゲームに組み込みますってやったら、例えば主人公が敵に攻撃するときに手をちょっとモンスターに向けて、
で、手に向けたタイミングで、ボンって火のエフェクトを再生したいじゃないですか。
はいはい。そうね、そのモーションに合わせて綺麗にエフェクトを出したいよね。
そうそうそうそう。モーションに合わせてやりたいっていう風に、それをするために今度、感数を使ったりするんですよ。
で、具体的には、プログラム的に言えば、さっき作った火の爆発を再生するっていうコマンドがあるから、
その再生するってコマンドを、例えばラントの動き、手を挙げたときにこの感数を、再生する感数を当てはめれて再生するっていう風にやれば、
ちょうどタイミングが合うようになるみたいな。あとはそういう調整をしていって、出来上がりみたいな感じかな。
なるほど。結構タイミングの制御とかもそういうところでやるんだね。
そう。
結構細かいことやってんだね。しかも音とエフェクトとモーションと。
そう。そうだね。キャラクターの動きと音の再生のタイミングだったり、あとは、何ていうの。
斬撃、エフェクトの再生っていうのと、エフェクトの音とかBGMとかあるから、
タイミングのことを考えると結構合わせるのって、一個一個独立してる部分もあるけどね。
BGMとキャラクターの動きはあまり同期しなくてもいいけど、キャラクターの動きとエフェクトは同期しないといけないし、
エフェクトと音は同期しないといけないし、エフェクト音はね。
っていうところを、ひも付けを気にしながら作っていくっていうようなイメージになるかな。
すげえ大変かっていうとそういうわけでもないけど、結構楽しいよ。見た目がよく変わって、
かっこよくなったって。だんだん自分の作ったゲームが、なんかゲームらしくなっていくっていうのは楽しいことなんで、
なんか結構好きな方だけどね、これの方が。
そうか、なんかゲームっぽくなるよね、一気にね、それで。
うんうんうん。
そう、なんか確かにそうだわ。
そう、なんか急にプログラミングがさ、自分のプログラミングがさ、なんかあんま良くなくてさ、
なんかミスってて、途中でなんか動かないみたいな、ゲームが動かない。
じゃあどうしようって言って、なんかいろいろとプログラミングを読み直すのって結構また大変で辛いんだけど、
それに比べてここはなんかずれたなって、あ、こうすればもっと良くなりそうって。
あ、良くなったって、かっこいいってなるのは結構なんかね、楽しかった。
だからさっき言ったように、Somaさんがさっき言ったように、やっぱ動画編集にちょっと似てるかもしれないですね、彼女として。
音をどこで配信して、どういう音出して、タイミングはここでみたいな。
そうそう、例えばさ、パワーポイントとかさ、Googleスライドとかそういう資料のアニメーションってあるじゃん、
あれのさ、超細かく設定ができますよっていうバージョン。
そういうイメージで。
動画編集にもちろん近いよね、イメージ的には。
そうか、あるよね、パワーポイントのスライドのアニメーションとかね、あれをゲーム内でやってる感じだね。
そう、あとはね、ゲームのカメラの制御もあるから、カメラの動かし方もタイミングよく合わせるとかっこよくなるよね。
確かに、これでもだいぶ昔の時の最初の初期のさ、3Dの時のエグゼアクトの時のカメラワークとエフェクトはめちゃめちゃすごい良かったなって今思い出してる。
お手伝いお世話になりました、本当に。
お手伝いお世話になりました。
いや、本当に良かった。
しかもそらさんもね、動画編集でよりかっこいい感じにしたって出てくるしね。
あれ、今でもね、紹介というか、どんなゲーム作ったことあるかっていう話の時に出してるよ。
え、それ詐欺じゃん。
詐欺じゃないよ。
いや、詐欺じゃないよ。
詐欺じゃない。
何言っとるんですか、何言っとるんですか、もう詐欺でもなんでもないですよ。
存在しないキャラクターになるんですよ、そういうのは。
そうそう、存在しない。
誰、あの少女。本当に戦うのって少女誰?
あのキャラクター用意してないのに声だけ張るから、それを再生したっていうね。
本当に誰。
でも雰囲気が出るからって言って。
でも確かにあれはね、ちゃんとしたゲーム作った感出たよね、一気にね。
3Dはね、だいぶね、ちょっと2Dも経験したり、いろいろさ、課題も経験したりしたから、3Dはね、またね、今の作ってるやつが終わったら3Dやろう。
いいね。ヤブさんがまたちょっと、あの怯えてらっしゃいますけど。
いやいや、ちょ、怯えてはないでしょ。プロジェクトまだ保存してあるし、3Dいつでも掘り起こせるよ。
いやそうっすよ。怯えてはないですよ、全然。ゴーゴーって。
怯えてない?怯えてない?
ゴーゴーって何?
ゴーゴーって感じで。
ゴーゴーって感じって何?
いやー、ちょっとね、今回の回ちょっと言葉でうまく伝わったか、ちょっと心配なところもあるけどね。
あの見ながら、ね、こんな感じ?とかってね、本当は動画でやりながらできたらよかったけど。
ざっくりね、こんな感じでやってるんだろうなーのイメージを出してもらえれば。
ちなみにその最初のあたりの時のゲームのサンプルのやつとか載せてるんですけど、最近のやつはそういうやつに載せてないんですか?
あ、載せてないね。なんかね、載せてない。でも、今年中にはなんか載せれそうって感じかな。
なんか普通にSteamとかでリリースとかもしたりするんですか?
うん、来年にそのつもり。
あ、そうか。いいね。
だから、なんかどっちかというと前はさ、あの、なんて言うんだろうね、あんまりバグに対して、バグが出ることに対してなんかすごいね、なんか重くそんなに考えてなくて、
あのブラウザにで遊べて、なんかこんな感じで作ってみたよーってっていう感じで、なんかちょっと甘えてたところあったんだけどさ、あのプレイヤーに。
だけど今回はもうちょっとそのちゃんとしっかりしたいなーっていうところが、しっかりして作りたいなーっていうのがあるから、ちょっともうちょっとあのテストプレイをやった上で出したいかなって感じかな。
なるほど、ちゃんとゲームに仕上げてね。
うん、と言いながらまた出すんだろうけどね、バグは。
これからなんかサウンドを作ったり、エフェクトをやる人にとって、素人開発の場面でいくと、何からやっていけばいいとかってあります?
えっとね、もうとにかくシンプルなことから始めるのがいいと思う。
例えば、最初背景を、なんか画像を一個キャラクターを置くってところとか、そしたら今度はキャラクターをなんか剣持たせて、剣を振るってことをさせたいじゃん。
で、剣を振るってやったら、今度剣を振った時のあのサウンドエフェクトを再生したいじゃないですか。
そしたらビュンっていう音をどっかから手に入れる。作るでもいいけど。音を手に入れてそれを再生してみる。
ビュンってやったら、じゃあその剣を切った時のプログラミングのタイミングでSEも再生してみる。
で、ブンって音が鳴ったら、今度は斬撃のエフェクト、剣で切られたようなかっこいいエフェクトを作るでもいいし、パーティクルシステムで。
それがダウンロードするも良し。それで今度はちょっと当てはめてみて、同じタイミングでそれを再生してみるっていう風に一個一個やっていくと、
のが個人的には楽しかったからオススメしたいなっていう。
なるほど。ちょっとスモールステップで簡単なやつからちょっとやっていくって感じですね。
そうそう。その一個一個の方がググった時にサンプルも引っかかりやすいから、検索も引っかかりやすいから。
確かにね。そういう素材も集めやすいね。なるほどね。
いやでも奥が深いなって今日聞いてて改めて思った。細かいところでやろうと思えば死ぬほど細かくできるんだなとか。
あと個人的にはあれだった。調べていろいろサウンド見て、まずやり方を把握してからやる方が俺はちょっと大変だったんだよね。
それやると。その理由がいろいろこういう風にしてさーってやるのねってなっても全体を把握してからやってみると、
まず一個目でタイミングとかってどうやってやるんだってなるから、結局一個一個やってみるとつまずくってあるじゃないですか。
だから最初に当初に全体像読んだやつに対して全然もう忘れるぐらい時間かかっちゃうったりするから。
だからやりながら見るとか、一個一個やるみたいなのが個人的には好きな方かなって。
サウンド実装とかエフェクトの実装とかはそう思った。
なるほどね。それでやったほうが時短にもなるのかもね。
そんな感じですかね。
そんな感じですかね。
はい。じゃあサウンドとエフェクトっていう話でしたね。
はい。
はい。スモールステップからとりあえずやっていきましょうというところですね。
はい。じゃあ今週は終わっていきますね。
ありがとうございました。
はい。ありがとうございました。