2018年1月開発状況

# 2018年01月
• ブラシの修正。
• ブラシ色・キャンバスの選定を行い作成。
• ボタンを角丸にしました。

角丸、着色、でだいぶ雰囲気が良くなりました。
ひさしぶりに気持ちが浮き上がりました。
• Twitter、エラー時の処理
• Twitterのアカウント追加・削除
• iPadでの回転処理に対応
• カレンダー画面、セクションでフィルタリングしたときに、存在しないセクションでfilterするとエラー。
• 前回の軌跡が単色に見えずに、2種類の色で描かれてしまうことがある問題を修正

• アプリアイコン作成
お絵かきをあらわすブラシをイメージしたものを試作。
うすピンク風オレンジと細輪郭とぼけ効果。

カレンダーをイメージしたものを試作。

あらためて、ブラシをイメージしたアイコンに決定。
ブラシを濃い色で描き、細輪郭をはずす。

2017年12月開発状況

Etow

Etow – nackpan Blog

• キャンバス画面で、セクションを変更すると現在のイメージのセクションが変更される仕様になっています。
しかし、すでに書き終わった画面で、新たに別のセクションをつけて新規作成したいこともあります。
どうするか?と考えて
* セクション変更画面で、ボタンを「名前変更」と「新規作成」の2つをつけることにしよう。
として、実装しました。
(その後、試用していくなかで、2つのボタンがあるとわかりづらかったので、「新規作成」のみに変更)

• 全画面表示に、画像削除機能を実装。

• データが増えると起動時に遅くなる問題に対処しました。
軽量・高速モバイルデータベースRealm入門」を参考に、Realmを使用している部分を修正しました。

* カレンダー画面からTwitterへ投稿するための機能を作成する

CalendarでのUpload用の選択機能の実装

• 保存用Dataモデルを変更してデータサイズを6割ほどに減らしました。

• Twitterの認証部分にはTwitterKitを使用していますが、投稿部分にはSwifterを用いました。
https://github.com/mattdonnelly/Swifter

• Metalでのお絵かき部分、バグ修正

その他

キミは「バーチャルのじゃロリ狐娘Youtuberおじさん」を知っているか!?
こちらの記事で、VRChatなどに興味を持つ。が、Etow作成の佳境であったので、特に環境を整えて実際にやってみるなどは行わなかった。

2017年11月開発状況

Etow

Etow – nackpan Blog
• 描き始めあたりで、ときおり点がとんでしまう症状に困りました。
Getting High-Fidelity Input with Coalesced Touches | Apple Developer Documentation
coalesced touchesを使うことで、対処しました。

• 前回の軌跡の描画処理をCGContextで描いていたものを、Metalで書き直しました。

• カレンダー画面の表示が遅かったのを、修正。あらかじめ、サムネイル画像を作成しておくことにしました。

• カレンダー画面で、画像セルをタップしたときに表示される全面ビューの実装

• 起動時に、前回の軌跡を表示し描画可能としました。
ここまで、毎回ブラシ選択を入れてから描画開始となっていました。修正して、起動してタッチしたなら描き始める形を実装しました。

• 砂地ブラシに活用しようとノイズについて調べました。
【Unityシェーダ入門】シェーダで作るノイズ5種盛り – おもちゃラボ
パーリンノイズを理解する | プログラミング | POSTD
その3 パーリンノイズとフラクタル

• ふち部分を暗くした背景を作成しました。
背景色はもともと白のみでしたが、気持ちの上下(とくにこのころは沈み込み)を表すのに、灰色や黒色を用意しました。
しかし、単色で塗りつぶされた背景では、気持ちが沈んだ感じがあらわせないなと感じていた中、周囲を暗くした背景を試してみると良い感じでしたので採用しました。
ふち部分を暗くするのには、
float val = (1-(x*x*x*x)) * (1-(y*y*y*y))
を使いました。

• 砂地ブラシをあれこれ試行錯誤しました。

• ブラシ選択せずに、canvasに直接描き始めることで、描画開始する仕組みを開発中
クリア操作なしでつぎつぎ描けるのは、おもしろみを感じました。

• アニメーション化機能のとりやめ。
パラパラ漫画風にアニメーションする機能をつけていました。
描いた画像が少しずつ変化している場合は、連続した動きとなりアニメーションで見ておもしろさがあります。
しかし、簡略化した顔の表情を連日描いて使用していたところ、繋がりがあまりない画像が順に表示される動画になってしまいました。
よほど注意してつながりを意識して描かないと、おもしろさがでないということで、この機能は外しました。
残念。
ちょっとした操作が蓄積されると、いい感じのアニメーションになる、というのはどこかで実現したいです。
今回はうまくできませんでした。

Repete Plus

Repete Plus – nackpan Blog
OneDriveをMicrosoft Graph APIでの認証に変更を試みました。

2017年10月開発状況

使用していたMacBook Air (13-inch, Mid 2011)の調子が非常に悪くなりました。
開発を進めるのが困難になったので、MacBook Proを購入しました。

Etow

Etow – nackpan Blog
Metalを使用したお絵かき機能の試行錯誤。
なかなかうまくいきません。
肥瘦線ブラシ、砂地ブラシを作成中。
この時点では、変わり種のブラシを追加アイテムとして有料で販売することを考えていました。(その後、とりやめ)

### Repete Plus、Repete
iOS 11に対応しました。
大量のWarningを潰していって、対応。
Migrate to Swift 4 @objc inference – Xcode Help
XcodeのHelp。
selectorのMethodには、@objcをつけなさい。

The Swift Programming Language (Swift 4): Strings and Characters
StringのSubstringsについて。

2017年9月開発状況

Etow

Etow – nackpan Blog

ブラシ選択画面の作成。

カレンダー画面の修正。
複数の画像があるセルを長押しすると、その日の画像がすべて表示されるようにしています。
展開したあとのセルを長押しすると、縮小します。
そのさいの計算が間違っているところあり。修正しました。

Xcodeを9.0にアップデート。
Realmが古いと出ました。ソースコードからビルドしました。

描画の際のブレンディングについて調べました。

2017年8月開発状況


Etow

Etow – nackpan Blog

お絵かき部分、Metalを使った描画機能を組み込み始めました。
以前、AppleのサンプルGLPaintをさわりました。
OpenGLを用いて線の描画を行うサンプルです。PointSpriteを並べることで線を描画しています。
これと同じようなことをMetalでできないものでしょうか。
PointSpriteにあたるものとして、MTLPrimitiveTypePointがありました。
これを利用しているAppleのサンプルを調べました。
MetalShaderShowcaseのParticleのところで使用していました。
<サンプル画像MetalShaderShowcase>
こちらで使用しているshaderを改造しました。

お絵かき機能の原型。

月前半はさっぱり進みませんでしたが、後半はすこし進捗がありました。

8月分の画像をアニメーション化したもの。


選んだ画像からパラパラ漫画風にアニメーション化する機能をつけています。

こちらはカレンダー形式。

画像は日々の進捗に対する気持ち・気分をカレンダー形式で表示したもの。

2017年7月開発状況

Repete Plusの待ち時間の下限を0にする処理を試みましたが、とりやめました。
Repeteの選曲画面をRepete Plusのものに準拠させました。
Etow、カレンダー形式での表示部分を実装中。

Repete Plus

Repete Plus – nackpan Blog
待ち時間の下限を0にする処理を試みました。
そして、十数回繰り返しでもとまらない処理を書けました。
しかし、その処理後の待ち時間0で聞いてみると、やっぱりすこし間ができてしまいました。
残念ながら、不採用。
待ち時間の下限は0.1のままとしました。

Repete

Repete – nackpan Blog
• 選曲画面を変更しました。
Repete Plusで使用しているスタイルに準拠しました。
• 前回選んだ項目を読み込む機能を加えました。
• データベースにRealmを導入しました。
• 初回時、スライダーが進んでいかない不具合を修正しました。

Etow

7月
• カレンダー表示のために、Collection Viewについて学びました。
• 日時のしるしかたについて学びました。
参考: Swift 3 の日時操作チートシート – Qiita
【Swift】Dateの王道 【日付】 – Qiita

日々の進捗に対する気持ち・気分をカレンダー形式で表示したもの。7月後半から。
CGContextを使用した描画方式。
黒ペン、白キャンバス。

2017年6月開発状況

月ごとの開発状況をブログ記事にしていたのですが、2017年5月を最後に途絶えていました。
今になってではありますが、その続きを記します。
2017年5月の記事を読むと、もうMetalは触っていたことや、Etowの開発期間が思っていたよりもさらに長くておののきます。
読み返せるところにやはり書いておくべきだと思いました。

2017年6月の開発状況のまとめ

• Repete Plusのアップデート(version 3.0)を行いました。
• Rendowに、有料の視覚エフェクトを追加しました。
• 10秒絵日記「Etow」には手をつけられませんでした。

Repete Plus

Repete Plus – nackpan Blog
6月前半はRepete Plusのアップデートを行いました。
version 3.0作成しました。
追加した主な機能。
• タップジェスチャーに、「現在区間の再生・再生不要の切り替え」を追加
 これによって、いまの区間は習得したなぁ、というときにタップすれば、その区間を再生不要にできます。
オーディオエディターを開き、波形部分を拡大して、該当する区間を見つけて、チェックを外す、という手間が省けます。

• テキストエリアの拡大機能。
テキストエリアを拡大する機能をつけました。

Rendow

Rendow – nackpan Blog
こちらのアプリに手を入れるのは久しぶり。
走る速度に合わせて音楽の速度がかわるアプリです。

In-App Purchase処理の実装。
有料アイテムとして、視覚エフェクトを追加しました。

Etow

この月は、Etowにはほぼ手をつけられませんでした。