寝れない夜はUnityで遊ぼう5

これまで

寝れない夜はUnityで遊ぼう1

寝れない夜はUnityで遊ぼう2

寝れない夜はUnityで遊ぼう3

寝れない夜はUnityで遊ぼう4

今回やったこと

アンドロイドアプリ作成でいくつか詰まった点の覚書。

続きを読む 寝れない夜はUnityで遊ぼう5

寝れない夜はUnityで遊ぼう4

これまで

寝れない夜はUnityで遊ぼう1

寝れない夜はUnityで遊ぼう2

寝れない夜はUnityで遊ぼう3

今回やったこと

 

ゲームっぽい感じにしてAndroidアプリ化までしてみた。

続きを読む 寝れない夜はUnityで遊ぼう4

寝れない夜はUnityで遊ぼう3

これまで

寝れない夜はUnityで遊ぼう1

寝れない夜はUnityで遊ぼう2

今回やったこと

引き続きチュートリアル演習

3.カメラを動かす

4.アイテム回収の追加

5.ゲームのUIを追加する

6.ゲームのクリアを追加する

7.障害物とリスタート

 

これでゲームのベース部分はできるようになった。

続きを読む 寝れない夜はUnityで遊ぼう3

寝れない夜はUnityで遊ぼう2

これまで

寝れない夜はunityで遊ぼう1

今回やったこと

Unity初心者用のサイトはあんまりない。

検索すると山のように出てくるけど対象バージョンが古いか、中級者以上向けのハウツー情報が多い。

今回は以下を参考に進めた。

続きを読む 寝れない夜はUnityで遊ぼう2

寝れない夜はUnityで遊ぼう1

眠くないことはないけど寝れない。

今は特にやりたいことはないけどUnityでも触ってみようかと思った。

3D系のソフトはPovRayとBlenderとMMDのチュートリアルぐらいまで触った程度の知識です。

言葉の意味がかろうじてわかるくらい。

Unityも初期にインストールしてたけど何をしていいかわからずすぐに消してしまった過去あり。

続きを読む 寝れない夜はUnityで遊ぼう1

為替レートを読み上げるサービスが欲しい

為替レートを定期的に読み上げるサービスが欲しいんだけど見つからなかった。ないものはしかたがないので自作してみる。

node.jsで作るのが個人的に一番楽だろうけど、今後のWEBサービスにつながるかもしれないからHTMLベースで作ってみる。

続きを読む 為替レートを読み上げるサービスが欲しい

ヒロセ通商のLionFXで取引報告書から損益可視化する

学生だった頃からFX(外国為替証拠金取引)をずっとやってます。

現在はメイン口座としてヒロセ通商のLION FXを使っています。

毎月、取引量にあわせて食料を送ってくれる変な会社です。

損益の可視化をしたいけど、現状サービスがないので作ってみました。

 

使い方

  1. 取引ツールの上部タブから「履歴検索/報告書」を選択
  2. 「報告書のダウンロード」を選択
  3. 取引残高報告書で確認したい月を選んで表示ボタンを押す
  4. 「コピーを保存」でローカルに保存する
  5. ドロップエリアにファイルをドラッグ&ドロップするかファイル選択をする

gc0

 

可視化される内容

現在表示できるのは以下です。

  1. 通貨ごとの約定数、1Lotごとの損益、合計損益の表
  2. 通貨別の約定数の割合グラフ
  3. 通貨別の1Lot当り損益グラフ
  4. 通貨別の合計損益グラフ
  5. 日別、累計の損益チャート

gc1

gc2_2

感想とか

最初は履歴検索からダウンロードできるCSVファイルを入力にするつもりだったけど、100件ごとしかダウンロードできないのに気づいてPDF入力に方向転換。

どうすればいいか困ったけど pdf.js というライブラリのおかげで簡単に実装できた。

本当にJS界隈はなんでもあるな。

気が向いたら複数PDFをまとめてドロップして表示できるようにしたい。

あと可視化する情報を増やしたい。

 

情報をスタック&可視化するサービスを作りたい

定期的に更新される情報。

数字だけで小難しかったり、単体で見てもわかりにくかったり。

そういうのをDBにスタックしてわかりやすく表示する機能を作ってみたい。

次の要素があると作りやすい。

  1.  1日1回定期更新
  2.  フォーマットが変わらない
  3.  意味のある数値が毎日変化する

今回は練習作としてFXのスワップ金利を対象に作ってみた。

※スワップ金利とは2国間の金利差を日割りにして付与するものです。

 

仕組み

基本的にAWSで収まる設計にする。

概要 : CloudWatch -> Lambda -> DynamoDB <- Lambda <- API  <- S3

  • 入力
    1. CloudWatch Events – Schedule: daily  で1日1回Lambda関数を起動する
    2. Lambda関数でスクレイピング+DB格納
  • 出力
    1. S3に置いたHTMLファイルからAPI呼び出し
      • 普通にHTTP POST(GETしたかったがうまく設計できなかった)
    2. APIからLambdaを起動
      • Lambda関数と統合する
    3. DBから検索結果を返す
      • JSON形式でパススルー

 

可視化

次に持ってきたJSONをグラフ化する。

グラフ作成系のJavascriptは結構あるけど、どれも面倒な感じ。

今回は比較的簡単そうでデザインと名前が好みのChart.jsを使ってみる。

これは基本機能は簡単ではあったけど、ちょっと変えようとすると難しい。

頻繁に仕様が変わっているのか、ブログや紹介記事なんかはまったく当てにならなかったので公式ドキュメント以外は信用しない方がいい(Update関連は公式通りではうまくいかなかったけど)。

出来上がったチャートはこんな感じ。アニメーションが心地良い。

swap

 

さて何をつくろうかな。

 

javascriptでGIFアニメを作る【jsgif】

htmlで通信なしにGIFアニメを作成したい。

そこで jsgif というライブラリがあったので使ってみた。

ダウンロード&解凍したらhtmlにリンクを追加。

読み込み終わったら次のようなスクリプト記述でGIFアニメが作れる。

addFrameでcontext要素を変えながら追加していくとGIFアニメになる。

オプションの1つで指定した色を透明として扱うこともできる。

encoder.setTransparent(0x0000FF); 

しかしコレはそのままでは使えなかった。

GIFEncoder.js の以下部分を変更。

 

 

これで指定した色が透明になる。

位置を変えながらfillTextすると次のようなGIFアニメが作れた。

index

これを使ってまたなんか作ってみよう。

 

音声合成に関して色々やってみる

テキストを投げるとWAVが帰ってくるAPIを作りたい。

サービスとしてはいくつかあってDocomoは使いやすかった。

こういうのは制限もあるので自分で作ってみたい。

 

Lambdaでお試し

慣れてるし、他にいいのも思いつかないのでAWSを使う。

LambdaでテキストからWAVを作る処理を書いてトリガーでAPIを指定する。

Lambdaで実行ファイルを起動したいときは次みたいな処理をはさむ。

 

ためしにAquesTalkPiがLambdaで動かないかなと思ったけど無理だった。

 

音声合成ソフトについて

次に音声合成ソフトを色々調べてみた。

  • 組み込み用
    • AquesTalk,AquesTalk2:アクエスト規約に従う。
    • OpenJTalk:修正BSDライセンス。
  • フリーソフト(実行ファイル)
    • softalk(ソフトーク):Windows向け。Aquestalk使用でアクエスト規約に従う必要あり。
    • textalk(テキストーク):Windows向け。OpenJTalk使用。
    • AquesTalkPi:ラズベリーパイ向け。アクエスト規約に従う必要あり。

 

実行ファイルは基本Winbdows向けだし、いろいろ自由に使うためにOpenJTalk使って自分で実行ファイル作ることにする。

 

他にもnodejsのモジュールが2つ見つかったけど、やりたいことと微妙に違ったのとEC2でインストールできなかったのでこれらはいったん保留。

 

OpenJTalkのインストール

とりあえずWindowsにインストールしてみる。

ここを参考にした。

Visual Studio 2015にVcvarsall.batがなかったので2013を追加インストール。

2015のときも思ったけど西暦よりバージョンが1少ないのは紛らわしい。

(今回はMicrosoft Visual Studio 12.0に配置された。)

 

これでWindows上で動作するようになりました。

今日はとりあえずここまで。

ここから先が果てしなく長そう…。