トマシープが学ぶ

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

Unityで配列やってみる

配列から逃げてきたのですが、研修で配列の概念を学び、理解できた気がするので本当に使えるのか試してみます。

とりあえずこちらのサイトのコードをコピペ

techacademy.jp

f:id:bibinbaleo:20190427200129p:plain

ランダム生成された数字が配列に入りました

f:id:bibinbaleo:20190427202137p:plain

宣言の仕方はわかったので、せっかくだから3Dオブジェクトを絡めたい。

でもうまく思いつかないな~

いままで配列使えそうだけど、使わなかったシーンとしては太陽の日の出日の入り時間を全部手打ちしたときかな。

恐ろしい力技を使った気がする。

 

配列以外にもいろいろあるみたい

indie-du.com

選挙ポスターVRM【ニッチVRMアプリシリーズ】

今回は選挙ポスターVRMを作りました。前回はトロフィー

bibinbaleo.hatenablog.com

こんな感じ。

f:id:bibinbaleo:20190428192042p:plain

デザインはこれを参考にした。

 

f:id:bibinbaleo:20190428192046p:plain

最初作ってたやつ。やばい人っぽさ

f:id:bibinbaleo:20190428192049p:plain

ほかのアイデア

あと今回はやらないけど他にも二つアイデアある〜

・平成or令和をかざすVRM

PPLS メッセージ色紙 元号 『平成』『令和』 セット

平成から令和 元号発表 マグカップ[新元号 記念品 グッズ 雑貨 ギフト プレゼント おもしろ]

・有名なインタビュー再現VRM

togetter.com

ニッチVRMのアイデアが山のように出てくるぜ!!

Thetaでwifiライブストリーミング【Unity】(過去記事)

過去記事です。

これを見てやらねばってなりました。これポットが表示されているところにTheta Sが置いてあって、wifiのストリーミング動画から写り込みを表現しているらしいです。

こんなことできたんだ。私の研究の道が一つ消えた。クズで嫌いになる

unity+wifiストリーミング

noshipu.hateblo.jp

github.com

こちらのunityプロジェクトを使わせていただきました。

エラーが出て実行できませんでした。

f:id:bibinbaleo:20170812154757p:plain

 バージョンがあっていないからかと思ったけど、なぜかoculus関係のエラーが出ている

noshipu.hateblo.jp

 

 

windows版forkでUnityProjectをgithubにあげる!!!

こちらのUnityプロジェクトをgithubにアップするハンズオンで学んだことを復習して、自分一人でできるかやってみます!

bibinbaleo.hatenablog.com

 このときはmacでやったのですが、今は基本的にUnityはwindowsで使ってるのでwindowsでできるかが大きなポイント!ところどころmacとwondowsで設定の仕方が違ったのですがあまりメモしてない。。。

頑張るぞ!

githubとの連携

とりあえずforkにUnityプロジェクトをコミットするまでは前と同じくできた。gitgnoreもwindowsなら簡単に作れた。

そしてハンズオンでもwindowd勢が一番手間取っていたgithubとの連携。

僕もわからない。

ググろうと思っても、ソフトの名前が「fork」で、git用語のforkとごっちゃになって全然出てこない!!

記憶と勘を頼りにやった。

fork側のfile>configure SSH key

適当に名前を付けてkeyを生成。コピー

f:id:bibinbaleo:20190427185341p:plain

github側のsetting>SSH and GPG keysでNew SSH keys

f:id:bibinbaleo:20190427185557p:plain

適当に名前を付けてさっきのをコピペ

f:id:bibinbaleo:20190427185343p:plain

そこからは前と同じで、githubで空のリポジトリーを作ってSSHをコピー

forkのremoteを右クリックでAddNewRemote。urlをコピペ

f:id:bibinbaleo:20190427185800p:plain

PUSH!!!

f:id:bibinbaleo:20190427190142p:plain

できた!!!

f:id:bibinbaleo:20190427190139p:plain

変更をstage>commit>push!

その後変更をgithubに反映させるにはforkでstage,commit,pushをしていけばいい。

f:id:bibinbaleo:20190427190713p:plain

f:id:bibinbaleo:20190427190704p:plain

最後に

うれしい!!!初めて自力でできた!!!!

天才!

ゴールデンウィークは、会社の研修で学んだ配列とかテストとかの復習もかねてUnityで実験をしていくのでそれをプッシュしていこうと思います~

AROWのサンプルを開いた

3Dの地図データをUnityで取得?表示できるアセットかな?

arow.world

と思ったらARアプリプラットフォームなんだ!

ポケモンGo的なやつを作るためのものかな~

よくわかってないけど、こちらの記事を参考にサンプルを開いてみました!

jyuko49.hatenablog.com

サンプル動かす

 登録してunitypackageをサイトからダウンロード

arow.world

このチュートリアル通りにセットアップするけど、ちょっと違ってた

arow.zendesk.com

シーンを入れる

f:id:bibinbaleo:20190425070649p:plain

othersettingでNET4.xにする

f:id:bibinbaleo:20190425070652p:plain

SDK の初期化
Arow > Initialize SDK を実行します。これは Layer 設定などを行います。

SDKの初期化はどうするか分からなかった。たぶんない?

StartSceneを実行!

f:id:bibinbaleo:20190425205025p:plain

3つ選べる

f:id:bibinbaleo:20190425205022p:plain

WalkInCreateMapは2地点を選んだら

f:id:bibinbaleo:20190425205018p:plain

自動でユニティちゃんが道を進む

f:id:bibinbaleo:20190425205015p:plain

 

MoveControle~も自動でビルが生成されて自由に歩けた。

f:id:bibinbaleo:20190425205757p:plain

f:id:bibinbaleo:20190425205801p:plain

いまいち生成される条件が分からなかった。

 

ArowMapはそのままだと何も起きなかった。

情報

スライド

www.slideshare.net

www.slideshare.net

地図

地図のデータはOpenStreetMapというのを使っているそうです。

www.openstreetmap.org

オープンソースの地図ってあるんだ~~

© OpenStreetMap contributors

Unity2019.1触った!(Androidのビルド準備がすぐできる)

正式な2019.1が出てました。

blogs.unity3d.com

UnityHubから入れました。

とりあえず、ぱっと見で気づいたとこだけメモ。

2019.1からの機能じゃないやつもあるかもしれない

詳しいこと何も見ていない

AndroidSDKなどをUnityHubから入れれる

 今まで新しいPCとかでAndroidにビルドするとき、AndroidStudio入れてそこからSDKダウンロードして、そのパスをUnityで設定して、jdkもどっかの英語のサイトから同じようにダウンロードして~ってやっていました。

この記事みたいな感じ。

めんどくさい!!!

それがSDKjdk(NDK??)をUnityHubから自動でダウンロードしてくれて、セットまでしてくれるようになりました。

UnityをUnityHubからダウンロードするときに、Android SDK&NDKっていうやつにチェックを入れておかないといけない

f:id:bibinbaleo:20190418202344p:plain

私は最初それにチェックが入っていなかったみたいで、Preferences>ExternalToolsのところを見ても、SDKが入っていなかった

f:id:bibinbaleo:20190418202349p:plain

ちゃんと入れるとこんな感じになって、無事ビルドできた!!!神!!

f:id:bibinbaleo:20190418202341p:plain

Packages

なんかある。

f:id:bibinbaleo:20190417063928p:plain

オブジェクト非表示

ヒエラルキーの左側に非表示の目のマークがある!

f:id:bibinbaleo:20190417063936p:plain

クリックすると消える!

f:id:bibinbaleo:20190417063932p:plain

上のバーの目のマークに非表示にした数が出るし、クリックしたら一括で非表示・表示が切り替わる。

f:id:bibinbaleo:20190417064449p:plain

シーンビューでのライトのオンオフ

最初足跡のマークかと思ったけど、よく見たら電球💡のマークだ。

f:id:bibinbaleo:20190417063948p:plain

これを押したらシーンでのライトがオンオフされる。

f:id:bibinbaleo:20190417063940p:plain

似たような機能なかったっけ??

f:id:bibinbaleo:20190417063944p:plain

最後に

UnityEnjoy勢にも関係しそうなのはここぐらいかな??たぶんまだある気がするけど、とりあえず終わり!

いろいろな環境で小さく何度もプロジェクトを作ることが多い私としては、Androidのビルド設定は神だと思いました。

初心者にもやさしいしね。

monry.hatenablog.com

AR塗り絵、私も作りたい!!!

記憶にある限り、初めてやったARがドラえもんの塗り絵ARです。

家族でやったの懐かしい

www.appbank.net

Unity3年前くらいにUnityでARし始めてから、AR塗り絵の作り方をググったけど技術的なものは何も出てこなくて諦めたのを覚えています。

そしたら最近このような記事が回ってきました!
qiita.com

初Unityで作ったの本当にすごすぎる。

私もやってみよう!

と思ってopencvとARkit入れて、記事の載っていたスクリプト作ったけどエラー出るのでやめました。

f:id:bibinbaleo:20190329092500p:plain

いや、記事には全てを書いてるわけじゃないので自分で補完しないといけないんだけど、今その元気がないしよくわからないので終わり

f:id:bibinbaleo:20190329092503p:plain

 

みらい小町を開いてみる。

みらい小町さんというキャラがVRMで配布されていました。

www.bandainamcostudios.com

バンダイナムコが作ってる。いわれてみれば色がロゴと似てる

f:id:bibinbaleo:20190328195847p:plain

あとUnityのプロジェクトも

github.com

こちらに入っているのはfbxのモデル

f:id:bibinbaleo:20190328194650p:plain

歌ってくれます。

f:id:bibinbaleo:20190328194647p:plain

めっちゃかわいい。

かわいくてクオリティの高いものが配布されるとうれしいですね。

でもアバターとして使ってはいけないそうです~

 

【unity1week】スタート画面&結果画面のUIを頑張る【お題:つながる】

unity1week今回も参加します!

前回マジで手抜きのを作りました。 

bibinbaleo.hatenablog.co

今回のお題は「つながる」です!

 もう11回目なんですね!!第3回~10回まで参加してきました。本当にありがたい。

完成品はこちらです。

unityroom.com

コラボ

今回初めてunity1weekで共同制作します。

共同制作といっても、ゲームを誰かと作るの難しそうなのと、私が引っ越し前でバタバタしているので、私は最初と最後の画面だけ作らさせていただきます。

そこだけやるからには、ボタンをこだわりたい!

イデア出し

「つながる」って難しい〜

3/11の震災に少し掛けたのかなと思いました。

マジで何も思いつかないので、ハッシュタグで他の人のアイデアをガン見。

・物を繋げる

・床を繋げる

・通信機能
・しりとり
・「つ」を投げる(つなげる)
・ツナgirl

などがありました。

 

我々はツナ狩るになりました。

みんなの完成品を見たらツナを狩ってる人結構いる。

初期画面

とりあえずこんな感じの画面

f:id:bibinbaleo:20190303164910p:plain

f:id:bibinbaleo:20190303164918p:plain

びっくりチキンをメインに使うそうなので、チキン色にしました。

叫ぶ! びくっりチキン Lサイズ

フォント

ちょうど今回フォントの提供があるので、フォントにこだわる為にそれも使おうかと思ったのですが、登録がめんどくさかったので

unityroom.com

安心安全のM+を使いました。

mplus-fonts.osdn.jp

UIアセット

見るの楽し〜

これが今回のにあってたので使った。

こちらもかわいかったけど色の変え方がわからなかった。

高校生の頃、HPづくりのためにボタンの背景画像を探しまくったの思い出した。

ボタン押したら音を鳴らす。本格的〜〜

って思ったけど、画面遷移するときに音を鳴らしても、シーンがすぐ変わるから音が鳴らないということに気づいた。。。

と思ったら鳴るときもあった。シーンロードの時間によるのかな。

f:id:bibinbaleo:20190313104435p:plain

twitterボタンを押したときだけなります。

あと画面のBGM

dova-s.jp

dova-s.jp

変数の共有

ゲームの最終得点をランキングやツイートに反映するために変数をシーン間で共有する。

やったことない。

いつもゲームが終わったら同じシーンでEDUIをactiveにしてた。

今回は各自でシーンを分けているのでシーン間で共有しないと

freesworder.net

元の変数をpublic static int a;

にして受け取るスクリプトでScriptA.aみたいにしたら簡単にできました。

最終

hub.vroid.com

f:id:bibinbaleo:20190317085554p:plain

f:id:bibinbaleo:20190317085616p:plain

サムネ撮影部屋

f:id:bibinbaleo:20190317085603p:plain

f:id:bibinbaleo:20190317085559p:plain

Unity標準アセットの third person controllerはShiftを押しながら走ったらスピードが半分になるのがデフォルトなのですが、私は生き急いでいるので早くなってほしい。というかPUBGとかだいたいShift押したら早くなるし。。。

インスペクターみてもその設定がなかったのですが、もとのスクリプトをいじればよいそうです。

こちらを真似しました。

corevale.com

           // 左[Shift]キー入力が無い場合
            if (!Input.GetKey(KeyCode.LeftShift))
            {
                // 歩く速度で移動する
                // 変数 m_Move の値に 0.5f を乗算
                m_Move *= 0.5f;
            }

  if (Input.GetKey(KeyCode.LeftShift)) m_Move *= 1f;

もともとある  if (Input.GetKey(KeyCode.LeftShift)) m_Move 

を2fにしても変わらなくて、shift入力がない時を0.5fにしないといけないそうです。

最後に

初めてUnityAssetでボタンUIのアセットを買いました。

いつもは手をつけないので楽しい。

過去の参加記事

bibinbaleo.hatenablog.com

bibinbaleo.hatenablog.com

bibinbaleo.hatenablog.com

bibinbaleo.hatenablog.com

bibinbaleo.hatenablog.com

bibinbaleo.hatenablog.com

bibinbaleo.hatenablog.com

bibinbaleo.hatenablog.com

bibinbaleo.hatenablog.com

 

 

【unity1week】WiFiがつながる場所を探すゲーム【お題:つながる】

急遽作り松

unityroom.com

こちらのツイートを見てまんまパクることにしました。

ありがとうございます。 

できたのがこちら

youtu.be

仕様

2D

矢印キーで移動

WiFiスポットはランダムに表れて消える。

できるだけ長い時間WiFiスポットに滞在してポイントを稼ぐ。

スポットに入っていると1秒につき10点もらえる。

スポットにいると顔が元気になる。(spriteを変える)

時間は30秒

動く

ただキャラを画面内でのみ動かしたいだけなんだけど、ぴったり当てはまるスクリプトが見つからなかったから組み合わせた。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;

public class ugoku : MonoBehaviour
{
    private Vector2 player_pos;
    public float speed = 15.0f;

    void Update()
    {
        float x = Input.GetAxisRaw("Horizontal");
        float y = Input.GetAxisRaw("Vertical");
     
        player_pos  += new Vector2(x, y)*speed * Time.deltaTime; //プレイヤーの位置を取得

        player_pos.x = Mathf.Clamp(player_pos.x, -7.5f, 7.5f); //x位置が常に範囲内か監視
        player_pos.y = Mathf.Clamp(player_pos.y, -4.0f, 4.0f); //x位置が常に範囲内か監視
        this.transform.position = new Vector2(player_pos.x, player_pos.y); //範囲内であれば常にその位置がそのまま入る
    }
}

www.ipentec.com

【Unity】2D用の、キーボードで上下左右動かせるスクリプト · GitHub

qiita.com

unity3d.com

WiFiスポット出現

ランダムに出現させる。

イラスト自分で描いた。

f:id:bibinbaleo:20190314162801p:plain

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

public class wifi : MonoBehaviour
{
    private float timeleft;
    private Vector2 wifi_pos;

    void Update()
    { timeleft -= Time.deltaTime;
        if (timeleft <= 0.0)
        {
            wifi_pos.x = Random.Range(-7.0f, 7.0f);
            wifi_pos.y = Random.Range(-4.0f, 4.0f);
            timeleft = 2.0f;
            this.gameObject.transform.position= new Vector2(wifi_pos.x, wifi_pos.y);
        }
    }
}

freesworder.net

侵入判定

当たり判定は最初コライダーでしようかと思ったけどめんどくさいので伝家の宝刀である距離判定にします。

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

public class atari : MonoBehaviour
{
    SpriteRenderer MainSpriteRenderer;
    public GameObject player;
    public GameObject wifi;
    public Text point_text;
    public Sprite genki;
    public Sprite turai;
    public AudioSource wifion;
    public AudioSource wifinasi;

    float point = 0.0f;
    // Start is called before the first frame update
    void Start()
    {
        MainSpriteRenderer = player.GetComponent<SpriteRenderer>();
    }

    // Update is called once per frame
    void Update()
    {
        Vector3 Apos = player.transform.position;
        Vector3 Bpos = wifi.transform.position;
        float dis = Vector3.Distance(Apos, Bpos);
        if (dis < 2.0f)
        {
            Debug.Log("近づいた");
            wifion.Pause();
            wifinasi.UnPause();
            point =point+(8-dis)*Time.deltaTime;
            int poi = (int)point;
            point_text.text= "元気"+point.ToString("f0") +"%";
            MainSpriteRenderer.sprite =genki;
        }
        else
        {
            wifion.UnPause();
            wifinasi.Pause();
            MainSpriteRenderer.sprite = turai;
        }

        if (point > 100)
        {
            Debug.Log("クリア");
            SceneManager.LoadScene("ED");
        }
    }
}


スプライト変更

こちら

qiita.com

街の地図

画面の背景に町が欲しかった。ちょうどいいイラストがあった!!!

www.ac-illust.com

f:id:bibinbaleo:20190314162218p:plain

最初の画面はこんな感じ。かわいい。

 

f:id:bibinbaleo:20190314162226p:plain

クリア画面。この図をどうしても使いたかった。

f:id:bibinbaleo:20190314162222p:plain

wifiスポット内では音楽が流れて、スポットに入っていないとホワイトノイズが流れるようにしました。

何かをしている間、音が流れるというのは、PlayOnAwakeにしておいて

止まってほしい間は

AudioSource.Pause();

で、流れててほしいときは

AudioSource.UnPause();

にした。

qiita.com

歌ものを使ってみたくなったので初めて使った。

こちらとてもキャッチで素敵な歌。

dova-s.jp

1回聞いただけで割と覚えれる。

最後に

楽しかったです。

日曜日に公開。

https://unityroom.com/games/wifispot

【Unity】VisualStudioにエラーがいっぱい出るけど動くやつを直す

最近Unity使ってるときにVisualStudioでスクリプトを編集すると、最初からエラーマークが大量に出るようになりました。

f:id:bibinbaleo:20190314090254p:plain

でもスクリプト自体はちゃんと動くから無視してたんだけど、VisualStudioを更新したら治るそうです。

docs.microsoft.com

更新は右上の旗マークから。

f:id:bibinbaleo:20190314090247p:plain

ポチポチ押していけば

f:id:bibinbaleo:20190314090251p:plain

できた!

 

f:id:bibinbaleo:20190314090244p:plain

VisualStudioを再起動しただけじゃ治らなくて、Unityも再起動したら完全に治った

LookingGlass触らせていただいた

LookingGlassのハンズオンセミナーを受けました!

speakerdeck.com

f:id:bibinbaleo:20190313152755j:plain

初めて実物を見ましたが、きれいに表示されるとすごい!

そして写真では伝わらないというのが分かりました。

f:id:bibinbaleo:20190313152812j:plain

実物は想像してた大きさの2分の1ぐらいでした。

美しい~

f:id:bibinbaleo:20190313153414p:plain

LookingGlass自体はディスプレイでもあるので、3DのモードにしてなくてもきれいにPCの画面が表示されてる。

その状態でもおもしろい

f:id:bibinbaleo:20190313151820j:plain

ディスプレイの設定が必要

LookingGlassSDK

LeapMotionのSDK。unitypackage

lookingglassfactory.com

サンプルシーン

f:id:bibinbaleo:20190313151832j:plain

MainCameraを消してHoloCaptureを入れる

f:id:bibinbaleo:20190313143020p:plain

この緑がグラスの範囲

UnityのGameビューがルッキンググラスに表示される。

f:id:bibinbaleo:20190313151820j:plain

SettingsでGlassに反映。実行しなくても3Dで見れる!!
f:id:bibinbaleo:20190313143014p:plain

Toggleを押したら反映される

f:id:bibinbaleo:20190313143017p:plain

 

LeapMotion

DesktopModeにできる

f:id:bibinbaleo:20190313145826p:plain

手を登録

f:id:bibinbaleo:20190313151319p:plain

インタラクション

InteractionManagerをleapRigの下に入れる

f:id:bibinbaleo:20190313145817p:plain

f:id:bibinbaleo:20190313150805p:plain

これでつまむなどのインタラクションが自動でつく。

f:id:bibinbaleo:20190313145823p:plain

CubeにInteraction Behaviorを付ける

f:id:bibinbaleo:20190313145814p:plain

Physic Materialを作る。

f:id:bibinbaleo:20190313154350p:plain

摩擦とかをいじる

f:id:bibinbaleo:20190313150815p:plain

Colliderに作ったPhysicMaterialをつけると反映される。

f:id:bibinbaleo:20190313150818p:plain

最後に

面白かったです!!

生理周期管理アプリ

ルナルナを使っているのですがいまいち使いにくいなと思い、自分でシンプルなのを作ろうかと思いました。

ルナルナだけしか知らなかったけど、他にも色々アプリあるみたい。

www.iphonejoshibu.com

そんなにあるのか・・・じゃあ作らなくてもいいか・・・

生理日予測の計算式が気になる。

私が不安定すぎて全然当たらないけど、せめてどういう計算をしているのか知りたいな〜

基本的には平均周期っぽい

最初のデータがない状態ではどうなのかな

欲しい機能

・今までの周期(何日か)がすぐに見れる

・生理がきたらワンクリック

・計算式が見れる予想日

設計

「生理がきた」ボタンを押したら自動でその日の日付を取得

変数に入れる。

前回の生理日からの経過日数を計算

表示 

 

とりあえずこんな雑な画面を作りました。

f:id:bibinbaleo:20190308124945p:plain

配列とか使わないといけないことに気づいたのでここでストップ。

とりあえず今日の日付を取得することと、前の日付からの経過日数を計算することはできた。

f:id:bibinbaleo:20190308202544p:plain


 

トロフィーVRM【ニッチVRMアプリシリーズ】

トランプ、雑誌、ヒーローインタビューに引き続き今回はトロフィーです。

bibinbaleo.hatenablog.com

こういう全身金色の人が上に乗っているやつを作りたいと思います。

【名入れ対応】 トロフィー TO-3077-I SSボウリング男 高さ24cm

下の部分のモデリングが難しそうだから下のリンク先ぐらいシンプルな台でもいいかな

www.award-style.com

オスカー像もシンプル!

オスカー像 レプリカ トロフィー (オマージュ) Lサイズ 27cm

とにかく大事なのはキンキラキンにすること!!!あとポーズ

キンキラキンにする

しました。

f:id:bibinbaleo:20190228082340p:plain

金色のマテリアルを作って、一つ一つ置き換えていった。

f:id:bibinbaleo:20190228082331p:plain

眉とかアイラインはそのままだと下みたいになってしまう

f:id:bibinbaleo:20190302133046p:plain

RenderingModeをfadeにするといい!

f:id:bibinbaleo:20190302133050p:plain

台と空

cubeで台を作りました。

f:id:bibinbaleo:20190302135802p:plain

金のマテリアルに適当なNormalMapをつけて立体感を出した。

f:id:bibinbaleo:20190302135806p:plain

3Dtextで文字も入れました。

f:id:bibinbaleo:20190302140227p:plain

この3Dのテキスト裏に透ける

f:id:bibinbaleo:20190302140312p:plain

canvas使えばいいんだけどめんどくさい

シェーダー変える方法あったけどめんどくさそうだったのでやめました。

wiki.unity3d.com

ポーズ

ポーズ3つぐらいで迷った

f:id:bibinbaleo:20190302135652p:plain

f:id:bibinbaleo:20190302135655p:plain

結局これにしました。すごいバランス

f:id:bibinbaleo:20190302141354p:plain

完成

f:id:bibinbaleo:20190302141312p:plain

f:id:bibinbaleo:20190302141317p:plain

f:id:bibinbaleo:20190302141321p:plain