会社を辞めたソフトウェアエンジニアがUnityでゲームを作って稼げるのか?

会社を辞めたソフトウェアエンジニアがUnityでゲームを作ってお金を稼ごうとしているブログです。

UnityでExport Packageするとサイズの小さいパッケージが出来てしまう件

Unity 5.6.3で確認中ですが、Unityのプロジェクトを誰かに渡す時にUnityPackageで渡そうとして

Export UnityPackage

すると、全てのアセットが選べず差分しか表示されずに、困り果てた末にUnityを立ち上げなおしたりするんですが、それでも状況は改善されません。

 

気付かずに「はい、パッケージだよ!」とアセットが欠落したパッケージを渡してしまった後に気付いたらちょっとチーム内でギスギスしそうです。(最初からバージョン管理ツール使ったらいいという噂ですが...)

で、またパッケージ化しようとしてもなかなか上手くいかなくて悩んでしまうコトになります。

悩み過ぎてハゲそうになります。

 

この場合は一度

Select Dependencies

をしてやると、その後プロジェクト全体がうまくPackage化出来るようです。

 

f:id:netadi:20181221214304p:plain

 

もっとも最初Export PackageをしてもPackage化されるファイルがNoneとなってたらしばらく待たないといけないというトリックがありますが...。

 

 

 

 

 

=================================

=================================

 Unityで作ったゲーム「ひつじさん、かぞえてゲットン!」です。

http://uphydn.net/hitsujisan/

 

iOSandroidに対応してます。

 

    

Google Play で手に入れよう

 

uphydnリリースゲーム第一弾!

このブログを始めて1年半ですが、とうとうunityでスマホゲーム(アプリ?)をリリース出来ました!

 

色々とゲームは作ってたんですが、納得いくものが出来ずに思いつきで(構想は15年前からあったんですが...)ゲームの企画が頭に浮かんだんで1ヶ月まるまる昼夜問わずに作り込みました。

 

最初は2週間くらいでリリース出来るボリュームかなと見積もってたんですが、色々と欲が出て仕様が膨らんで4週間とちょっと掛かってしまいました。

 

しかしながら自分の中では納得のいく出来かな?とは思ってます。

 

まだ完成形の途中でバージョンアップするコトで対応、という感じでリリースしました。

 

「ひつじさん、かぞえてゲットン!」

というゲームです。

 

 

f:id:netadi:20181206142451p:plain

ひつじさん、かぞえてゲットン!

 

画面上に現れるひつじを声に出して数えてくれるというアプリです。

 

この声の合成は無料のツール「UTAU」を使用しています。

(作者様、ありがとうございました!)

 

ただ単純にこれだけだと面白くないんで、ひつじの種類を増やして、コレクション要素を加えました。

それだけでもちょっとインパクトがないんで、今度は捕まえられたら面白いかな?というコトでひつじだまを投げて捕まえられるように拡張しました。

そうなると次に捕まえたひつじをコレクションするだけだとやはり物足りないんで、その捕まえたひつじを出現させられるように追加しました。

 

まあ、簡単に言うとこんな感じなんですが...

 

詳しくはコチラ。

http://uphydn.net/hitsujisan/

 

iOSandroidに対応してます。

 

    

Google Play で手に入れよう

 

unityでandroid用にビルドするとどうしてもiOSよりはスピードが遅くなってしまうので、画面の解像度とかレンダリングのクオリティを落としてスピードを上げて普通に遊べるようには仕上げました。(ココ、結構しんどかったところです...)

またこの辺りはおいおいこのブログに書いていこうかなと思います。

 

あと、特徴としてはanima2Dというアセットを使用して2Dのアニメーションを動かしています。

 

最初、このゲームを作ろうというきっかけになったのがこのアセットで、違うゲームでこのanima2Dを使うために評価用としてひつじさんのキャラを作って動かしたら

「お、案外イケるんじゃね?」

というコトでその日から開発が始まりました。(( ´∀` )

 

このanima2Dを使うまでは自力で2DアニメーションさせるかLive2Dを使うか悩んでたんですが... 使って良かったです!

(ちょっとだけ使用感にクセがあるんですがね... またおいおい)

 

あと、必須なアセットとしてはTween系のプラグインであるiTweenも今回初めて使ったんですが、もう止められなくなりました!

(これも少しだけクセがありますが無理やり回避して使ってます)

 

このゲームの開発にあたって感じたコトは、何でも自力でやろうとしたら出来ないコトはないんですが、そこに開発コストをかけてどうすんねん!というコトを再確認しました。

そこに尽きると思います。

 

何かやるときには色々と調べて便利なツールを使って、オリジナリティのある部分に開発コストをかけないといけないなぁ、と思った次第です。

 

 

というわけで、良かったら「ひつじさん、かぞえてゲットン!」試してみてください。

 

Unityのゲームオブジェクトとコンポーネントの関係

久々の更新ですが、もはやUnityは半年以上さわっていません。

ちょっといろいろとやるコトがあったもので... 汗

 

 

以下備忘録です。

 

ゲームオブジェクト

ゲームオブジェクトは基本的には見える物体である。

親子関係を築くコトが出来る。

 親のゲームオブジェクトを動かすと子供のゲームオブジェクトも動く。

 

コンポーネント

MonoBehaviourクラスから派生したクラスはコンポーネントとしてゲームオブジェクトにアタッチ可能。

ユーザーが書いたクラスはスクリプトコンポーネントとしてゲームオブジェクトにアタッチ可能。

 

 

ゲームオブジェクトにアタッチしたスクリプトコンポーネントに書いてあるクラスのメソッドのアクセス方法

 

ゲームオブジェクトのインスタンスAを持っている場合

A.GetComponent<クラス名>().method();

 

ゲームオブジェクトのインスタンスを持ってない場合

Find("ゲームオブジェクト名").GetComponent<クラス名>().method();

 

 

 

旧Animation (レガシーアニメーション)

Unity5.6以上で試しています。

 

レガシーなアニメーションではAnimationコンポーネントで再生するとSpriteのイメージが切り替わりません。

 

例えばこんなの

 

f:id:netadi:20171010204033p:plain

 

他のプロパティは変化するのにイメージが切り替わらない時はAnimatorのコンポーネントを追加するとアニメーションでスプライトのイメージが切り替わるようになります。

Animatorコンポーネントを追加した時に元々のアニメーションクリップを再利用したいのですが、やり方が分かりません。(既存のアニメーションクリップの読み込ませ方が分からない)

 

 

f:id:netadi:20171010204324p:plain

 

再びアニメーションクリップを作製するか、既存のアニメーションウィンドウでタイムラインをCTRL-Aなんかで全選択ー>CTRL-Cでコピーして新しいアニメーションクリップに貼り付ける、のは出来るかと思います。

 

このAnimatorとAnimationのツールがイマイチ使い方が難しいというか。

 

  • 追記

レガシーアニメーションで、デバッグモードでモード(レガシーとかそうでないとか)設定を変更するとレガシーアニメーションでもスプライトの切り替えが出来るようになりました。

 

Unityでチーム内で管理するファイル

 

 

f:id:netadi:20170930114750p:plain

違うパソコンに環境を移動する場合やGitなどでファイルを管理する場合は上図の網掛けしているファイルのみを移動・管理します。

 

プロジェクトファイル

ProjectSetting

Asset (この中に全ての必要なファイルが入っていると仮定)

Visual Studioのソリューション

 

移動後に全再コンパイルします。