音無サノトの空想録

4コマ漫画と創作日記

【ゲーム制作】自作した BGM を Unity に導入する

どうも音無サノトです(^^)

前回までは Cakewalk を使用して BGM の作成を行っていました。

それを制作したゲーム内に導入してみようと思います。

 

この記事で書いたゲームに導入します。

otonasisanoto.hatenablog.com

 

 

進捗報告

  •  玉転がしゲームに作成した BGM をつけた 

 

作業内容

まず音楽をインポートします。

Assets フォルダの中に「Sounds」フォルダを作成して、音楽ファイルをドラッグ&ドロップします。

f:id:otonasisanoto:20190608111034p:plain

作成した BGM のインポート

 

Unity のオーディオ機能には Audio Listener と Audio Source というものがあります。

Audio Listener : マイクの様な機能で基本的に Main Camera についている。

Audio Source  : Audio Clip(音楽ファイル)を再生する。

 

Audio Listener がつけられているオブジェクトがサウンドを拾い、その音を流します。一般的には Main Camera についており、この Audio Listener が Audio Source のついているオブジェクトに近づくと音が聞こえます。

 

例えば川の音をフィールド内の川が流れている部分に Audio Source を置いて、そこにプレイヤーを動かして Main Camera 近づくと川の音が段々と聞こえてきて、近づくにつれ音が大きくなったりします。

 

他にもスクリプトで Audio Sorce がなるタイミングを操作したりもできます。

例えば剣を振る動作のときにキャラクターの掛け声を出したり、剣が風を切る音を鳴らしたりといったことができます。

 

今回は BGM となりますので常に聞こえるように Main Camera に音楽ファイルをつけます。

f:id:otonasisanoto:20190608111502p:plain

BGM を MainCamera につける

 

そして、音楽が繰り返すように Loop にチェックを入れます。

f:id:otonasisanoto:20190608111604p:plain

Loop にチェックを入れる


これで BGM も入れることができました。


【Unity】玉転がしゲームを改良してみた

 

次回予告

とりあえず、今回までで玉転がしゲームの改良は終了します。

ここまでで、ゲームの制作、モデリングDTM を一通りやりました。

つまり本気を出せばゲームに必要な要素を素材から自作できるということです(これがやりたかった!!)

今後はそれぞれのスキルアップを目指していこうと思います。

 

ゲーム制作としては次回、キャラクターを操作することをやります。

これができないとゲームとして面白くないので(`・ω・´)

Unity ちゃんというキャラクターが配布されているのでそれを動かします。

 

本日は以上となります。最後まで読んでいただきありがとうございました!

ゲームの BGM を『Cakewalk by Bandlab』を使って簡単に作成してみる

どうも音無サノトです。

 

前回までの作業で DTM の環境準備、打ち込み方法、ベースの録音方法までできました。

今日はゲームに導入する BGM を簡単に作成してみたいと思います。

 

といっても音楽の作り方はよくわからないので、ドラムでリズムを決め、ベースでルート音を弾いて、それに合わせてギターを打ち込んでみようと思います。

ルートとかコードとか雰囲気でしかわかってないですが、とりあえずやってみます!

 

 

進捗報告

  • Cakewalk を使って 前回まで作成していたゲームの BGM を作成
  • 完成した BGM ↓ (※音量注意)

 

作業内容

ドラムでリズムを決める

ドラムの音は前回、試しに打ち込んでみたものをそのまま使います。

2小節分のリズムだったので6小節分のばして、10秒くらいの BGM にします。

f:id:otonasisanoto:20190602081302p:plain

6小節分のばす

これだけでドラムは OK (^^♪

ちなみにドラムは次のような感じです(※音量注意)

この音に合わせてベースのルート音を決めて録音します。

 

ベースの音を録音する

ベースの録音方法はこちらの記事で書いています。

otonasisanoto.hatenablog.com

 

今回は、ルート音を決めて弾いてみるということに力を入れたいと思います。

 

ここからの説明は初心者が調べたことをメモしている程度の知識と思っていただけると幸いです。。。

ルートって何? ってなると思いますが、日本語では根音(こんおん)といいます。

自分も半分くらいしか理解していませんが、バンドの楽譜とかで「C」とか「Em7」とかコードが書かれおり、それの最初に書かれているアルファベットのことをルートというそうです。

一般的にギターは和音ですが、ベースは単音になります。複数の音を同時に鳴らすのが和音で一つの音を鳴らすのが単音です。ギターもソロのところなんかは単音です。

そして、ギターで「C」のコードを鳴らすなら、ベースでは「C」のルートを鳴らすという風にコードを合わせるというのが作曲の基本のようです。

以上、ざっくり音楽理論の説明。

 

ということでベースのルート音を決めれば、ギターのコードが大体、決まってくるのでそれで曲を作ってみます。

 

今回は「E」、「A」、「B」の順で弾いてみます。

一応、ベースのどの部分になるかをメモ。

E:4弦の開放

A:4弦5フレット

B:4弦7フレット

f:id:otonasisanoto:20190602084951p:plain

ベースの録音

こんな感じで音を録音できました。 (※音量注意)

 

ほとんどベースの音が聞こえない(´Д`)

 

ここにプラグインエフェクトを使って音色を変えてみます。

トラックの左にある FX を右クリックし オーディオFXの挿入 > TH3 を選択し、TH3というアンプシミュレータを使ってみます。

f:id:otonasisanoto:20190602085624p:plain

プラグインエフェクトの挿入

 

すると下の様な画面になります。

f:id:otonasisanoto:20190602090455p:plain

アンプシミュレータの画面

右側にアンプやらエフェクターやらがあって、それを中央にドラッグ&ドロップすれば、アンプが追加できます。

ベースの「Bass Supre Tube VR」というアンプを追加しました。

これでだいぶ音が変わります。

 

さらに低音を強くしたら良さげだったので bass のノズルを上げています。 (※音量注意)

 

ベースはこれでいきたいと思います(^^♪

 

ギターを打ち込む

 今度はギターの音を打ち込んでみます。

といっても Cakewalk にはギターのトラックがデフォルトで用意されていないので、マルチ音源というものを使うみたいです。段々、知識が追いつかなくなってきました(-_-;)

 

とりあえず、トラックの追加で TTS-1 というシンセサイザーを追加します。

f:id:otonasisanoto:20190608094017p:plain

TTS-1

 

すると下の様な画面が出てきました。

このシンセサイザーは1つのトラックで16パート分の音源を入力することができるそうです。

f:id:otonasisanoto:20190608094159p:plain

TTS-1 の画面

左から縦のラインが16個並んでおり、この一つ一つに音色があるという感じです。

デフォルトではピアノの音になっています。

下の緑色の ♪ アイコンを長押しすると音色が確認できます。

 

それでは音色を変えてみたいと思います。

縦のラインの上にある EDIT という四角いところをクリックすると下の様な画面が出てきます。

f:id:otonasisanoto:20190608094352p:plain

EDIT をクリック

 

今、ここの音色は Piano1 となっているのでそこをクリックします。

Preset > Guitar > 030 000 Overdrive Gt 選択。

今回は、この音色を使いたいと思います。

f:id:otonasisanoto:20190608101628p:plain

音色の選択

 

実際にベースの音に合わせて和音を鳴らしてみたいと思います。

ベースは E → A → B → E をループして引いています。

 

和音のコードはまだ全く覚えてないので調べながら作業します。

こちらのサイトを参考にしました (http://www.piano-c.com/

 

f:id:otonasisanoto:20190608102120p:plain

ギターの打ち込み

これで打ち込みも完了。音楽を書きだします。

 

音楽の書き出し

 Cakewalk の左上にあるエクスポートより オーディオ > MP3 を選択して名前をつけて保存します。

f:id:otonasisanoto:20190608102545p:plain

音楽の書き出し

 

エクスポートのオプションが出ますがデフォルトのままで OK を押します。

ここも勉強しなきゃな~

f:id:otonasisanoto:20190608102928p:plain

エクスポートのオプション

 

これで進捗報告で載せた BGM ファイルが書きだせました(^^)

f:id:otonasisanoto:20190608103054p:plain

書きだしたファイル

 

次回の予定

作成した BGM を Unity に入れてみたいと思います。

 

本日は以上となります。最後まで読んでいただきありがとうございました!

 

Roland Rubix22 を使ってベースの音を『Cakewalk by Bandlab』に録音する

どうも音無サノトです(^^)/

前々からベースと宅録してみたい! と思っていました。

そこで、オーディオインターフェースを購入しましたので、『Cakewalk by Bandlab』にベースの音を録音することに挑戦します。

 

f:id:otonasisanoto:20190523160428p:plain

Roland Rubix22

 

 

必要機材

 

自分が購入したオーディオインターフェースはこちら。

 

それとこのオーディオインターフェースに普通のヘッドホンを接続したい場合は、変換プラグが必要です。自分が買ったものとは違いますが Amazon にあるものを紹介。

フジパーツ ステレオミニプラグ→ステレオ標準プラグ変換プラグ AC-666

フジパーツ ステレオミニプラグ→ステレオ標準プラグ変換プラグ AC-666

 

 

オーディオインターフェースの環境準備

ここからは Rubix22 に付属した説明書通りに作業をします。

ドライバのインストール

まずローランドの HP からドライバをインストールします。

roland.cm

 

するとサポートページに飛びますので、購入したオーディオインターフェースの型番を選択。自分の場合は Rubix22 をクリックします。

f:id:otonasisanoto:20190528115632p:plain

Rubix22 を選択

 

すると Rubix22 のドライバやら取扱説明書などのページにいきます。

一番上のドライバを選択。

f:id:otonasisanoto:20190528115814p:plain

ドライバを選択

 

OS ごとに作業が違うようです。

自分は Windows 8.1 を使用していますので一番下を選択。

f:id:otonasisanoto:20190528115954p:plain

対応 OS のドライバを選択

 

するとページが飛びます。

Windows 8.1 / Windows8 / Windows7 の方はどのように作業すればいいかが書いてあります。

f:id:otonasisanoto:20190528120112p:plain

OS ごとの作業説明部分に飛ぶ

 

ページ下部のダウンロードアイコンをクリックすればいいそうなので、利用規約に同意してダウンロードを開始します。

f:id:otonasisanoto:20190528120215p:plain

ダウンロードを選択

 

後はインストーラを起動して画面表示に従いドライバをインストールします。

f:id:otonasisanoto:20190528122245p:plain

インストーラを起動する

 

これでドライバのインストールは完了です(^^♪

 

OSの設定

ドライバがインストールできたらオーディオインターフェースを接続しましょう。

オーディオインターフェースの後ろにある Power Source を USB ポート側にして付属ケーブルでパソコンと接続します。

f:id:otonasisanoto:20190528132553p:plain

POWER SOURCE を USB ポート側にする

このときの注意点として、すべての音量を絞ってから電源をいれることが故障防止になるみたいです。

 

接続できたらパソコン側の操作です。

コントロールパネル > ハードウェアとサウンドサウンド を選択。

f:id:otonasisanoto:20190528120340p:plain

コントロールパネルよりハードウェアとサウンドを選択

f:id:otonasisanoto:20190528120430p:plain

サウンドを選択

 

サウンドの画面でオーディオインターフェースが接続されているのを確認します。

f:id:otonasisanoto:20190528120804p:plain

オーディオインターフェースが接続されていることを確認

 

接続されたオーディオインターフェースのアイコンを右クリックして「既定のデバイスとして設定」を選択します。

f:id:otonasisanoto:20190528120914p:plain

既定のデバイスとして設定する

 

これで OS 側の設定も完了です。

 

音がなるかの確認

オーディオインターフェースの Output 部分に変換プラグを通してヘッドホンを装着し、音が聞こえるかを確認します。

一応、こういう接続をする場合は音量を絞るのがベターなのでそうします。

f:id:otonasisanoto:20190528132442p:plain

ヘッドホンの接続

 

サウンドのところでオーディオインターフェースのアイコンを右クリックし、テストを選択します。

f:id:otonasisanoto:20190528121028p:plain

音が鳴るかテスト

 

ヘッドホンから音が聞こえたので接続は OK です。

 

ベースとの繋げ方

オーディオインターフェースの Input 部分にシールドを直接繋ぎます。

ギターやベースの場合は [Hi-Z] ボタンをオンにします。そのことについてはオーディオインターフェースの説明書に書いてあります。

たしかここら辺はベースの出力周波数と PC 側の入力周波数を合わせる必要があるからとか何とかだった気がしますが勉強不足でちょっとわからないです(-_-;)

f:id:otonasisanoto:20190528132855p:plain

ベースと接続

 

これでベースとの接続も完了です(^ω^)

 

Cakewalk by Bandlab』に録音する

 Cakewalk のソフトを立ち上げてベースの音を録音してみましょう!

環境設定の変更

まず、ソフトウェア側で環境設定を変更する必要があります。

ツールバーの編集より環境設定を選択します。

f:id:otonasisanoto:20190528124007p:plain

環境設定を選択


下の図の様な環境設定の画面が出てきます。

一番上のオーディオ内にある「デバイスの選択」から入力デバイスと出力デバイスオーディオインターフェースに変更します。

他のところにチェックが入っている場合は一度そのチェックを外してからオーディオインターフェースを選択してください。

後は適用をクリックして環境設定は完了です。

f:id:otonasisanoto:20190528124133p:plain

環境設定画面

 

もうそろそろでベースの出番です( ・`д・´)

 

トラックの追加

新しくベースを録音するためのトラックを用意します。

トラックが並べられている上にあるプラスアイコンをクリックします。

f:id:otonasisanoto:20190528124653p:plain

トラックの追加

 

するとトラックの追加の画面が出てきますのでオーディオを選びます。

f:id:otonasisanoto:20190528124810p:plain

オーディオを選択

 

インプットの部分を変更します。

今回、オーディオインターフェースの左側にベースを接続しているので Left ラインを選択します。

f:id:otonasisanoto:20190528124835p:plain

インプット部分を変更

 

録音待機とインプットモニタにチェックを入れて作成を押します。

f:id:otonasisanoto:20190528124937p:plain

録音待機とインプットモニタにチェックを入れて作成

 

これで新しくトラックが追加されました。

f:id:otonasisanoto:20190528130718p:plain

追加されたトラック

 

録音 

いよいよベースを持って録音を開始します!

トラックの録音待機モードになっていることを確認して、上の録音ボタンを押します。

f:id:otonasisanoto:20190528130841p:plain

録音開始

後はベースを弾くだけで録音されます。

 

こんな感じで録音できました(^^) やったー 


【DTN】『CakeWalk by Bandlab』を使ってベースを宅録する

 

何度も繰り返し録音するコンピングとか、録音した音にエフェクトをかけるとか、波長編集するとか、色々と学ぶことはありますがとりあえず基本的なことは出来ました。

 

本日は以上となります。最後まで読んでいただきありがとうございました!

『Cakewalk by Bandlab』を使って DTM で打ち込みに挑戦する

どうも音無サノトです(^^♪

ゲームのBGMを自作してみようと思い DTM に挑戦しています。その作業メモです。

前回 DAW ソフト『Cakewalk by Bandlab』をインストールしたので、今回から打ち込みをやっていこうと思います。

 

otonasisanoto.hatenablog.com

 

 

新規プロジェクトを作成する

DTM は基本一つのプロジェクトで一つの曲をつくるそうです。

今回は Unity の方で作成しているチュートリアルのゲーム用BGMを作成してみようと思います。

 

まず Cakewalk を起動し ファイル > 新規作成 を選択します。

f:id:otonasisanoto:20190527080353p:plain

プロジェクトの新規作成

 

プロジェクトの名前を「BGM01」に変更し、テンプレートは BASIC を使用してみます。

f:id:otonasisanoto:20190527080516p:plain

プロジェクトの設定

 

すると下の様な画面が開きました。

f:id:otonasisanoto:20190527080928p:plain

画面の基本情報

①打ち込んだ音楽を再生したり、外部接続の楽器を録音するボタンが配置されてます

②トラックと呼ばれるものを管理する場所です。

 一つのトラックで一つの楽器を打ち込むことになります。

③タイムラインと呼ばれる場所で、どのタイミングで音を出すかを管理する場所です。

 

プラグインシンセの追加

次にプラグインシセを追加します。

挿入 > プラグインシセ > Drums > SI-Drum Kit を選択します。

f:id:otonasisanoto:20190527081753p:plain

ドラムの追加

プラグインシセの挿入オプションが出ますので「インストゥルメントトラック」と「シンセのプロパティページ」にチェックを入れて OK を押します。

f:id:otonasisanoto:20190527081904p:plain

プラグインシセの設定

 

するとこんな風な画面になりました。

f:id:otonasisanoto:20190527082159p:plain

追加されたトラックとプロパティページ

新しくトラックが挿入されていることと、ドラムの絵がある画面が表示されました。

 

このドラムの画面がプロパティページとなります。

f:id:otonasisanoto:20190527082519p:plain

プロパティウィンドウの基本情報

①このウィンドウ内にある楽器をクリックすると音が鳴ります。

②クリックすると音色が数種類でてきてここで変更できます。

③様々な音楽ジャンルのトラックがデフォルトで用意されています。

 これを利用すれば1からドラムの音を作る必要がなくなり、

 少しカスタマイズするだけで簡単にトラックが作れます。

 

デフォルトでドラムのリズムが用意されているので今回はこれを少しカスタマイズする程度にしてみます。

Rock の中にある 2TON-B というトラックを使用してみたいと思います。

デフォルトのトラックを追加するにはドラッグ&ドロップで出来ます。

f:id:otonasisanoto:20190527085600p:plain

デフォルトのトラックを追加

 

追加されたトラックを編集するためタイムラインのトラック部分をダブルクリックします。

f:id:otonasisanoto:20190527090549p:plain

トラックを編集するためダブルクリックする

 

すると下のようなピアノロールが表示されました。

この画面で音を打ち込んだり消したりすることが出来ます。

f:id:otonasisanoto:20190527090704p:plain

ピアノロールが開く

ちなみにトラックやピアノロールが小さくて見づらいとかの場合は下記のコマンドを使って調整出来ます。

タイムラインの拡大・縮小:Ctrl を押しながら左右キー

縦の長さの拡大・縮小  :Ctrl を押しながら上下キー
.

それから、右上にある四角の格子状のアイコンをクリックするとピアノロールの分割数が変更できるそうです。

そうすると一つのノーツ(一つ一つの音、オレンジのマークのやつ)がどれくらいの長さかを一目でわかって便利です。

ですが自分の場合は何故かできませんでした(-_-;)(解決方法は後で模索します)

f:id:otonasisanoto:20190527091600p:plain

ピアノロールの分割数の変更

 

とりあえず先に進みます。

ピアノロール上ではマウス操作でノーツを編集できます。操作方法は以下のような感じです。

  • カーソルが鉛筆アイコン状態で左クリックで線を引くとノーツの追加
  • ノーツの両端にカーソルを合わせてドラッグ&ドロップするとノーツの拡大・縮小
  • ノーツの真ん中あたりで十字の矢印が出た状態でドラッグ&ドロップするとノーツの移動
  • ノーツを左クリックで削除
  • 左クリックのドラッグ&ドロップで複数のノーツの選択

f:id:otonasisanoto:20190527093021p:plain

ノーツの追加

 

とりあえず簡単に編集するためにノーツを上に上げてみます。

ドラムがわからないので、どの部分をどうしたかは理解してないです。ここも要勉強ポイントです( ・`д・´)

f:id:otonasisanoto:20190527094026p:plain

ノーツの編集

これで再生してみるとちょっと音が変わりました。

 

次回は打ち込みではなく実際の楽器を録音してみます。

自分はベースをやっているので、ドラムの音に合わせて簡単に録音してみようと思います。

 

本日は以上となります。最後まで読んでいただきありがとうございました!

『Cakewalk by Bandlab』をインストールする

どうも音無サノトです。

DTM を始めてみたいな~と思い、フリーソフトの『Cakewalk by Bandlab』が良さげな感じがしたのでインストールしてみました。その手順をメモしておきます。

 

大まかな手順としては以下の通りです。

 

それでは早速始めたいと思います。

 

Cakewalk by Bandlab』のアカウントを作成

 まず下記のサイトに行きます。

www.bandlab.com

 

 すると BandLab のページが出るので右上の Log In をクリック。

f:id:otonasisanoto:20190523112408p:plain

 

すると下の様な画面がでます。

f:id:otonasisanoto:20190523112434p:plain

自分は Google アカウントを利用して作ったのですが、それだと後に面倒くさいエラーが出て、ひと手間増えました。なので、一番下の「Sign Up」からメアドを使って作る方が無難かなと思います。

 

アカウントを作成後にログインすると下の様に BandLab のチャンネルが開きます。

どうやらここでクリエイターをフォローしたり、作曲した音楽をアップしたりできるみたいです。

f:id:otonasisanoto:20190523112522p:plain

 

まあ、個人で遊ぶくらいならあまり関係ないかなと思います。

 

Cakewalk by Bandlab Assistant』のインストール

続いて『Cakewalk by Bandlab Assistant』をインストールします。

先ほどのリンクにもう一度飛び、今度はアイキャッチ部分にある Download をクリックします。

f:id:otonasisanoto:20190523112609p:plain

 

すると自分のパソコンの OS のところに飛ぶと思います。

自分は Windows を使っているのでそれをダウンロードします。

f:id:otonasisanoto:20190523112656p:plain

 

インストーラがダウンロードされますのでそれを起動します。

f:id:otonasisanoto:20190523112733p:plain

 

後は自動で進みますので下の様なアイコンがデスクトップに表示されたらクリックします。

f:id:otonasisanoto:20190523123426p:plain

 

するとログイン画面が出ますのでメールアドレスとパスワードを入力してログインしてください。

f:id:otonasisanoto:20190523114512p:plain

 

Google アカウントで作った人はこの様なエラーが出るかもしれないです。

(2019/05/23 時点で自分は出ました。その場合はここを参照してくだい。)

f:id:otonasisanoto:20190523114652p:plain

 

Cakewalk by Bandlab』のインストール

Cakewalk by Bandlab Assistant が起動したら上画面の「Apps」を選択します。

すると Cakewalk のインストール画面が出ますのでそこをクリック。

f:id:otonasisanoto:20190523114812p:plain

 

すると、インストールするアドオンを選択する画面が表示されます。

全部選択してもいいと思うのですが、それだと不具合が生じた際に最初からやり直しになるそうなので、まずは基本のソフトだけインストールします。必要に応じて一つ一つインストールするのが無難みたいです。

なんか先ほどのエラーといい、あまりよろしくない仕様な気がしますが無料なので目をつぶります。

f:id:otonasisanoto:20190523115045p:plain

 

後はそのまま画面に沿ってインストールするだけです。

 

インストールが終わったらデスクトップにアイコンが表示されるのでクリックして開きます。

f:id:otonasisanoto:20190523122514p:plain

 

試しにデモのプロジェクトを開いてみると下の様な感じになりました。

中身は全く分からないです(-"-)

f:id:otonasisanoto:20190523122451p:plain

 

とりあえずインストールは完了しました。

随時、勉強して記事にまとめようかなと思います。

 

本日は以上となります。最後まで読んでいただきありがとうございました!

『Cakewalk by bandlab Assistant』に Google アカウントでログインできないときの対処法

どうも音無サノトです(^^)/

この記事は『Cakewalk by bandlab』のアカウントを Google のアカウントで作った際に『Cakewalk by bandlab Assistant』でログインできなかった時の対処法をまとめたものです。(2019/05/23 時点)

 

まあ、対処法といってもパスワードを設定して、そのまま Google のメールアドレスでログインしてしまうというやり方になります。

 

Cakewalk by bandlab』のインストール自体はこちらにまとめています。

 

まず Cakewalk by bandlab Assistant を起動すると以下の画面が出ます。

f:id:otonasisanoto:20190523114512p:plain

 

ここで Google アカウントでログインしようとすると下記のエラーがでました。

f:id:otonasisanoto:20190523114652p:plain

 

そこで対処法としてパスワードを設定し、そのまま Google のメアドでログインします。

 

まず BandLab でログインしてフィードのところから自分のアカウントをクリックします。

f:id:otonasisanoto:20190523115411p:plain

 

するとプロフィール画面が出るので、アカウント名の下にある「プロフィールの更新」を選択します。

f:id:otonasisanoto:20190523115517p:plain

 

するとアカウント設定のページが出てくるので左の欄から「パスワード」を選択して、パスワードを設定しアップデートします。

f:id:otonasisanoto:20190523115539p:plain

 

後は Cakewalk by bandlab Assistant で Google アカウントのメールアドレスと設定したパスワードを使ってログインするだけです。

 

ラクしようと思って Google アカウント使ったのにひと手間増えるとは何とも言えない仕様です(-"-)

 

本日は以上となります。最後まで読んでいただきありがとうございました!

【ゲーム制作】Unity 公式チュートリアルの玉転がしゲームを改良③ 障害物の処理を作成する

どうも音無サノトです(^^)

週末のゲーム制作の続きになりまーす。

今日は前回 追加した障害物の衝突判定をやります(`・ω・´)

 

otonasisanoto.hatenablog.com

 

のんびりいきましょう。

 

 

障害物を回転させる

障害物の衝突判定をする前に、ただ4隅を回すだけでは物足りない感じがするので、障害物自体も回転させます。

 

スクリプトを追加して、名前を「Enemy」にします。

f:id:otonasisanoto:20190601082849p:plain

スクリプトの追加

 

次のように処理を変更します。

アイテムを回転させたときと同じような処理にします。

アイテムより速く回転させたかったのでスピードをコントロールする変数を追加しています。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Enemy : MonoBehaviour
{

    public float speed;

    // Update is called once per frame
    void Update()
    {
        transform.Rotate(new Vector3(15, 30, 45) * Time.deltaTime * speed);
    }
}

 

Speed を4くらいにします。

f:id:otonasisanoto:20190601084021p:plain

スピードの変更

f:id:otonasisanoto:20190601084809g:plain


いい感じな動きになりました(^^♪

 

障害物の衝突判定

それでは障害物の衝突判定を実装します。

 

まずは衝突した際に表示するテキストを用意しましょう。

Hierarchy ウィンドウから Create > UI > Text でテキストを追加して、名前を「Lose Text」にします。

それからテキストを下記のように変更。

f:id:otonasisanoto:20190601085845p:plain

Lose Text の変更

 

それから Enemy タグを追加して Enemy オブジェクトのタグを変更します。

Enemy の Inspector ウィンドウより、名前の下にある Tag をクリックして Add Tag... を選択します。

f:id:otonasisanoto:20190601090232p:plain

タグの追加

Tags の下にある「+」アイコンをクリックして Enemy タグを作成します。

f:id:otonasisanoto:20190601090022p:plain

Enemy タグの追加

 

Enemy のタグを変更します。 

f:id:otonasisanoto:20190601090447p:plain

Enemy のタグを変更

 

それから衝突判定に使用する Collider も追加します。

Inspector ウィンドウの下にある Add Componet から Physics > Sphere Collider を選択します。

Is Trigger にチェックも入れておきましょう。

f:id:otonasisanoto:20190601091028p:plain

Collider の追加

これで準備完了です。

PlayerContoller の処理を変更します。コメント部分が今回 追加した処理です。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class PlayerContoller : MonoBehaviour
{
    public float speed;
    public Text countText;
    public Text winText;
    public Text loseText; // 障害物に衝突した際のテキスト

    private Rigidbody rb;
    private int count;

    private int PickUpNum;

    void Start()
    {
        rb = GetComponent<Rigidbody>();
        count = 0;
        SetCountText();
        winText.text = "";
        loseText.text = ""; // loseTxwt の初期化
        PickUpNum = GameObject.Find("Pick Ups").transform.childCount;
    }


    void FixedUpdate()
    {
        float moveHorizontal = Input.GetAxis("Horizontal");
        float moveVertical = Input.GetAxis("Vertical");

        Vector3 movement = new Vector3(moveHorizontal, 0.0f, moveVertical);

        rb.AddForce(movement * speed);

    }

    void OnTriggerEnter(Collider other)
    {
        if (other.gameObject.CompareTag("Pick Up"))
        {
            other.gameObject.SetActive(false);
            count = count + 1;
            SetCountText();
        }

        // 障害物に衝突した際の処理
        if (other.gameObject.CompareTag("Enemy"))
        {
            loseText.text = "You Lose!";
        }
    }

    void SetCountText()
    {
        countText.text = "Count : " + count.ToString();
        if(count >= PickUpNum)
        {
            winText.text = "You Win!";
        }
    }
}

 

テキストを格納する変数を用意して、初期化し、衝突時に表示するように変更しただけです。とっても簡単(^^♪

 

最後に Player に Lose Text をアタッチします。

f:id:otonasisanoto:20190601091516p:plain

Player にテキストをアタッチする

それでは再生してみましょう。

f:id:otonasisanoto:20190601091853g:plain

 

OK ですね(わーい)

 

次回は DAW ソフトを使って BGM の作成をしていきたいと思います。

 

本日は以上となります。最後まで読んでいただきありがとうございました!