トマシープが学ぶ

Unity/VR/AR/デザイン好きのミーハー 記事内容は自分用のメモです

日本地図を使ったアプリを作りたい!!【Part2】canvasのピンチ操作

いったことのある県をタップすると色が変わるだけのアプリづくり。

bibinbaleo.hatenablog.com

前回、素材を探して、県をひとつづつ切り分けてボタンにする作業を途中までしました。

ここ数日47都道府県の素材の切り出しをせっせとやって、読み込みまで完了しました。

f:id:bibinbaleo:20190606211352p:plain

Canvasをピンチで拡大

次はスマホのピンチ操作で画面を拡大します。

ググってあったコードを3つぐらい試したけどどれも反応しない・・・

unity3d.com

qiita.com

なんでかと思ったら、拡大したいのってCanvas以下のもので、カメラにべったりくっついているから.

解決方法1

 Canvas以下のものをゲームオブジェクトの子にしてゲームオブジェクトが拡大するようにする。

f:id:bibinbaleo:20190605210307p:plain

ゲームオブジェクトにして、こちらの記事の通りにしたらできた!

qiita.com

ただ、画面中央で一か所が拡大されるだけなので、拡大を始めた場所で拡大するか、拡大した状態で画面を動かせるようにする必要がある。

解決方法2

・Cameraを操作するならCanvasをワールドスペースにする。

こちらの記事の方法が良さそう。

qiita.com

Canvasをワールドスペースにしました。

f:id:bibinbaleo:20190605213301p:plain

カメラとCanvasを頑張って一致させる。

f:id:bibinbaleo:20190605213303p:plain

そして上の記事のスクリプトを貼って、インスペクタにいい感じに値を設定したらできました!!!

f:id:bibinbaleo:20190605212908p:plain

カメラはこんな感じ。私の場合128でちょうどいい。

f:id:bibinbaleo:20190605212904p:plain

 インスペクタをいじるだけでなく、Start()のところの9も変えないといけません。

 

これぐらいのズームができます。

f:id:bibinbaleo:20190606211303p:plain

県名追加

気づいちゃったんですけど、このデザインの日本地図だと都道府県全部覚えている人でもどれが何県かわからない。

都道府県覚えてない人ならなおさらわからない。県名入れよう

 何も見ないで描いた結果

f:id:bibinbaleo:20190605220226p:plain

 正解

f:id:bibinbaleo:20190605220415p:plain

びっくりするぐらい間違ってて泣いた。九州以外全部の地方で何かしら間違ってる。お受験・・・

徳島と宮城は完全に忘れてたし、いろいろ順番が違うとこが多すぎた。

 

そしてうすうす気づいていたけど、この地図福井がない。京都と一緒になってる?

修正しなきゃ・・・と思ったら三重もないな!!

ちょっとさすがにきつい・・・

f:id:bibinbaleo:20190606210524p:plain

頑張って分けました。

ついでにフォントを薄くしました。

次回

・アプリ閉じても情報保持

・インフォメーションボタンを作って、プライバシーポリシーやお借りした素材情報を乗せる画面を作る

・無駄にNightモード

3D文字を表示させるLookingGlassコンテンツ制作【準備】

 この記事で考えた、3Dフォントを表示させるやつをやります。

bibinbaleo.hatenablog.com

3D文字表示はこのアセットを使います。

 

使い方はこの記事

bibinbaleo.hatenablog.com

久しぶりすぎて忘れた。できた

f:id:bibinbaleo:20190602205116p:plain

文字関係ないけど、箱を作ってその中にPointライト置くといい雰囲気になる。箱には適当な模様を付ける。

ライティングもskyboxじゃなくてColorで暗めのいい感じの色。

f:id:bibinbaleo:20190602210420p:plain

f:id:bibinbaleo:20190602205820p:plain

とりあえず表示はできた!いい感じ!!!

次回

・フォントを良い感じの探しす。

・文字が落ちてきたり、文字がバラバラになったりなどのスクリプト操作

・キーボードで入力した文字が落ちてくるようにする

・色が空間の色が緩やかに変わったりする演出(手動でやったらいい感じだった)

などを気が向いたらやりたいです。

 

どこでもドアARができるアセット「Pocket Portal VR」遊べなかった【Unity】

二つの世界を繋ぐことのできるポータルアセット!

www.asset-sale.net

昔やったどこでもドアが簡単にできる!

bibinbaleo.hatenablog.com

各種AR・VRのサンプルが用意されている。FPSDemoならARVRなくても遊べそう。

f:id:bibinbaleo:20190529061955p:plain

でもエラー出て遊べなかった。MissingPrefabになってる

f:id:bibinbaleo:20190529061958p:plain

f:id:bibinbaleo:20190529062001p:plain

ええー

【Unity】Mobile Notificationsでプッシュ機能作ってみる①【Android】

スマホの通知機能、作ってみたい。

できるらしい。

application.hateblo.jp

iosAndroidで対応が違うとこもある?とりあえずAndroidに絞る!

調べたけど、これが定番!みたいなの分からなかった。

とりあえず2種類見つけたので試してみる。

 

Mobile Notifications

unity package managerのpreviewに入っている機能

PackageManagerでAdvanceのところをpreviewにしたら

f:id:bibinbaleo:20190528212223p:plain

出てくる!

f:id:bibinbaleo:20190528212229p:plain

入れるとPlayerSettingにMobile Notification~がある。

f:id:bibinbaleo:20190528215427p:plain

こちらを参考に設定

www.shibuya24.info

通知のアイコンを設定。正方形じゃないと怒られる。

f:id:bibinbaleo:20190528215431p:plain

あと画像の設定でAdvancedを開いてRead/Writeにチェック入れる。

f:id:bibinbaleo:20190528215425p:plain

こちらの記事のスクリプトを丸ごと使わせてもらいました。

baba-s.hatenablog.com

using System;
using Unity.Notifications.Android;
using UnityEngine;

public class tuutiunity : MonoBehaviour
{
    private string m_channelId = "【ここにチャンネル ID】";

    private void Awake()
    {
        // 通知用のチャンネルを作成する
        var c = new AndroidNotificationChannel
        {
            Id = m_channelId,
            Name = "お知らせ",
            Importance = Importance.High,
            Description = "やっほー",
        };
        AndroidNotificationCenter.RegisterNotificationChannel(c);
    }

    // ボタンが押されたら呼び出される関数
    public void OnClickButton()
    {
        // 通知を送信する
        var n = new AndroidNotification
        {
            Title = "お知らせ",
            Text = "やっほー",
            SmallIcon = "icon_0",
            LargeIcon = "icon_1",
            FireTime = DateTime.Now.AddSeconds(10), // 10 秒後に通知
        };
        AndroidNotificationCenter.SendNotification(n, m_channelId);
    }
}

 

上の通知用チャンネル作成の部分はよくわからなかった。

通知で表示されるのは下の部分。

適当なボタンを設定して、OnClickButton()を呼び出す。

できた!!

f:id:bibinbaleo:20190528220148p:plain

f:id:bibinbaleo:20190528220150p:plain

UniLocalNotification

こっちを最初に見つけてやっていた。

こちらのunitypackageを入れる。

github.com

製作者様の記事を見ながら実装。

smartgames.hatenablog.com

ただ私はうまくいかなかった。

スクリプト間違っていたのかもしれない。

ちなみにスマホのホームボタンを押したときを検知するのは、

//一時停止or再開時
private void OnApplicationPause (bool pauseStatus){

//一時停止
if(pauseStatus){

}
//再開時
else{

}

}

 だそうです。勉強になった。

kan-kikuchi.hatenablog.com

最後に

通知をするタイミングをどうやって書くのか、そのバリエーションが分からない。

そのほか細かいところまだなので今度調べます。zzz

  

日本地図を使ったアプリを作りたい!!【Part1】

スケールの大きなアプリを作りたくなりました。

日本地図!!

行ったことある県をタッチしたら色が変わるだけのアプリを作ってみたいと思います。

都道府県素材探し

TopeconHeroesさんの影絵サイトが良さそうでした!尊敬する

kage-design.com

と思ったらAi形式でした・・・イラレ消えたんだよね・・・

www.ac-illust.com

結局よさげなのなかったのでとりあえずこのpngを入れました。

www.silhouette-illust.com

f:id:bibinbaleo:20190526194903p:plain

黒だとUnityのspriteカラーを変えたときに色が変わらなかったので、paint3Dで白に塗りつぶしました。

f:id:bibinbaleo:20190526201119p:plain

すると色を変えられる!

f:id:bibinbaleo:20190526201219p:plainこのpng画像いじって47個分png作ったらやりたいことできそうだな。

f:id:bibinbaleo:20190526210307p:plain

こんな感じでキャンバスの大きさは全国都道府県のまま、県だけを残す。そしたら白い部分だけ色を変えられる。

ほかの県を消すのは消しゴムツールで地道にやるしかない。塗りつぶしは簡単だったのに><

 

 

それかこちらの画像のように文字で県名を入れてそれを押すのでもいい。

www.ac-illust.com

スクリプトでimageの色を変える

1回クリックしたら緑、もう一回クリックしたら白に戻る。

こちらがめちゃくちゃ参考になった。

teratail.com

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class touch : MonoBehaviour
{
    public Image image;
    [SerializeField]
    Color btnColor1 = Color.red;
    [SerializeField]
    Color btnColor2 = Color.blue;
    bool btnChangeFlag = true;

    public void onButton()
    {
        btnChangeFlag = !btnChangeFlag;
        image.color= btnChangeFlag ? btnColor1 : btnColor2;
    }
}

 

image.color= btnChangeFlag ? btnColor1 : btnColor2;

っていうの使ったことない。調べたら条件演算子というらしい。

trueの時は:の左側、falseの時は右側が入る。

docs.microsoft.com

これでスイッチ切り替え処理書けるのか!!

いままで適当な変数に1,0を入れて判断するみたいなくそめんどくさいスクリプト書いてた!!!

また一つ成長したな。

 

県の形をボタンにするには

県を押したらその県の色が変わるようにします。

タッチ判定はspriteの色がついている部分だけにしたいのですが、デフォルトだとspriteの形は四角になります。

調べたらスクリプト書いたりしないと、spriteの色がついているところだけに反応するボタンは作れないらしい!!

qiita.com

ええー。しかもめっちゃ大変そう!

普通の四角のボタンにする

あきらめて四角いボタン判定にします。

構造はimageの下にbuttonコンポーネントを置きます。

f:id:bibinbaleo:20190526210456p:plain

上のimageにそれぞれの県のspriteをセット。RaycastTargetは外さないとほかのボタンに干渉する。

f:id:bibinbaleo:20190526210713p:plain

下のボタンにさっきのスクリプをセット。Imageは上のimage

f:id:bibinbaleo:20190526210709p:plain

ボタンの範囲は県に合わせる。

f:id:bibinbaleo:20190526210723p:plain

多少当たり判定がかぶるのは仕方ない・・・

これでやりたいことできた!!!

f:id:bibinbaleo:20190526212449g:plain

絶対もっと簡単な方法あると思うけど!!

そもそも県を切り出すツールにpaint3Dを使ってるのが間違っているのでは!!イラレ使いたい・・・

ビルド

新しいスマホにCtoCのケーブルでPCとつなげてbuild&Runしようとしたら、デバイスが認識されていないって出た。

f:id:bibinbaleo:20190526194938p:plain

スマホは開発者モードにしたんだけどな~

と思ったら、開発者向けオプションからUSBでバッグを有効にしないといけなかった!

Pixel3aでは開発者向けオプションはシステム>詳細情報の中にあった。

qiita.com

最後に

とりあえずやりたいことの下地はできた。

あとは自分で頑張って47個のspriteを何かしらの方法で用意するのみ・・・

あ、あと今のままじゃボタンが押しにくいので、拡大・縮小できるようにしよう。

【Unity】Textボックスの右下に文字が入らない

Textボックスいっぱいに文字を入れたとき、ボックスの右下だけ文字が入らないことがありました。(Unity2018.3)

f:id:bibinbaleo:20190523211647p:plain
ボックスぴったりの文字数だと右下も入るけど、オーバーすると右下は空欄になる。

全部文字が入り切ってませんよーっていう親切な合図なのかな?

ちなみに2017.4でやったらオーバーしても右下入った。

どのバージョンからの変更なのかわからない。

 

まあどうでもいいか。

検索しても何も引っかからない。そもそもなんて検索するんだ。

  

enum関数について学ぶ【Unity】

enum関数のお勉強

www.sejuku.net

enum

数字の代わりに名前を付けられるイメージ

変数じゃなくて、中身の変わらない定数にしか使えない。

こんな感じで宣言する

    public enum roomname
    {
        bath,bed,piano
    }

最後のカンマはあってもなくてもエラー出なかった。

公式では付けてないけど、上の侍エンジニア記事では最後にカンマ付けてた。

enum キーワード - C# リファレンス | Microsoft Docs

変数を作る

自分で作ったenum型?で変数を定義できる。

private roomname nowroom=roomname.piano;
public roomname nowroom;

intとかGameObjectみたいな場所に自分で作った型を書くの初めてで、最初は戸惑った。

publicにしたらインスペクタで選ぶことができる!!

f:id:bibinbaleo:20190523135955p:plain

enumを==で判別する

if(nowroom==roomname.bed)

みたいにする。nowroom==bedだとだめだった。

etc9.hatenablog.com

数値は0しか入れられない?

enumで設定した変数に初期値を設定するときに、roomname.pianoみたいな文字じゃなくて、配列のように数値を入れてみた。

private roomname firstroom=0;

すると0のときはうまくいったのに、それ以外の数字を入れたらエラーが出た。

Cannot implicitly convert type `int' to `enumtest.roomname'. An explicit conversion exists (are you missing a cast?)

f:id:bibinbaleo:20190523135347p:plain

intをenumに変換できませんだって。

ふつうはちゃんと名前で指定するものなんだろうけど、逆になんで0ではエラーが出ないんだろう。

公式のリファレンスには最初の値が0で、1ずつ増えていくって書いてるから、数値としては正しいはず。

既定では、最初の列挙子の値は 0 で、後続の列挙子の値は 1 ずつ増加していきます。 たとえば、次の列挙型では、 Sat は 0、 Sun は 1、 Mon は 2などとなります。

enum キーワード - C# リファレンス | Microsoft Docs

追記

アドバイスいただきました。

private roomname firstroom=(roomname)1;

としたら通りました!

あと、数字を0から始めたくない場合は、最初の宣言の時に、

public enum roomname { bath=1,bed,piano }

みたいに最初の列挙子に始めたい数字を入れたらいいそうです。

 ありがとうございます!

switch

enumはswitch文とよく一緒に使うらしい。

 switch (nowroom)
        {
            case roomname.bath:
                Debug.Log("今お風呂");
                break;
            case roomname.bed:
                Debug.Log("今ベッド");
                break;
            case roomname.piano:
                Debug.Log("今ピアノ");
                break;

        }

最後に

用語の使い方は間違ってると思うけど、大体理解できた。

業務でUnityを使い始めたので、これからこういう系の記事増えるかも!

www.sejuku.net

Unityの内部コードはgithubに一部ある

結構前に、Unityエディタの内部コードが公開されたというニュースを聞いた記憶がある。

調べたらやっぱり公開されてた。

github.com

tsubakit1.hateblo.jp

c#部分だけらしい。C++も使われてたんだ。よくわからない

今まで教授が、「Unityは内部コードがわからないから研究には使うには向いてない」的なこと言ってたけど、これで研究にも堂々と使えるね!

研究室の9割の人がUnity使ってるのに、全くUnityを触ろうとも歩み寄ろうとも理解しようともしない

ただ、このコードをどうやって活用するのかよくわからない

誰か例として「どうしてこの挙動するのか謎だったけど、コードのここをみたら理由が説明できるようになりました」みたいな記事書いてくれないかな。

どこかの研究室や会社とかではそういう会話がなされているのかな。

 

あと拡張エディタを作るのにも使えるらしい

わからない

ぽちぽちボタン押すだけの世界に行きたい?

 

LookingGlass初動【Unity】

 LookingGlassをお借りしたので、これからお家でゆっくり触っていきたいと思います。

以前も一回触ったことはあったのですが、SDKが随分変わっていたので、一から書こうかなbibinbaleo.hatenablog.com

こちらの記事を参考に~

tks-yoshinaga.hatenablog.com

ディスプレイ

つないだらまずディスプレイの設定をする。

f:id:bibinbaleo:20190516205544p:plain

LookingGlass側を100%、2560*1600

f:id:bibinbaleo:20190516205434p:plain

表示画面を拡張

f:id:bibinbaleo:20190516205541p:plain

ライブラリ

ここの3番目からライブラリがダウンロードできる

lookingglassfactory.com

f:id:bibinbaleo:20190516212359p:plain

Library.exe起動

f:id:bibinbaleo:20190516212406p:plain

画面が乗っ取られてスクショ取れないけど、アプリ選んでダウンロードとかしたら動く。

f:id:bibinbaleo:20190516212548j:plain

サムネにマウスが乗るだけでLookingGlassに3Dの静止画?が映ってすごかった。

Unity

SDK

lookingglassfactory.com

2か月前は0.1.4だったのに1.0.0に変わってる!

f:id:bibinbaleo:20190516210745p:plain

入れてサンプルシーンを開く。

f:id:bibinbaleo:20190516205759p:plain

HoloPlayCaptureを押してインスペクタの「TogglePreview Ctrl+E」を押すと、LookingGlassに表示!!

f:id:bibinbaleo:20190516212557j:plain

なんか角度とかが安定しないけどまた今度

 

リリースしたGoogleアプリが消されたのでプライバシーポリシー書いたら復活した【Unity】

5/5にGooglePlayストアにリリースしてたアプリが、5/10にストアから消されていました。

bibinbaleo.hatenablog.com

 メールが届いていて、そこに

削除の理由: Android 広告 ID の使用ポリシー及び Google Play デベロッパー販売 / 配布契約 4.8 への違反

と書いていました。

「広告IDの収集をしてるのにプライバシーポリシーを書いてないから」だそうです。

広告IDの収集なんてしてないよ~~><

原因 

追記:

twitter見てたらみんなアプリ消されてました。

広告IDの収集してようがしてまいが、プライバシーポリシーがないと消えるようになったみたいです。(わからないけど)

 

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

qiita.com

こちらの記事ではfirebaseというライブラリが悪さしてたらしいけど、私のはライブラリとか何も入れていない。

Unityで作ってる人の事例探そうと思ったけど見つけられない。

他の記事で何かしらのライブラリを入れている事例しか出てこない。

よくわからないので勉強がてらプライバシーポリシーを作ることにする。

プライバシーポリシー

メールには

必要な対応: プライバシーポリシーをストアの掲載情報及びアプリ内に追加してください

と書いてあった。

プライバシーポリシーを書いて、ブログとかgithubとかに載せて、そのリンクをconsoleに貼る。あとアプリ内にもリンクを張る。

広告取ってないのにプライバシーポリシーに何書けばいいんだろう

英語ならジェネレーターがあるらしい

app-privacy-policy-generator.firebaseapp.com

英語でもいいのかな?

githubでみつけたこれが良さそうだったので真似た。

gist.github.com

こんなかんじでgistにmd形式で載せました。

gist.github.com

収集してないからね。

f:id:bibinbaleo:20190514210105p:plain

日本語でちゃんと書きたい人はここらへんの記事が参考になりそう。

cocoamix.jp

Unityでリンクを張る

置き場所がなくて結局ゲーム画面の右上にリンクボタンを設置した。

f:id:bibinbaleo:20190514205804p:plain

こうやって書けばいい。

public void Link()
{
Application.OpenURL("https://gist.github.com/bibinba/708117ebafb95054362f54e81e8cc04d");
}

外部リンクだとわかりやすいようにマークを付けた。

マークはこちらから

icooon-mono.com

公開

コンソールに新しいバージョンのapkをあげて、プライバシーポリシーのURLを張る。

f:id:bibinbaleo:20190514210358p:plain

さて公開されるのか。

いつ公開されたかわからないけど、少なくとも10時間後には公開されていました!!

やったー!!

play.google.com

ストアページにもプライバシーポリシー載っていますね。

f:id:bibinbaleo:20190515064042p:plain

最後に

結局原因は何だったんだ。

こんなに純粋無垢なUnityゲームなのに・・・

github.com

多分今はまだプライバシーポリシーの中身も、アプリにリンクが貼られているかとかも確認していなさそう。知らんけど

参考

backport.net

cocoamix.jp

blog.oil-seller.work

 

Unityで2Dの(ちゃんとした)脱出ゲームってどうやってつくるんだろう?

先日、初めてUnityで2Dの脱出ゲームを作りました。
bibinbaleo.hatenablog.com

これは部屋画像4枚と、鍵・ドアだけしか仕掛けがないので簡単にできました。

でもちゃんとした脱出ゲームって、部屋を細かく拡大して見れるし、アイテムもギミックも大量にある。オブジェクトクリックの処理をどうやるんだろうって思った。

現状

私は今回、今見てる部屋の面を変数roomnow=1みたいに入れておいて、その場面でドアの場所に置いてあるbuttonをクリックしたら、ドアが反応するみたいにした。

部屋は一つのImageパネルにつける画像をスクリプトで変更する形式にした。

github.com

こちらの方は、表示非表示(active)を駆使してやってた。

haruoroom.work

 

こちらの質問者は部屋画像を4枚並べて、カメラを移動させてた!

teratail.com

どうする?

あんまりUnityで2D脱出ゲーム作るの向いてない?

3Dで作る

3Dで作って、2Dっぽい画面遷移にしたほうがよさそう。レンダリングの問題はあるけど。

こちらとかそうだし。

senkouemaki.com

前3Dで脱出ゲームを作った時は、せっかく3Dなんだからぐるぐる動き回れるようにしよう!!って思ったら難しくて迷走してしまった。

bibinbaleo.hatenablog.com

アセット

脱出ゲーム専用ではないけどアドベンチャーゲームを作るアセットはあるそうです。

今半額で35ドル!

kitposition.hatenablog.com

デモがあった。

Physics demo | Adventure Creator

f:id:bibinbaleo:20190506154450p:plain

ちゃんと脱出ゲームっぽくていいですね!

それはいいとしてめっちゃデジャブを感じる。絶対やったことある。と思って過去記事検索したけどヒットしないな。。。

このデジャブ感じるの2回目だし。こわ・・・デジャブマン

専用ソフト

それかUnityはやめて専用のソフトを使うか。

アプリあった〜

www.4gamer.net

昔アプリビルダーっていうアプリ作れるサイトでも作ったけど、もうサービス終了してた。

bibinbaleo.hatenablog.com

さらにその昔Flashのソフトのparaflaを使って作ったけど、その時は割と簡単にできた気がする。アホな高校生でもできたんだから、Unityでやるよりは多分簡単だったはず。

と思ったら2018年の記事にparaflaがある!?え?滅んだのでは?

wanpa189.net

えっ???flashは死んだのでは????

最後に 

今度脱出ゲームを作るとしたら、3Dプロジェクトで2Dゲームっぽい見た目のを作ってみたいです。

 

こちらの本のチュートリアルの一つが脱出ゲームらしいです。2Dなのか3Dなのかよくわからない。

VeryAnimation買った!!!!!ポーズ作る練習

ずっと買おうと思ってたVeryAnimation買いました!半額で23ドル!

assetstore.unity.com

ニッチVRMシリーズするときのポーズ作りに使います!!!!!

 

初期設定

動画を見ながらやるのが一番早そうです。

www.youtube.com

pdfもあるけど、これだけだとわからないと思う。

http://alonesoft.sakura.ne.jp/VeryAnimation/Manual_jp.pdf

 

Window>VeryAnimation>Mainでパネルを開く。

f:id:bibinbaleo:20190501203214p:plain

Animationウィンドウも開く。

キャラをクリックしても、AnimatorControllerがなかったら怒られるので、モデルにAnimationController付けておく。

f:id:bibinbaleo:20190501203210p:plain

そのうえにAnimationClipも作っておかないといけない。

f:id:bibinbaleo:20190501203208p:plain

多分Animationウィンドウでcreate押して名前つけて保存したらいいと思う。

怒られなくなったら、EditAnimation!

f:id:bibinbaleo:20190501203204p:plain

いっぱいツール画面が開く。

f:id:bibinbaleo:20190501203158p:plain

動かす

Bindを押すとTポーズになるので、ここから始めると良いかも。

f:id:bibinbaleo:20190501205237p:plain

後は雰囲気で、、、ボーンを回したらいいのかな~

左のhumanoid人形画面でボーンを選んでから、シーンで回転すると動かしやすい気がする。

f:id:bibinbaleo:20190501211003p:plain

ボーンはCtrl押すと二つ同時に選択できる。

あとパネルのスライダーで指を動かしたり

f:id:bibinbaleo:20190501210446p:plain

表情を変えたりできる。

f:id:bibinbaleo:20190501211537p:plain

アニメーションにするなら、Animationウィンドウで適宜スライダーの場所を動かしておかないとダメ。

f:id:bibinbaleo:20190501211541p:plain

1:00のところに初期状態のキーが打たれることがあるので、私は消している。

f:id:bibinbaleo:20190502212120p:plain

新しいanimファイルを作るときは、Animationウィンドウの左上のボタンからCreateNewClipで作れる。

f:id:bibinbaleo:20190502212123p:plain

類似無料アセット

今まで自作ポーズを作るならこっちの無料アセット使ってました。

 

ポーズ付けるだけならそんなに変わらない気がするけど、VeryAnimationは.animで書き出せるのがいいですね。

ジョジョ立ち

練習でジョジョ立ちをやってみます。

ジョジョの奇妙な冒険 ダイヤモンドは砕けない Grandista JOJO’S FIGURE GALLERY 1 東方仗助 全1種

わりとうまくできた。

f:id:bibinbaleo:20190501214237p:plain

f:id:bibinbaleo:20190501214240p:plain

次はこれ

 

スタチューレジェンド 「ジョジョの奇妙な冒険」第四部 ハイウェイ・スター

f:id:bibinbaleo:20190502200642p:plain

難しかった。。。人体への理解が足りない

f:id:bibinbaleo:20190502200712p:plain

よく見るやつ

ジョジョの奇妙な冒険 第1部 カラー版 4 (ジャンプコミックスDIGITAL)

f:id:bibinbaleo:20190502210016p:plain

手の位置を調整できない!

 

ポルナレフ

スタチューレジェンド 「ジョジョの奇妙な冒険」第三部 18. J・P・ポルナレフ [原型・彩色監修/荒木飛呂彦]

f:id:bibinbaleo:20190502211905p:plain

festy.jp

配布してみる~

https://github.com/bibinba/Haihu/releases/tag/jojo

GooglePlayにアプリ配信する!!!【準備編】

アプリを配信するっていうのは私の夢の一つ!

やるぞ!

配信するのは4時間ぐらいで作った超絶シンプル脱出ゲーム。

bibinbaleo.hatenablog.com

内容はいいんです。配信してみたいだけだから!

いつかもう少しまともなアプリを配信するときにも役に立つでしょう。

っていうかgooglePlayはhelloworldアプリがたくさんあるくらいだから中身なんてどうでもいいんだ!!

f:id:bibinbaleo:20190501085827p:plain

開発者登録

こちらを参考に

qiita.com


このURLからgoogleアカウントを紐づける

https://play.google.com/apps/publish/signup/

普段使ってる個人のやつじゃないほうがいいかな?とりあえず別のにした。

25ドル

そのあと25ドルの支払いとデベロッパープロフィールの登録があった。

25ドルは私の時は2904円だった。あと115円の謎の請求も来たけどこれは・・・?てすうりょう? 

JCBも使えた。

7000円ぐらいかかるかと思い込んでたから安くてよかった!好き!

デベロッパープロフィールのメールアドレスって普段使ってるやつがいいのかな?

f:id:bibinbaleo:20190501093003p:plain

公開されないなら普段使ってるやつのほうが良かったかも。。。

コンソール

コンソールでapkあげたり、いろいろ設定していく

f:id:bibinbaleo:20190501093000p:plain

信国

f:id:bibinbaleo:20190501092956p:plain

画像とか

f:id:bibinbaleo:20190501162649p:plain

リリース設定

内部とかアルファ版ベータ版とかいろいろある。

f:id:bibinbaleo:20190501094016p:plain

ここに解説が載っている

support.google.com

 よくわからないので一番クローズそうな内部版にした。

qiita.com

その後、鍵をどうしますかみたいなのが出る。推奨のものにしておけばいいのかな?

qiita.com

次にapkとappbundleをアップする。appbundleって何だっけ・・・?

容量を軽くするやつか!

techblog.kayac.com

じゃあ使わないならアップしなくてもいいのかもしれない。

ただ手元にあったapkファイルをアップしたら、デバッグモードですって出た。

f:id:bibinbaleo:20190501154234p:plain

OculusGoアルファリリースしたときのように、いろいろUnityで設定しないといけない。

こちらの記事が良さそうだった!

qiita.com

続く

今手元にUnityがないので続きは次回!

Unityで調整してベータ配信まで行きたい。

そのあと著作権とかも含めて中身をもう少しちゃんとする。

bibinbaleo.hatenablog.com

 

カナヅチを取るだけの脱出ゲームを作る

なんだかんだUnityで脱出ゲームを作ってなかったので作ります。

シンプルな2D。

カギを取って、ドアをクリックするだけ!

PCはここから遊べます。

https://bibinba.github.io/escapegithub/

部屋の画像

部屋の画像はsweethomeで作りました。

f:id:bibinbaleo:20190429211428p:plain

部屋は適当に家具を置いただけ。レンダリングは最高画質で

f:id:bibinbaleo:20190429211526p:plain

bibinbaleo.hatenablog.com

音はOn-Jin様から

https://on-jin.com/sound/sei.php

部屋の遷移

右端or左端を押したら部屋の画像が変わるようにします。

f:id:bibinbaleo:20190429195734p:plain

Canvasにimageを置いて、そのspriteRenderを変更します。

f:id:bibinbaleo:20190429195742p:plain

https://uni.gas.mixh.jp/unity/canvas-text-image.html

こんな感じ

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class button : MonoBehaviour
{
    public Image image;
    public Sprite[]room= new Sprite[4];


    int roomnow = 0;
    // Start is called before the first frame update
    void Start()
    {
        image.sprite = room[roomnow];
    }

    // Update is called once per frame
    void Update()
    {
        
    }

    public void OnRightButton()
    {
        if (0<=roomnow&& roomnow <= 2)
        {
            roomnow++;
        }
        else if (roomnow == 3)
        {
            roomnow = 0;
        }

        image.sprite = room[roomnow];
        Debug.Log(roomnow);
    }

    public void OnLeftButton()
    {
       
        if (1 <= roomnow && roomnow <= 3)
        {
            roomnow--;
        }
        else if (roomnow == 0)
        {
            roomnow = 3;
        }
        image.sprite = room[roomnow];
        Debug.Log(roomnow);
    }
}

部屋のspriteは配列に入れた。roomnowに今の部屋番号を入れてる。

f:id:bibinbaleo:20190429195740p:plain

部屋が左右のボタンで0,1,2,3、0と遷移していくのを実装するのが大変だった。絶対もっとクールなやり方がある・・・

でも早速配列使った!!えらい!!!

bibinbaleo.hatenablog.com

鍵を取る

roomnow=鍵がある部屋のとき、鍵の場所をクリックしたら鍵が取れます。

sweethomeに鍵がなかったのでトンカチにしました。

f:id:bibinbaleo:20190429205111p:plain

カナヅチを取ったら右下に画像を表示させます。

f:id:bibinbaleo:20190430083352p:plain

3秒ぐらいで描いた。

f:id:bibinbaleo:20190430083354p:plain

部屋画像もトンカチありとなしをレンダリングしました。

f:id:bibinbaleo:20190430094447p:plain

f:id:bibinbaleo:20190430094456p:plain

カギをクリックした後は配列に鍵なしの画像を入れます。

image.sprite= roomk;
room[1] = roomk;

音が鳴ってから画面遷移させる

コルーチンというもので1.2秒ぐらい待ってもらいます。

IEnumerator End()
{
yield return new WaitForSeconds(1.2f);
SceneManager.LoadScene("End");
}

www.sawalemontea.com

Androidビルド

2019.1はAndroidにビルドがすぐできるのでしてみよう!

bibinbaleo.hatenablog.com

なかなか画面がいい感じに表示されない!

どう設定するんだっけ??

とりあえずCanvasScalarでScaleWithScreenSizeにして、ResolutionをGame画面サイズにする

f:id:bibinbaleo:20190430085839p:plain

dojican-lab.blogspot.com

あと、PlayerSeettingのResolution~のDefaultOrientationでLandscapeにすると横画面固定になる。

f:id:bibinbaleo:20190430092752p:plain

これでOK

完成

1日かからずできた。 

githubで見れるようにしました。

https://bibinba.github.io/escapegithub/

 

github

そして今回はgithubにアップしながら作りました!えらい!!!

github.com

初めてだからあんまりこまめにコミットできてないけど。

ただ途中でgithubでreadmeを作ったら、forkからpushできなくなった><

f:id:bibinbaleo:20190429211633p:plain

エラーのhintをよくみたら一度pullしてみるとかどう?って書いてたのでpullしてからpushしたらできた!!

f:id:bibinbaleo:20190429212122p:plain

うぃー!!

あとダウンロードした効果音素材はgithubにアップしてはいけないので、それの設定をしました。

フォルダに音を入れて、forkで右クリック>ignore

そうすると.gitignoreに入れてくれます。f:id:bibinbaleo:20190430072325p:plain

私と脱出ゲーム

私が一番最初に作ったゲームが脱出ゲームなんですよ!その時は高校生でflashで作りましたが。。。

そこで初めてPCで何かを作る楽しさを知った気がする。

8年ぐらいの時を経てやっとちゃんともう一度脱出ゲーム作れた!

前に一度脱出ゲーム作ろうとして、結局当たり判定のない部屋の窓から抜け出すだけの微妙な脱出ゲームができてしまった。

bibinbaleo.hatenablog.com

このときはね、初心者のくせに3Dでやろうとかいろいろこだわりすぎたんですよ!

まずは超絶シンプルに!!!

自分ができるぐらいのシンプルなゲームを作るのうまくなった気がする。

そろそろ上のステップに行ってほしい気もするけど。まあいいや!ゲーム作るのはUnityの練習みたいなものだから。

 

リアル脱出ゲームの過去問集があった。

ちゃんとしたリアル脱出ゲーム参加したことない。。。

Unityでテストなにもわからん

テスト

研修でテストを学んだのでUnityでもやってみたい~

何もわからない~

調べたら標準でテスト機能が備わってるらしい。

TestRunner

2019.1だとWindow>General>TestRunner

f:id:bibinbaleo:20190429080959p:plain

テストコードを書けばここで動かせるらしいよ

 

Createからのやつ

Create>Testing>TestAssemblyFolder

f:id:bibinbaleo:20190429080420p:plain

testなんて項目があるの初めて気づいた。

なんかできたので開いてみる。

f:id:bibinbaleo:20190429080600p:plain


f:id:bibinbaleo:20190429080557p:plain

???

 

参考

qiita.com

www.youtube.com

www.slideshare.net

speakerdeck.com

最後に

よくわからないから赤ちゃんに教えるように教えてくれるサイトないかな?

そもそもテストなんて初心者はしないから、赤ちゃんに教えるみたいなサイトはないのかもしれない。

そもそもまだテストの必要性に駆られてないから私が理解できないのかもしれない。