雑にイカちゃんになるアプリを作りました
Splatoon3の発売日も近くなってきましたね。
だからというわけでもないですが、写真を撮影してインクリング風に加工するカメラアプリを作りました。
概要
それっぽく髪と眉の色を変えて目に画像を重ねます。
作った画像はシェア・保存できます。
詳しい説明
撮影画面
アプリを起動すると撮影画面が表示されます。
写真の撮影にはカメラのアクセスが必要なので、アクセスを要求するダイアログが表示されたら許可を選んでください。
ボタンは左から、ガイド切替ボタン・シャッターボタン・カメラ切替ボタンです。
ガイド切替ボタンを押すと撮影ガイドがグリッド→サークル→なし→グリッドの順で切り替わります。
あくまで撮影ガイドなので撮影する写真に影響はしません。
編集画面
人物が1人映った状態でシャッターボタンを押すと写真をインクリング風に加工して、加工結果を編集画面で表示します。
人物が2人以上映ってる場合や、写真から加工に必要な情報が取得できなかった場合はエラーが表示されます。
ボタンは左から、戻るボタン・シェアメニューボタン・背景切替ボタン・カラーボタンになります。
カラーボタンを押すと髪と目のカラーパターンが切り替わります。
背景切替ボタンを押すと背景が無加工→ぼかし→背景透過→無加工の順で切り替わります。
戻るボタンを押すと編集中の写真を破棄して撮影画面に戻ります。
左スワイプでも撮影画面に戻れます。
シェアメニュー
シェアメニューボタンを押すとメニューが開きます。
メニュー内容は上から共有…、ツイート、“写真に追加”です。
共有… を選択するとiPhoneの共有アクションシートを開きます。
ツイート を選択するとTwitter認証が画面に表示されます。
Twitterアカウントを入力するとツイート画面が表示されます。
ツイート画面は文章を編集可能です。
この画像と文章でツイートする を選択すると入力したTwitterアカウントでツイートします。
“写真に追加” を選択すると写真をカメラロールに保存します。
写真の保存には写真へのアクセスが必要なので、アクセスを要求するダイアログが表示されたら許可を選んでください。
サポートしているカラーパターン(髪 - 目)
Splatoon2 カラーA(ピンク - オレンジ)
Splatoon2 カラーB(グリーン - ブルー)
Splatoon カラーA(オレンジ - オレンジ)
Splatoon カラーB(ブルー - ブルー)
Splatoon3 カラーA(イエロー - イエロー)
加工処理について補足
髪の毛の判別にはSemanticSegmentationMatteを使用しています。
眉の領域はSemanticSegmentationMatteとVisionを基に算出しています。
目の画像はARKitではなく、Visionで取得した目のランドマーク情報を基に大雑把に変形した画像を重ねているだけです。
制限事項
このアプリが動作しない機種
SemanticSegmentationMatte(及びPortraitEffectsMatte)を使用するため、A13 Bionic以前のチップを搭載した機種では動作しません。
iPhone SE(第1世代)
iPhone 6s(Plus)
iPhone 7(Plus)
iPhone 8(Plus)
iPod touch
動作しない可能性のある機種(未確認)
以下の機種もA13 Bionic以前チップを搭載していますが、デュアルカメラ端末ならA13チップなしでもSemanticSegmentationMatteをサポートしているのかを確認できていません。
iPhone X
iPhone XS
iPhone XS Max
iPhone XR
実際に動作を確認してみた方やSemanticSegmentationMatteの仕様についてご存知の方がいたら教えていただけるとありがたいです。
今後の予定
多分やる
◎髪・目の色を追加
◎髪明るさの調整
やってもいいかも
○閉じ目対応
○メガネ対応
やれたら面白いかもしれない
△何かしらのフィルター機能
△2人以上に対応
やらない
✗Android対応
✗ディテールアップ(ゲソとか耳とか)
実際にどこまで機能追加するかのモチベーションは技術的な難易度もありますが、Splatoon3にハマるか否かが大きいです。
2と同じようなバランス(調整)感覚だとちょっとモチベ出ないですね。
眉の領域の算出については別記事で解説書くつもりです。
■
この記事が気に入ったらサポートをしてみませんか?