ARKit対応アプリ『AR Submarine』制作苦労話③「再問題」
皆さん、こんにちは!
前回は、神が降臨し、再び開発が動き出しました。
言い忘れていましたが、Unityのバージョンは「2017.2」を使用して開発しました。
さて、まず始めに取り掛かったのが、見た目をもっと海の中っぽくする事でした。
現状は、半透明の青い画像が張り付けてあるだけなので味気ないです。
という事で作業を進めていったのですが、またここで問題発生!
iPhoneにビルドして、見た目を確認しようとしたら、、、
ビルドできねえ~!!
私は普段「Windows」を使用して作業しているのですが、Windows版のUnityでビルドしたデータをMacにもっていって、XcodeでiPhoneにビルドを実行しても、
「Shell Script Invocation Error」というエラーが出てできない。はっ?(# ゚Д゚)
Google先生にお聞きした所、なんか「権限が足りなくて実行ができない」との事で、「MapFileParser.sh」に実行権限を与えてやると良いみたいです。
なので、Macのターミナル(←これ)を開いて、「cd」で「MapFileParser.sh」ファイルがあるフォルダに移動し、「ls -l」を実行。
「MapFileParser.sh」の権限を確認すると、「-rw-r–r– 」になっています。
そこで、「chmod +x MapFileParser.sh」で実行権限を与えてやります。
再度、「ls -l」を実行して権限を確認してみると、「-rwxr-xr-x」になっているので、Xcodeで再びビルドを実行すると・・・、
できた~!!
やっぱりGoogle先生は偉大です。
ていうか、この問題の解決策を書いてくださっていた方に感謝です。ありがたや。
これを解決するのにかなりの時間を要しました。。。
だってMac全然使った事ないんだもん。Xcodeも初めてさわったし。携帯Androidだし。。。
まあ、そんな訳で、実機で確認できるようになり、再び作業開始。
これをあーして、こーして、あれがこーなって、あーなって・・・、
こんな感じになりました!!
為す術もなく食べられる魚達・・・。
どうでしょう?少しは海中っぽくなったんじゃないですかね?
まだまだな所はありますが、今はこれが限界!許して!
解説いたしますと、前面にはうっすらと、ブルーのグラデーションをかけ、「LightRays 2D effect」というアセット(Free!)を使って、上からの光を表現しています。
球体をつぶしたようなオブジェクトでシーン全体を覆って、Unityの「Standard Assets」にある「Water」シェーダーを割り当て、海の中の揺らぎを再現(←あんまりできてない)。
シーンライトに「LightCake」というアセットを使って、コースティクスを表現。
「LightCake」は残念ながらもうアセットストアにはありませんが、シーンライトのCookieに割り当てた連番テクスチャをスクリプトで制御し、アニメーションさせているようです。
カメラ前に泡のパーティクルを配置し、珊瑚からも泡が出るようにしています。
あとはポストエフェクトで良い感じに調整して終わり!
今回は、比較的まともな事を書いている私。
次回はどうなってしまうのか?
またもやとんでもない事件が発生!
次回、「携帯を失くしたけど無事に見つかった事件!」に続く!
ホントに生きた心地がしなかった~( ;∀;)
(Cole!Cole!クリエイターU)