読者です 読者をやめる 読者になる 読者になる

Unityチャレンジその1

Unityいいなとかゲーム作りて〜などと言いつつ今まで本だけ買って満足していたのでマジでやるぞ。
まずはこれだー!
github.com

公式の玉転し。
できたー!
Unity WebGL Player | Roll-a-Ball-myprac
・緑のピンを全部とるゲームです。
・キーボード→で玉を移動できます。
・ピンクの壁にぶつかるとはじめからやり直しになってしまうぞ!

日曜日の午後から初めて公開まで5時間?くらいだろうか・・・前にちょっと触った時は何が何だかわからなかったんだけど集中してやったら何となくわかってきた感じがする。
そういうわけではまった?ところを書きます。

ゲームが完成するまで

参考にしたリファレンスは上記の通り。
環境はMac、Unityバージョンは最新(5.5.1)
ここ
Unity - Update
からダウンロードしたのは良かったんだけど、よく確認せずにダウンロード、インストールしたせいで、後述する公開段階になってつまづいた。

作成中につまづいたりしたことは・・・

・パネルオブジェクトの動かし方(操作方法)
 positionで座標変更するのはわかるんだけど私はドラッグで移動させたかった。そしてドラッグ移動は割と癖があるような気がします(個人差がきっとめちゃくちゃあります)
 ちゃんと移動させたいオブジェクトの座標ど真ん中あたりをクリックしないとダメっぽい。
 最終的には座標で調整するんだけど、動きを掴むまでは「なんで!動かない!なんで!」ってなった。。。
・オブジェクトへの色のつけ方(操作方法)
 今となればちょっと恥ずかしいけどAlbedoの横のスポイトみたいなやつではなく四角いところをクリックしよう。
 わかってる今となってはなんでわからなかったのかよくわからないけど多分手順書をよく読まなかったからだと思う。
・キーボードの入力は何に対応しているのか(操作方法?)
 入力機能の追加でキー入力がボールの動きに対応するようになったのはいい。で、再生して「何が」対応するようになったのかわからなかった。これも恥ずかしいんだけどキーボード上下左右キーです、、、なんか勘違いして1とか4とか押してた。
・Itemは画面上に8つしかないのに9こItemがある(操作ミス?)
 これはゲームのクリアを追加する、の場面で。Itemオブジェクトだけではなくてそれらを単にまとめているだけのItemフォルダにもItemタグを追加していたため。タグが付いているオブジェクトの数を数えるんだから当然なんだけど、ユーザーの操作で消えるItemは8つにしていたために「もう一人いる・・・???」状態だった。

公開するまで

これがめちゃくちゃ時間かかりました。
順を追う。

①WebPlayerで公開する

→ダメだった。
まずBuildするのにWebPlayerがない。
f:id:flypia:20170205221346p:plain
一番上にあるはずなんだよなあ〜
注意点としてはWebPlayerを別途ダウンロードしないと遊べない、Chromeなど一部ブラウザでプレイできないなど。。。
Unityで作ったゲームをWebPlayerで公開する - Qiita
参考にさせていただきました。
なんでないんだろうなあ、調べてもわからなかったんだけどUnityのバージョン依存かなんかでないんだと思っておくことにしました、、

WebGLで書き出し

→キャプチャを撮ってなかったんだけど、Build SettingsにWebGL項目はあるのにインストールしろ見たいなボタンが出ていて、ボタンを押してもダウンロードできないという。
ここではじめ適当にUnityをダウンロードしてしまったことが響いてくるんですが、後からダウンロードして事なきを得ました(よかった)
【Unity】Android SDKやJDKを設定する項目が見つからない時の対処法 - テラシュールブログ
めちゃくちゃ参考にしましたありがとうございました。。。
要ははじめにインストールしてなかったので、ないものはできないよっていう話。
手順としては、Unityをインストールした時のインストーラーを起動して、
・すでにあるもののチェックを外した状態で、
・必要なものにチェックを入れて
インストールするだけです。それはそうなんだけど、そんな事やった事なかったからドキドキした。
f:id:flypia:20170205223502p:plain
こんな感じでインストールしなおしてください。
すると、WebGLBuildができるようになるぞ!やった〜

③どこで公開するか?

[unityroom編]
→引き続き調べるとこんなサイトが!
ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう
楽しげ〜〜とビビっときてここで公開する方法を探す。
手順としてはTwitterアカウントを作って、連携することでアカウントを作成、右上の新しいゲームを登録するからアップロードするだけ。なんて簡単なんだ、、、
ほ〜〜んとめっちゃ簡単なのに結論としてはできなかった。
WebGLでBuildしたものの中のReleaseフォルダ内を全部アップロードするだけなんだけど、足らないんですよね、、、
f:id:flypia:20170205222438p:plain
この中の.jsgzファイルがね、、二個あるんだよね、、二個アップロードしたいんだけどさ、、
f:id:flypia:20170205222256p:plain
足らない。。。
足らないなりにアップロードしてみたけどエラー出て動かないし、どうもUnity5.4以下じゃないと動かないらしくて断念(確定情報ではないです)

[githubpageで公開編]

githubでwebページを公開する方法がわからなかったために時間がかかってしまった。
参考にさせていただきました(本当にありがとうございました)
UnityのWebGLで書きだしたゲームをGitHubを使って公開する - Qiita
GitHubを使って3分でHPを公開する。 - Qiita

前提条件として、
githubでWebページを公開するためには、
 ・username.github.io.gitリポジトリを作成する  
詳しくはGitHub Pages - Websites for you and your projects, hosted directly from your GitHub repository. Just edit, push, and your changes are live.
 ・その上で公開したいレポジトリから[gh-pages]というブランチを切って、必要ファイルを入れる、もしくは
 公開したいレポジトリのmasterブランチにdocsディレクトリを作る。

これらが必要。
なんだけど、はじめのレポジトリ作ってなくてマスターにプッシュしまくってた。
index.htmlリンクをクリックしてもソースが出てくるだけになるので気をつけよう。

[その他]

そんなわけでいらないレポジトリをたくさん作ったら消しておきましょう。。
消したいレポジトリを選択して、歯車マークの付いてるSettingをクリック。
遷移先の最下部にDelete this repositoryがあるんでそこから消しちゃおう〜

感想

ちょいちょい戸惑ったけど、とっても楽しかった!
ボールに対して物理演算機能を追加して、落下を確認した時は「すっげ〜〜〜〜〜〜!!」
ってなりました。すご。
5時間足らずでボール転がしが作れてしまうなんてなんで今までやらなかったんだろう。。
でもまとまった時間で一気にやるのが自分にとってはいいのかなとも思う。
土日で基本的なゲームを作って、平日に機能追加してくのが良さげなのかな。
そんなわけでチュートリアル玉転がしを改造していくぞ〜!
フィールドをまずは広くしよう。続!