日々是unity#5

まとまった時間をとれるのは火曜と日曜くらいだ。
といっても平日なので使える時間は限られているわけだが。


さて続きのカメラ操作からだ。
テスト中、確かにカメラが追従しないことにモヤモヤ感じていた。
cinemachineというパッケージをインストールすれば解決するようだ。
メインカメラに何かしらかのscriptを追加するのかと思ったが、便利なものもあるものだ。

hierarchyにvcamを追加してFollowにRubyをアタッチする。
すると、スイーッとカメラが追従…しないだとっ!

と、どうやらPrehabのRubyちゃんにアタッチしたいたようだ。
ちゃんとhierarchyのRubyちゃんにアタッチしてあげると、追従してくれた。
すんなり終わっているように見えて30分以上はかかっているのである

次のステップはパーティクルの追加。
シューティングの時は、無理やりアニメーションで再現していた気がするので完全初見だ。心してかかろう。

particleSystemにはずらっといろいろなプロパティがついてくる。
全部何言ってるかわからないが、とりあえず書いてある通りにやってみよう。
文字が小さくて見づらいということさえ除けば、かなり自由度が高いシステムのようだ。使いこなせる気がしない。

敵兵の頭から出る煙のパーティクルを作り終えたら、敵兵のscriptを書き直してパーティクルをアタッチ。
いざテスト。

そして、シーンビューでは出ているものの、game画面では出ていない煙。
え、なんでなんで????

すべて書いてある通りにやっているはずなのに、なぜかエフェクトが見えない。
シーンビューで見れているのも不思議だ。一体何の違いがあるんだ?
なんどもステップを確認してやり直しても、一向に見えない煙。

こういう時はgoolge先生だ。
早速聞いてみると、こんな記述を見つけた。

カメラより手前にエフェクトがある場合、エフェクトは画面に映らない。

そんな馬鹿な。
私はずっと2D画面で作っているのだ。
いきなり奥行きが生まれてくるわけがない。

そう思いながら、2Dビューから3Dビューへと変えてみると
ズバリ、カメラより手前にエフェクトがあるのだ。

常に平面で作っているのにこんなこともあるのか!


次に、敵兵に弾が当たっても煙出っぱなしの問題
実はここら辺からscriptの記述があまり詳しくのっていないのだ。
なので、出された問題を解いていくような感じでscriptを書いていく。
パブリックでsmokeEffectなるものを書いて、煙をアタッチして、敵が止まるタイミングでsmokeEffectを止める記述を書く。
その後答えを見て、あっていたのでひと安心。さて、テストをしてみると。

敵兵は治っても煙を噴いている。
なぜだ。
ここでかなり時間を費やしたが、答えは簡単だったのだ。
私はprojectウィンドウのsmokeEffectプレハブをアタッチしていたのだ。
どうやらRobotプレハブの子になっているsmokeEffectをアタッチしなければならないようだ。
今思えばオーバーライドすれば何とかなったかもしれないが、本当にここだけで数時間悩んだ。

そして次の、本日最後のステップである創造性を高める時間とかいう、チュートリアルらしいが初心者にはちょい厳しい項目。
今まで教えたのであと二つ頑張って作ってね~、らしい。

ヒントらしいものはあるものの、私はsmokeEffectですら数時間悩んだんだ。
実はこれを書いている最中もパーティクルが完成していない。
いや、パーティクル自体はこれでいいやと完成はしているのだが、これを実装するscriptがいまいちわかってないのだ。
RubyちゃんにhitEffectなるダメージを受けたときに出るエフェクトを実装すると、回復アイテムを取った時にもダメージエフェクトが出てしまう。
いろいろいじって改良できたかと思えば、エフェクト自体が出なくなってします。
ちゃんと書いてきたはずのダメージ床のscriptかなんかがエラーは吐く。
ここで今日はタイムオーバーだ。


これは、明日も苦戦するかもしれない。
今週中に終わらせて、簡単なゲームの一つでも作ってみたいと思っていたのだが、難しそうだ。

いいなと思ったら応援しよう!