Mechanical Echelon

色々とやったことを書いていく

Dialogflowのチュートリアルでチャットボットを作ってみる Part.1

はじめに

最近チャットボットという言葉ををよく聞きます。
チャットボットとは、AppleのSiriやMicrosoftのりんなみたいに
人間同士の会話のように、テキストや音声に対して自動応答を返してくれるような技術とのこと。

チャットボットを作成するためのツールはいろいろな企業から提供されているみたいですが、今回はGoogleのDialogflowを使用していきます。

 

1.DialogfowにSign Upしてみる。

dialogflow.com

・上のDialogflowのページの「SIGN UP FOR FREE」をクリックします。[画面1]

・「Sign in with Google」をクリックします。[画面2]

・アカウント選択画面でアカウントを選択します。

・Dialogflow が Google アカウントへのアクセスをリクエストしていますと出てくるので許可します。

・Please review your account settingsの画面が出てくるので、「Country or territory」で「Japan」を選択、「Term of Service」にチェックを入れ、「ACCEPT」をクリックします。[画面3]

・Welcome to Dialogflow!のダイアログ画面が出てきます。[画面4]


f:id:den_noh:20180503000208j:plain
[画面1]


f:id:den_noh:20180503002331j:plain
[画面2]


f:id:den_noh:20180503002405j:plain
[画面3]


f:id:den_noh:20180503002430j:plain
[画面4]


以上で、DialogflowへのSign Upは終了です。
Part2ではAgentを作成していきます。

【C#】 ZXingを使ってWindowsフォームにQRコードを生成する

ZXingでQRコードを表示しようとしたけど、結構苦戦したので書いておこうと思います。

言語はC#、開発環境はVisual Studio 2017です。

1.ZXing.NETを利用するための準備をする。

ZXing.NETをダウンロード?インストール?この辺の正しい言葉がわからないけど、使えるようにします。
Visual Studioでソリューションを開いた後
[ツール]→[NuGetパッケージマネージャー]→[ソリューションのNuGetパッケージの管理]→[参照]
ここで、検索の部分に「ZXing」と入れて検索
[ZXing.Net選択]→[プロジェクトにチェックを入れインストール]
ソリューションエクスプローラーの参照の中にzxingが追加されていれば成功です。


2.Form1.cs[デザイン]の変更

QRコードを表示させるために以下の操作をします。
ツールボックスから[PictureBox]を選択
f:id:den_noh:20180324020843p:plain

[PictureBox]をフォーム上に配置
f:id:den_noh:20180324021107p:plain

3.コードを書く

先頭に以下のコードを追加

using ZXing;

フォームロードイベントに以下のコードを記入する。

 private void Form1_Load(object sender, EventArgs e)
        {
            BarcodeWriter qrcode = new BarcodeWriter
            {
                // 出力するコードの形式をQRコードに選択
                Format = BarcodeFormat.QR_CODE,
                Options = new ZXing.QrCode.QrCodeEncodingOptions
                {
                    // QRコードの信頼性
                    ErrorCorrection = ZXing.QrCode.Internal.ErrorCorrectionLevel.M,
                    // 日本語を表示したい場合シフトJISを指定
                    //CharacterSet = "Shift_JIS",
                    // デフォルト
                    CharacterSet = "ISO-8859-1",
                    // QRコードのサイズ決定
                    Height = 160,
                    Width = 160,
                    // QRコード周囲の余白の大きさ
                    Margin = 4
                }
            };
            // PictureBoxの中心に画像を表示するように設定
            pictureBox1.SizeMode = PictureBoxSizeMode.CenterImage;
            // QRコードを出力
            pictureBox1.Image = qrcode.Write("http://den-noh.hatenablog.com/");
        }

4.実際の表示

f:id:den_noh:20180324031747p:plain



 

Unityでゲームを作ってみた。

作ったゲームはこちら。

Unity WebGL Player | SwipeCar

マウスでスワイプすると車が動きます。

 

画面はこんな感じに映るはず。

f:id:den_noh:20170901001751j:plain

 

 

なんか作ったものが動くというのは感動する。

いろいろと覚えてオリジナルのゲームを作りたい!

 

 

 

 

 

Noto Sans CJK jpがUnityで表示されない

 

Unityで文字を表示させようとして色々と引っかかった。

使用しているUnityのバージョンはUnity 5.3.4f1 (64-bit)

 

まず、

 

UnityでWebGL向けにアプリを出力した際、アプリの文字が表示されないことがある。原因としてはUnityのTextに標準設定されているArialフォントに日本語が含まれていないため、日本語だけ表示されないという現象が起こってしまう。

 

 

この問題に対しては以下のサイトを参考にした。

qiita.com

 

ということで、日本語を表示させるためにNoto Sans CJK jpを導入したのだが、今度はTextが全く表示されない。

表示としてはこんな感じになってしまっていた。

 

f:id:den_noh:20170831010235j:plain

 

結局原因はテキストの表示領域が足りず消えていたというものだった。

 

f:id:den_noh:20170831010354j:plain

 

Rect TransformのなかのWidthが横幅、Heightが縦幅。

Heightが足りないため文字が消えてしまっていたみたい。

 

分かってみれば些細なことだったけど、結構気づかなくて時間をくってしまった。

原因が分かってよかった。

 

ゲーム制作

 

Unityでのゲーム制作。

本屋に行ってUnity5の教科書という本を買ってきて読みながらゲームを作っている。

C#の説明がしっかりと書いてあって、読んでてすごくわかりやすい。

 

f:id:den_noh:20170827231745j:plain

 

ゲーム自体は動くようになったんだけど、ビルドの仕方がいまいちよくわからない。

エラーが出てうまくビルドされない。

ウェブで動くようにビルドしたいんだけど、本には書いてないし、調べてもよくわからなかったから、解決にもう少し時間がかかりそう。

 

 

 

 

Unity2017 Editor Setting Any iOS Deviceが表示されなくてつまずいた

 

Unity4.1.5でゲーム制作の勉強をしているのだけど、

Iphone上でUnity Remote  5を使ってゲームの動作確認をしようと思って色々とつまづいたので、調べてわかったことを自分なりにまとめておく。

 

まず、WindowsPCでUnity4.1.5を使っている場合、Unity Remote 5でゲームの動作確認をすることはできない。

 

一番新しいUnity2017では、WindowsPCからでもUnity Remote 5を使ってゲームの動作確認をすることが可能。(Unity4.5.3以降から可能とのこと)

 

ということなので、Unity2017で簡単にプロジェクトを作って、ゲームの動作確認を行ってみた。

Editor Settingを開き、Deviceで、「Any iOS Device」を選択すればOKと、いろいろなサイトに書いてあったけど、僕の場合「Any iOS Device」がそもそも表示されていなくはまってしまったので、解決した方法を書いておく。

同じようなことが起こったときはPC側の設定の③へ

 

 

Iphone側で行う準備(使用したのはIphone5c)

App StoreからUnity Remote 5をインストールする(2017/08/14 現在)

 

f:id:den_noh:20170815001549p:plain

 

②ライトニングケーブルでPCとIphoneをつなぐ

 

②インストールしたアプリを開く。以上

f:id:den_noh:20170815001802p:plain

上のような画面が出てきたら待機していればOK

 

・PC側の設定(Unity 2017.1.0f3 Personal(64bit) )

Iphoneで動作を確認したいプロジェクトを開きEdit→Project Setting→Editter Setting

とボタンをおして行く。すると右側にEditor Settingというウィンドウが開く。

f:id:den_noh:20170815003832j:plain

 

②Deviceを選択しAny iOS Deviceがある場合はそれを選択する。

Iphoneをケーブルですでにつないでいる場合は一度ケーブルからIphoneを抜いて付け直し、信頼するデバイスうんぬんでパスコードを入力する。

それでも出ない場合③へ

f:id:den_noh:20170815004409j:plain

 

③File→BuildSettingを選択する。

f:id:den_noh:20170815010908j:plain

 

④Build SettingというWindowが開くのでiOSを選択し、Switch Platformを押す。

 

f:id:den_noh:20170815011131j:plain

 

⑤色々と処理が始まるのでそれが終わるまで待ち、再び①②の手順を行いAny iOS Deviceを選択

 

⑥Playボタンをクリックするとゲーム画面がIphoneに映し出される。

 

f:id:den_noh:20170815011742j:plain

 

以上の手順でIphoneで動作確認を行うことができた。

 

 

 

****************************************************************************************************

 

f:id:den_noh:20170815000721p:plain

自分で作ったものが動くというのは結構感動する。

 

 

ただ、一回引っかかると解決するまでに結構時間を食ってしまうのがすごくもどかしい。

あと検索して同じような問題に落ちいっているサイトやっと見つけたのに、

「解決しました。んー、改めて考えるとすごいな、って思うなあ。俺はやっぱ。」

みたいなサイトだと、どう解決したかが知りたいんじゃああああああ!!!!!

ってなる。まとめるのめんどくさいし、しょうがないんだけどね。