原カバンは鞄のお店ではありません。

Unityを使ったゲーム制作のあれこれを綴っていきます。

【Unity】Room6ゲームジャムに参加した話

GW終了

GW最終日に洋服を買いに行ったら顔なじみの店員に「GWは何処かに行かれたんですか?」と聞かれたので、咄嗟に「あ~、アチコチ行ってましたね、温泉とか」とありもしない旅行話を創作した皆さん、こんにちは。

 

元号も「令和」に変わり心機一転、私も新しい自分に生まれ変われるような気分でGWに突入したものの、結局気分だけで実体が伴わなかった為、くだらい見栄を張りました。ごめんなさい。実際は9割がた部屋でゲーム作ってた。

 

というのも・・・

前回の記事でも紹介したのですがゲーム会社「Room6」によりゲームジャムの企画が行われていたので、GW期間中はそのイベント参加用のゲームを作っていました。

 

出来たゲームはこちら

unityroom.com

落下する幾何学図形のモデルを左右キーで移動させます。

同じ色のブロックを壊すことができ、同じ形状のホールを通過することができます。

スコアが15,000点に達したらクリアです。

結構簡単なゲームだと思うので是非遊んでください(PCのみです)。

 

f:id:Karvan:20190507214406g:plain

 

動画のとおり画面も操作も非常にシンプルな造りとなっています。
GW前の構想段階では「3日もあればできるかも」とか考えていたのですが、実際に投稿したのは締め切りギリギリになってしまいました。

 

「15,000点に達したらクリア」という仕様にしたのも製作の遅れからステージ制を断念、ハイスコア管理も実装が時間的に間に合わなかった結果によるもので、意外と締め切りに追われる作業スケジュールとなってしまいました。

 

f:id:Karvan:20190507214835p:plain

最後の方はこんな気分

 

製作過程を振り返ってみよう

なので今回は反省の意味をこめて、GW期間中の製作過程を振り返ってみようと思います。

 

4/27,28

GW前にゲームジャムの情報を知った為、頭の中である程度ゲームの仕様(落下するオブジェクトを操作する)を固めた状態で作業に取り掛かる。

 

細かい部分は実装しながら詰めていけばいいやーとか思っていたが、そもそも「Player側を落下させるか、Block側を上昇させる(相対的に落下しているように見せる)か」という根本的な造りに悩み、あれこれ試作を繰り返して時間を浪費する。

f:id:Karvan:20190507220034p:plain

 

4/29,30

落下動作はUnityの物理演算に任せればいいやーとか思っていたが、物理演算による挙動とPlayer側のキー操作による動作が上手く整合が取れず、結局物理演算をあきらめて落下動作も自分で制御することにする。あー面倒くさい。

f:id:Karvan:20190507220034p:plain

 

加えて3列横並びに並べていたBlockを円周上に配置するように変更、それに伴いPlayer側のキー操作も変更する必要になった。面倒くさい、面倒くさい。

 

GWも4日過ぎて未だ試行錯誤の状態、完成する気が0になる

f:id:Karvan:20190507220439p:plain

 

5/1

GW前に偶々チケットが取れて予定していたナナヲアカリのライブに参戦。

気分転換もかねてゲーム制作は休止する。

ライブではしゃぎすぎて腰を痛める。そして「ダ、ダ、ダ、ダメ天使は~♪」のフレーズが耳から離れなくなる。

 

5/2,3

気分を入れ替えて作業を進めた結果、やっとゲームの形になる。そしてゲームがあまりにシンプルで単調だということに気づく。

なのでホール通過時にカメラもホールを通過させたり、落下速度が速くなるにつれてカメラの角度を変えたりと、単調さをゴマかす演出を試行錯誤する。あと、ライブで歌われた曲の中で気に入ったナヲアカリの曲をダウンロード購入する。

 

5/4

パーティクルやらSEやらをつける作業を開始。もしかして間に合わないかも・・・という考えが再度頭をよぎるが、「やんないじゃない、できないんだ!ドヤッ」というナナヲアカリのフレーズに勇気付けられながら、開き直りの精神で作業をすすめる。

 

5/5

タイトルロゴを作成し、スタートからゲーム開始までの流れを作る。

そして前述のようにステージ制を断念、ハイスコアの管理とか何それ美味しいの?状態になったので、「15,000点に達したらクリア」と言う強引過ぎる仕様に変更する。

そしてナナヲアカリ氏のTwitterアカウントを発見してフォローする。

 

5/6

23時の締め切りに間に合わせるためにゲームオーバーの処理やらエンディングやらをやっつけで作成する。

当然のことながらレベルデザインとかバランス調整とか殆どできずにクオリティに不安になるが、きっと主人公補正とか掛かっているから大丈夫、最近よく思うようになったんだ。なんとなくすごく!(『ハッピーになりたい』 by ナナヲアカリ)、みたいな気分で乗り切ってunityroomへ投稿、何とか締め切りに間に合う。

f:id:Karvan:20190507221319p:plain

ありがとう、ナナヲアカリ

 

ゲームジャムに参加した感想

何故か後半はナナヲアカリ日記みたいになりましたが、この期間を振り返ってみて一番に思うことは、締め切りに間に合う事が出来て良かったということと、自身のゲームを仕上げるノウハウの無さを再認識した、ということでしょうか。

構想段階ではアレコレ演出やら機能ならを考えていたのですが、そのうちの3割ぐらいしかゲームに実装できなかった気がします。それに「ゲームの面白さ」部分に関しての掘り下げが甘かったなぁ、と反省しています。

unityroomでは今回の企画と似たような「一週間ゲームジャム」といったイベントがあるので、また機会があれば短期集中型のゲーム開発に挑戦してみたいですね。

 

 

 

 

 

 

 

【Unity】Unity2019.1にアップデートしたらTextMeshでエラーがでた(定期)

10連休が待っている

GW10連休が間近と言うことで早くも休み気分で本業をこなしている今日この頃。
まぁ10連休とはいえ、どこかに旅行に行くとか、友達と飲み会をするとか、彼女とデートをするとか、そんなリア充な生活とは無縁なので、ほとんど自室の中で過ごすとは思うのですが、そんな私にピッタリの企画を発見

 

room6GameJam

www.room6.net

 

ゲーム会社「room6」の企画でGW期間中にゲームを作ってunityroomへアップすると言うイベント。


オープン参加らしいので気軽に参加できますし、なにかしらの賞品も出るようです。暇つぶしにがんばろう。

 

そんなこんなでバージョンアップ

AdMobのアカウント停止がようやく解除されたので、それにともなって「Dull Things No Life」のバージョンアップを行いました。
新ステージと新ギミック(障害物)の追加です。

 

Grid

f:id:Karvan:20190420212935g:plain

近づくと網目のように壁が隆起します。その間を潜るのですが、網目の中にはレーザの梁があるのでジャンプしてかわします。

 

Roulette

f:id:Karvan:20190420213234g:plain

番号をランダムで決定します。番号に応じたドアが開くのでその下をスライディングで潜って前へ進みます。

 

新ステージは5ステージ追加で上記の新ギミックが登場します。是非ダウンロードして遊んでください。

 

bit.ly

apple.co

Unity2019.1にアップデート

「Dull Things No Life」の開発もこれで一段落ついたので、Unityを2018から2019へアップデートすることにしました。

 

Unity2019へのアップデート通知は以前から受けていたのですが、なにせ今までアップデートをする度に何かしらエラーが発生し、その度に対処で時間がとられる、という苦い経験をしてきたので「Dull Things No Life」のバージョンアップが終わるまでは保留にしていたんです。

 

で、このたびアップデートしてみたら案の定、コンソールにこのエラーが・・・

 

C:/Users/・・・・・・/Library/PackageCache/com.unity.textmeshpro@2.0.0/Scripts/Runtime/TMPro_UGUI_Private.cs(1865,73): error CS1644: Feature out variable declaration cannot be used because it is not part of the C# language specification

 

f:id:Karvan:20190116001150p:plain

何度目だ(ほぼ定期だな)

 

最初はLibraryにあるtextmeshpro関連のファイルを消してみたのですが、Unityを再起動すると消したはずのファイルが復活して同じエラーが表示、思い切ってPackageCacheごと消してみても状況は変わらずエラーは消えませんでした。

 

Google先生に尋ねて色々調べるとC#のRuntimeVersionが.NET3.5になっているのが原因らしい。
なので、RuntimeVersionを.NET4.xに戻すとエラーが消えて問題なく動作しました。

 

RuntimeVersionを変更する場合はProject Setting>Player>OtherSettingsを選んでConfigurationにある『Scripting Runtime Version』で『.NET4.x Equivalent』を選択します。

 

f:id:Karvan:20190423215648p:plain

 

そんな設定が必要なんですね。知りませんでした。

 

f:id:Karvan:20190116001258p:plain

なんせ前バージョンではちゃんと動いていたんですからね!

(これもほぼ定期)

 

【Unity】(小ネタ)OSの言語を取得してURL表示先を変える

つい先日のことですが、実家で飼っていた猫が息を引き取りました。

 

19歳という、猫としては高齢だったので寿命といえば寿命なんですが、やはり長く生活を共にしていた存在が突然いなくなると、その喪失感は大きいですね。

 

思い出すと辛くなったりするのですが、とはいえ後ろばかりを振り返ってはいられないので、今回も元気はないけど記事を更新します。

 

バージョンアップ版テスト中

GoogleAdMobのアカウント停止がもうすぐ解除されそうなので、それに伴ってDull Things No Lifeのバージョンアップを行っています。

 

現在は追加した新しいギミック(障害物)と新ステージのテスト中です。


新ギミックについては次回の記事で紹介したいし、アプリ自体はAdMobのアカウント停止があける位にリリースすべく頑張っています。

 

f:id:Karvan:20190219221455j:plain

 

このDull Things No Lifeでは操作方法やギミック(障害物)を紹介するページを用意していて、GoolgePlayやAppleStoreのアプリ詳細にリンクを貼っています。英語版も作成しているのでアメリカやらの英語圏では英語版のページにリンクが貼られています。

 

で、よく考えるとアプリ内では一応、最初の3ステージはチュートリアル的な位置付けで操作方法が表示されるようにしているのですが、それだけでは少し不親切だと感じていたので今回のバージョンアップに伴って、アプリ内から上記の紹介ページが表示されるように改修しました。

 

ただ、紹介ページは日本語版と英語版の二つあるので言語環境に応じてURL表示先を変える必要がありました。

 

といわけで実装

アプリが実行されている言語環境を取得するには、ApplicationクラスのsystemLanguageプロパティを参照すれば可能です。

 

string deviceLanguage = Application.systemLanguage.ToString();

 

日本語の場合は"Japanese"が返却され、英語の場合は"English"となります。
URLを指定してブラウザを開くにはApplicationクラスのOpenURLを使用すればよいので、systemLanguageプロパティを判定してURLを設定⇒OpenURLで表示、となります。

 

string url_jp = "日本語のURL";
string url_en = "英語のURL";

string deviceLanguage = Application.systemLanguage.ToString();

if(deviceLanguage == "Japanese"){
	Application.OpenURL(url_jp);
} else {
	Application.OpenURL(url_en);
}

 

今回は小ネタでしたね。まぁ、いつも高度な記事を書いているわけではありませんが。

 

 

 

【Unity】Dull Things No Lifeで使用しているアセットの紹介

TOKYO SANDBOX

先週末はTOKYO SANDBOXというインディゲームのイベントが合ったらしいのですが、福岡住まいの人間には参加の旅費も痛い出費となるので参加することなど出来ず、部屋の中でDull Thing No Lifeの追加ギミック(障害物)やら追加ステージやらを作ったり、葦名の国で俊敏な婆ぁと死闘を繰り広げたりしていました。やっと倒せた。

 

私もゲームアプリで成功して、関東近辺で開催されるようなこういうイベントにも気軽に参加できるような人間になりたいのですが、何ぶんにも現状ではアプリの収益は全く上がっていないので、そんな希望は当分叶いそうにありません。

 

年始にひいた御神籤には「改めかえてすれば望事叶い喜び多し」と書いてあったのになぁ・・・前提条件の「改めかえてすれば」って、反省が足らないんですか?

 

宣伝

で、実は春休み効果を狙って期間限定でAdwordsに広告を出稿していました。

 

一応1000DLは達成したのですが、何故を間違ったのか広告の配布先をアメリカに設定していたのでアメリカでのダウンロード率が97%と、春休み効果なのか良く分からない状態になっています。

 

次の狙い目はGWの10連休でしょうか、ちょうどAdmobアカウントの停止も解除される時期なので、これに併せてアプリのバージョンアップと広告の出稿を目論んでいます。

 

とはいえ広告を出さなくてもダウンロード数を伸ばしたいで、今回も宣伝です。

 

f:id:Karvan:20190122223555p:plain

 

ビートを感じて走れ!飛べ!新感覚ランゲームDull Things No Life
スピードと音楽が連動した爽快感を味わえるゲームです。

 

Android→http://bit.ly/2F51Lqp

iOS→「Dull Things No Life」をApp Storeで

 

是非、DLして遊んでください

 

使用しているアセット

さて、今回はDull Things No Lifeで使用しているアセットの紹介です。

Unityを触りだして3,4年ぐらいになりますが、年々アセットストアに並ぶアセットが質量ともに充実してきていると感じます。

 

■完成プロジェクト

assetstore.unity.comDull Things No Lifeのベースになった完成プロジェクト
結局一から作り直したのですが、音声ファイルやカメラの処理などは流用しています。

 

■ツール系

assetstore.unity.com音楽に合わせてイベントを発行してくれるアセット
BGMに合わせて物を動かしたり、色を変えたりやらが簡単に実装できる
詳しい使い方について記事に纏めています。

 

音ゲー製作には必須?Koreographerを使ってみたよ - 原カバンは鞄のお店ではありません。

 

assetstore.unity.com広告表示やら課金やら通知機能やらを纏めた総合機能アセット
スクリーンショットをGIF化したり色々できる。
これも使い方を記事纏めています。

 

【Unity】アセット『Easy Mobile』を使ってAdmob広告を実装 - 原カバンは鞄のお店ではありません。

 

assetstore.unity.comイベントムービー等を作る際に使うカメラワーク用のアセット
被写体を追いかけての撮影や複数カメラのカット割りなどが簡単にできます。

 

 ■3Dモデル

assetstore.unity.com主機のMotorBikeの3Dモデルです。
テクスチャは赤以外にも青と緑がありますが、赤が一番カッコイイ

 

assetstore.unity.com近未来都市用の素材モデル。無料化されたので使ってみました。(現在は有料)
結構なボリュームがあります。

 

assetstore.unity.comSF風3Dモデル素材。テレポーターとかブロックとか
こちらも無料でした(現在は有料)。結構使える素材が多かったです。

 

■UI

assetstore.unity.comSF風のUI素材
ボタンやウィンドウに使用しています。

 

assetstore.unity.comUIアニメーションのテンプレート集
タイトルやメッセージをちょっとお洒落に表示させたい時に使えます。

 

 ■エフェクト

assetstore.unity.comカメラにアタッチして使う画像処理エフェクト
画面が鮮明になってシャープさが増します。
BloomやOutlineなどのエフェクトも使えますがその分負荷は増します。

 

■シェーダー

assetstore.unity.com平面の地形を球体のように湾曲させて描画するシェーダー。
曲率はスクリプトで変更可能

 

unity-chan.com主機のMotorBikeにはこのシェーダーを適用しています。
3Dモデルをアニメイラスト風にレンダリングしてくれます。

 

こうして並べてみると結構いろんなアセットを使っていることに気づきます、他にもTween系とかパーティクルも使っているし。

 

個人的にお勧めはBeautifyでしょうか。
カメラにアタッチするだけで綺麗な画面を作ることが出来るし、モバイル環境でもソコソコの負荷で動かすことができます。

 

ゲーム制作中の方の参考になれば幸いです。

 

【Unity】UnityAdsを導入したらビルドエラーになった話

令和

新年度が始まると同時に5月に改元される元号が発表され『令和』に決まりました。

元号が変わるということで、少し閉塞感が漂う現代社会も心機一転、大きく変わりそうな予感がしますが、個人的な生活の範疇では低めに漂う停滞感から抜け出せる予感が全くしません。

 

というもの、前回の記事で書いたようにGoogleのAdMobから突然のアカウント停止の処置をくらい、併せてAdSenseのアカウントも停止、Adwordsに出稿した広告も表示回数が思うように伸びないとか、ここ最近のGoogleとは相性最悪だったり、贔屓のサッカーチームは全然勝てないし、気晴らしに買ったSekiroはまぼろしお蝶に殺されてばっかりだし、もう一生分の『死』という字を見た気がする。

 

そんな感じで色んなことに足元を取られてばっかりな日々なのですが、とりあえず足掻くだけ足掻こうと、リリースしたばかりの"Dull Things No Life"をIndie Game Festival 2019に応募することにしました。

 

indiegamesshowcase.withgoogle.com

トップ20に選ばれた場合はGooglePlayで取り上げてもらえるので大きな宣伝になります。またゲーム開発者として大きな箔がつきますし自信にもなるので、まるで首無しの霧に足を捕らえられたかのような現状を打破する大きなきっかけになると思うのです。

 

まぁ、今年に入ってGoogleさんからは鞭ばかりを味合わされているので、ここら辺できっと美味しい飴をもらえるに違いありません。(とはいえ。去年も応募してダメだったけど・・・)
とはいえ、"Dull Things No Life"がその名前を刻むことを期待して応募したいともいます。

 

なので宣伝

ビートを感じて走れ!飛べ!音楽と融合した新感覚アクションゲーム"Dull Things No Life"

 

f:id:Karvan:20190219221455j:plain

 

Android版:「Dull Things No Life」をGoogle Playで

iOS版:「Dull Things No Life」をApp Storeで

 

Indie Game Festival 2019に向けて新しいギミック(障害物)と新ステージを追加予定です。簡単操作で何時間でも遊べるゲームとなっていますので、是非、ダウンロードしてください。

 

ここから本編

で、GoogleAdMobのアカウントが停止となっているので、現在はアプリ内広告をUnityAdsに変更したバージョンがリリースされています。

 

UnityAdsはUnityが提供する広告表示用のSDKでUnity2018ではパッケージとして既に組み込まれているので、AdMob等のほかの広告ユニットと比べて非常に導入が簡単です。

 

Unity2018以降からUnityで開発を始めた方はUnity メニューの「Window>Services」にある「ADS」をONにして、スクリプトで名前空間「using UnityEngine.Advertisements」を記載すれば、広告表示に必要な処理を組み込むことができます。

 

PCでのデバッグPlayでテスト広告も表示可能なので、広告表示後のスキップもしくは完了時の処理などもPC上で確認することができて導入がスムーズに行えます。

 

baba-s.hatenablog.com

 私も最初は上のリンクの導入手順を読んで「めっちゃ簡単じゃん!」と喜んでいたのですが、ただ、これはUnity2018以降からUnityで開発を始めた方に限った話だったり、そうでなかったり・・・・

 

ビルドエラー

まず、手順どおり「Services」の「ADS」をONにして、スクリプトに「using UnityEngine.Advertisements」を記載。
UnityAdsのAPIを使って広告表示の処理を組んで・・・あれ?

 

(;´・ω・)API(Show等)が認識されない・・・

 

VisualStadio上で「Advertisement.Show」とか書いても赤線が引かれてエラーとなりました。手順的には間違ってないはずですが、設定を何度も見直してUnityの再起動とか繰り返しても一向に改善されない。


仕方ないのでアレコレとネットを調べていると、こんな記事が
「UnityAdsのSDKが認識されない場合は、アセットストアから再度インポートする」

 

(・`ω´・)おお、なるほど!

 

早速アセットストアから「Unity Monetization 3.0.3」というアセットを探してインポート

 

(`・ω・)!!、やった!認識した!!

 

UnityAdsのAPIに引かれていた赤線が消えて、UnityAdsの処理を加えることができました。あとはビルドして実機で確認すれば・・・

 

Unity『ビルドエラーやで!!』
・・・(゚Д゚)ハァ?

 

さて、なにが問題だったのでしょう?

 

 ライブラリが重複

色々調べた結果、原因は、「Asset StoreからインポートしたUnityAds」と「Unity2018ですでに内包しているUnityAds」で、「UnityAds.framework」が重複している、でした。

 

UnityAdsのSDKは現在PackageManagerからバージョン確認やアップデートを行うことができます。そして、その中身はAssetウィンドを確認するとPackage配下に格納されているのがわかります。

f:id:Karvan:20190403003647p:plain


一方、Asset StoreからインポートしたUnityAdsは、
Assets > Plugins > iOSとAssets > Plugins > Android
の方に入っていました。

なので、PulginフォルダにUnityAdsのSDKはばっさりと削除するとビルドエラーもなくなりました。

 

つまり、Unity2018でUnityAdsのAPIが認識されない場合の正しい対処法としては

  • アセットストアからUnityAdsのSDKをインポートしない
  • PackageManagerからADSを選択、「Install」を押して改めてインポート

となるみたいです。

 

Unityもバージョンアップを繰り返してその仕様が大きく変わっているので、問題が発生して対処法がネットに載っているとしても、その情報がいつの情報なのか十分に注意して参考にする必要がありますね。

 

 

【Unity】GoogleAdMobにアカウントを停止された話

最初に宣伝

先日、「Dull Things No Life」というラン&ジャンプゲームをリリースしました。

 

f:id:Karvan:20190122223555p:plain

 

ランゲームながらリズムゲームの要素を取り入れた操作感で遊ぶことができる、音ゲー好きの方にも楽しんでいただけるゲームとなっています。

 

■Android版

bit.ly

■iOS版

apple.co

是非、ダウンロードして遊んでください。

 

そして突然、広告が表示されなくなった

で、アプリをリリースして実際にそのアプリがストアに掲載されいるのを確認すると、それまで色々な苦労はあっても、ちょっとした達成感というか、「ああ、頑張って良かったな」とか「これで一息つけるな」みたいな安堵感を味わうものなんですが、私の日ごろの行いの報いなのか、どうもそう物事は上手く運ばないみたいで、突発的に問題が発生。

 

( ,,`・ ω´・)あれ?広告が表示されない・・・

 

そう、リリースして一週間後、急にアプリ(Dull Things No Life)内の広告が表示されない状態になりました。

 

Dull Things No Lifeではコンティニュー時に動画広告(リワード広告)、メニュー画面に戻る際に全面広告(インタースティシャル広告)を表示しているのですが、それらが一切表示されない。昨日までは問題なく表示できていたはずなのに、それが今日になると突然何をやっても表示されません。

 

最初は「(携帯の)通信速度が遅いのかな?」とかのん気に考えていたのですが、いくら時間がたっても解消されないので疑問に思い、GoogleAdMobのページにログインして設定を確認しようとすると・・・

 

(;´・ω・)ログインできへん・・・

 

慌ててメールを確認すると、GoogleAdMobチームからこんなメールが届いてました。

 

このたびお客様のAdMobアカウントにおいて不正な操作が検出されました。そのため・・・

 

あ~・・・30日間のアカウント停止、だそうです。それに加えて

 

アカウント停止は一時的な措置であり、異議を申し立てることはできません。

 

一切の異議を受け付けないそうです。
つまり、これから30日間は絶対に広告が表示されない状態続く、ということ。

 

(ノ>_<)ノ ≡●ヤッテランネー

 

 広告停止となった原因

GoogleAdMobチームからこんなメールによると

 

テストモードでないAdMob広告をお客様ご自身でタップされていることが確認できました。

 

とのこと、AdSenseプログラムポリシーによれば、開発者が自分のアプリ内で表示されている広告をクリックするのは、クリック数を作為的に増やす行為とみなされポリシー違反となるようです。

 

私自身は広告をクリックした覚えはなかったのですが、アプリのアルファテストが終わった後も宣伝用にプレイ動画を撮るために正式リリース版で遊んでいたので、その最中に誤ってクリックしていたのかもしれません。
または、インタースティシャル広告で表示されている「広告を閉じる」系のボタンは押していたので、そちらのほうが問題になったのかもしれません。

 

どちらにせよGoogleAdMobを利用する以上はポリシーに従うのは当然で、私に非があるのは分かるのですが、とはいえ一切の警告なく、突然の停止されるとこっちはお手上げです。

 

アカウントが停止されると広告収益も入ってこなくなるので、収益分を見込んでGoogleAdwordsに広告出稿するような宣伝手段も取れなくなりました。

 

これからの対応

アカウント停止が解除されるのを待っていても仕方ないので、今週に入ってから広告ユニットをUnityAdsに変更したバージョンをリリースしました。

 

が、こちらも何故か上手く広告が表示されません。。。うーん。。。。

 

なので色々調査が必要なのですが、なにせ早急に対処しないと広告出稿できる費用が尽きてしまうので(広告収入が入らないから)、結局ダウンロード数が伸びずじまいになってしまいそうでとても怖いです。

 

ゲーム開発者にとって収益があがらないことよりも、自分が作ったアプリが人目に触れることなく消えていく事が一番悲しいことですし。

 

また、広告ユニットをUnityAdsに変更する際にもビルドエラーやら色々トラブルがあったのですが、それはまた別の機会に記事にしたいと思います。

 

【unity】スプライトマスクを使ってみよう:Dull Things No Life編

リリースしました!!

先週はAppleStore審査にリジェクトという憂き目にあって絶望の淵に立っていたのですが、その審査もなんとか通過することができて、苦節8ヶ月、「Dull Things No Life」がようやく、やっと、Android版、iOS版ともにリリースとなりました!!ワー、パチパチ、、

 

f:id:Karvan:20190319232830p:plain

「Dull Things No Life」は所謂ラン&ジャンプゲームですが単純なランゲームではなく、リズムゲームの要素を取り入れた操作感で遊ぶことができる、音ゲー好きの方にも楽しんでいただけるゲームとなっていますので、是非、ダウンロードして遊んでください(しかも無料!広告は表示されるけど)

 

・タイトル画面

f:id:Karvan:20190219221455j:plain

 

 

・プロモーション動画

youtu.be

 

Android版:

bit.ly


iOS版:

apple.co

 

タイトル画面の話

で、上のタイトル画面ですが、アプリを起動して即、画像の状態になるわけではなくて、最初は白線で「Dull Things No Life」とのみ書かれた画面から徐々に変化して、色付きのタイトルロゴへが完成する演出となっています。

 

f:id:Karvan:20190319235617g:plain

 

実はこれは全てスプライトマスクを使用して実装しています。

スプライトマスクとは何ぞや、という方は以下の記事を参照してください。

 

www.karvan1230.com

スプライトマスク

スプライトマスクが普通のイメージのマスクと異なる点は

  • 切り抜きの範囲をマスクの内側か、外側か、指定できる
  • マスクの子オブジェクトにする必要がない
  • その代わり全てのスプライトマスクの影響を受ける

等が挙げられます。

 

その中で特出すべき点は「切り抜き範囲をマスクの内側か、外側か、指定できる」という性質で、これを上手く使うと面白い演出を作ることができます。

「Dull Things No Life」タイトル画面の白線タイトルが浮かび上がってくる演出は、まずマスクを二枚用意して、その下のスプライト(タイトル文字)に「Visible Outside Mask」(=マスク外を表示)を設定

 

f:id:Karvan:20190320002429p:plain

あとは二枚のマスクを徐々に引き上げていけば、何もない空間から徐々に文字が現れる演出を作ることができます。

 

以後の動きも二枚のマスクとスプライトの内外表示設定を使い分け、同じ要領で作っているので、どんなふうに作っているのか想像してみてください。

 

もう1回宣伝

そんな感じで色々と細かい演出にも力を入れて作っているので、是非、ぜひ、ダウンロードして遊んでみてください!!!

 

f:id:Karvan:20190225205850j:plain

 

 

 

 

 

 

 

◇プライバシーポリシー

●個人情報の利用目的

当ブログでは、メールでのお問い合わせ、メールマガジンへの登録などの際に、名前(ハンドルネーム)、メールアドレス等の個人情報をご登録いただく場合がございます。

これらの個人情報は質問に対する回答や必要な情報を電子メールなどをでご連絡する場合に利用させていただくものであり、個人情報をご提供いただく際の目的以外では利用いたしません。

●個人情報の第三者への開示

当サイトでは、個人情報は適切に管理し、以下に該当する場合を除いて第三者に開示することはありません。

・本人のご了解がある場合
・法令等への協力のため、開示が必要となる場合

個人情報の開示、訂正、追加、削除、利用停止
ご本人からの個人データの開示、訂正、追加、削除、利用停止のご希望の場合には、ご本人であることを確認させていただいた上、速やかに対応させていただきます。

アクセス解析ツールについて

当サイトでは、Googleによるアクセス解析ツール「Googleアナリティクス」を利用しています。

このGoogleアナリティクスはトラフィックデータの収集のためにCookieを使用しています。このトラフィックデータは匿名で収集されており、個人を特定するものではありません。
この機能はCookieを無効にすることで収集を拒否することが出来ますので、お使いのブラウザの設定をご確認ください。

●免責事項

当サイトからリンクやバナーなどによって他のサイトに移動された場合、移動先サイトで提供される情報、サービス等について一切の責任を負いません。

当サイトのコンテンツ・情報につきまして、可能な限り正確な情報を掲載するよう努めておりますが、誤情報が入り込んだり、情報が古くなっていることもございます。

当サイトに掲載された内容によって生じた損害等の一切の責任を負いかねますのでご了承ください。

●プライバシーポリシーの変更について

当サイトは、個人情報に関して適用される日本の法令を遵守するとともに、本ポリシーの内容を適宜見直しその改善に努めます。

修正された最新のプライバシーポリシーは常に本ページにて開示されます。