Apple Engine

Apple, iPhone, iOS, その周辺のことについて

UI デザインで今後丸ゴシックが使用される可能性

iOS 12.2 以降の Wallet アプリ で Suica を開くと価格部分に「SF Compact Rounded」という丸ゴシックのフォントが使用されている。

f:id:x67x6fx74x6f:20190530170512j:plain

 

また、噂されている iOS 13 で Apple が提供しているアプリでも「SF Compact Rounded」が使用されているスクリーンショットがリークされているため、
この流れから、丸ゴシックが使用される可能性もあるだろう。

Wallet アプリ で丸ゴシックが使用された理由はよくわからないが、
昔は欧文フォントでは丸ゴシックが少なく、わりとここ何年かで増えた感じはしており、珍しさがあるのかもしれない。

また、日本での広告や公共交通機関での情報表示ではわりと丸ゴシックが使用されているので、その影響もあったりするかもしれない。

 

macOS で使用できるもの

現状、macOS で使用できる丸ゴシックフォント。

  • SF Compact Rounded
  • Arial Rounded MT Bold
  • ヒラギノ丸ゴ Pro w4
  • 筑紫A丸ゴシック
  • 筑紫B丸ゴシック

f:id:x67x6fx74x6f:20190603153634p:plain

 

個人的に好きな丸ゴシックフォント

  • AXISラウンド 50 / 100
  • イワタUD丸ゴシック
  • Sofia Pro Soft
  • Akko Rounded
  • DIN Next Rounded / FF DIN Round

 

今後期待している丸ゴシック

Fontworks で新しい丸ゴシック「筑紫アンティーク丸ゴシック」が開発されているらしい。
期待している。

WWDC 2019 の発表をなんとなく妄想する

いつも通り妄想してみる。
主に妄想してみるのは以下3つ。

  • ARKit を含む Metal や SceneKit の 3D Graphic
  • Core ML や Create ML の強化
  • macOS での UIKit の使用

 

ARKit を含む Metal や SceneKit の 3D Graphic

ARKit で Swift 専用のフレームワークが増える

ARKit で Swift 専用のフレームワークが増えるという噂だが、もしそうなら Create ML のような macOS でつくる事前処理か、それとも Apple のプラットフォームで Objective-C のサポートがなくなるのか。

Objective-C のサポートがなくなるのなら Unity や Unreal などゲームエンジンが死亡する。

 

ARKit で人間のポーズの検出機能

ARKit で人間のポーズの検出機能もつくと噂されている

人間のポーズが取れるなら、SceneKit 側で人体の基礎となる骨格、CG 用語でいうリグが実装される可能性ある。

また、キャラクターアニメーションの機能が強化される可能性がある。

 

ARKit で遮蔽物の認識ができるようになる

6D.ai など他のライブラリーでも行なっているので、できるようになる可能性はある。

ARKit 2.0 で実装された WorldMap から遮蔽物を保存できると思われるので、同じ位置で遮蔽物の復元をかければ、正直リアルタイムに遮蔽物をスキャンしなくてもよいは気がする。

 

ARKit でイメージやオブジェクトトラッキングの向上

イメージトラッキングの場合、トラッキングする画像に欠損があると認識が落ちるので、参照画像に透過が使えると嬉しい。
例えば、参照画像のロゴの背景が透過しているものを設定し、トラッキングの際はロゴをデータの合致だけを見て背景色は変わっていてもよいとか。

また、オブジェクトトラッキングは止まっているものを認識するようになっているため背景が変わると認識できない。
カメラ画像から特徴点を取っており、木目の上にのっているオブジェクトと大理石にのっているオブジェクトでは別のものになってしまう

そのため、現状ではいくつかの背景のものをスキャンして、結合する必要がある。

それをせずに背景だけ外して認識するできるようになるなど。
(ロジック的に想像できないので多分かなり難しい)

また、手や指のトラッキングなど。

 

SceneKit でマルチプルビューポート

A12 の Metal の機能で複数のカメラを使用した画面を表示する機能が追加されているので、このような機能が実装されれば確実に AR グラスの製品が出る日が近い。
また、外部ライブラリを使用しなくても、この機能があれば VR も可能になる。

実はアプリ申請できないプライベートフレームワークで iOS 10 までマルチパスレンダリングで同じことができる API が存在していた。

 

その他で SceneKit で増えそうな機能

去年は SceneKit で新しい機能が一部しか変更がなかったため、今年はかなり更新されると思っている。

以下、完全に妄想。

  • ジオメトリのパーティクル
  • Animoji で耳などに使われているようなダイナミックボーンやスプリングボーン
  • クロスシミュレーション
  • ML 使用した流体シミュレーション
  • スクリーンスペースベースの SSS や屈折
  • ヴォリュームレンダリング
  • ジオメトリのボロノイ分割
  • レンズフレアなどのカメラエフェクトの追加
  • SceneKit でシェーダーを作成を簡単にする仕組み
  • SceneKit でのパストレースの実装、もしくはオフラインレンダラー
  • シーンエディターでのタイムライン操作の強化

 

Core ML や Create ML の強化

Core ML では音声周りの機能が増えそうではある。

Create ML が iOS で使用できる可能性がある。
現状、iPhone XS よりしょぼい Mac の Swift Playground でも動くため、動作しそうな感はある。

ただ Create ML 自体、元が Turi Create なので、Python が使用されている可能性があるため、Python 自体が実行できるようにかもしれない。
macOS では Swift から Python を実行できるため。

また、これに伴い Vision Framework も大幅に拡充もされそうではある。

 

macOS での iOS の UIKit の使用

macOS で UIKit が使用できるようになのであれば Cocoa と UIKit で追加の API が多く実装される可能性がある。

例えば、View にマウスイベントが動く必要がある。
そのため、ブラウザーの Pointer Event のようにタッチ、ペン、マウスを統一された API 取得できるものが用意されるとか、
Touch Bar の処理を UIKit の View に渡したり、ショートカットを渡す処理など軽く考えるだけでも色々 Cocoa と UIKit で処理をつなげなければいけないものが多い。

 

その他

OpenGL/GLES、OpenCL が廃止される中、Maya など 3DCG DCC ツールが Metal に対応されるとは到底思えない。
多分 Metal で対応される可能性が低いので Apple 自体が用意するかもしれない。

UIKit の実行に関しては、もしかすると発表される Mac Pro には T2 チップとは別にアクセラレータとして Apple A チップが搭載される可能性も考えられる。
もし、UIKit をシミュレーションさせているなら Mac 自体に Apple A チップ 側で処理したほうが速いから。

あと、Mac Pro と共にディスプレイを出すらしいが、eGPU が搭載されていそうな感はある。
GPU が付いていたら便利だし、値段が高くてもある程度言い訳ができるし。

 

まとめ

あくまでも妄想の範疇で書いてみたが、実際のところ全体で大幅に変わると予想されるので、明日以降更新を調べていくのが大変になりそうではある。

Pokémon GO における Apple Watch のサポート中止と Apple Watch のこれから

Pokémon GO では Apple Watch のサポートを終了いたします。 2019 年 7 月 1 日以降、Apple Watch では Pokémon GO にアクセスできなくなります。

niantic.helpshift.com

 

「いつでも冒険モード」で代用できるとのこと。

 

機能的には「いつでも冒険モード」より、Apple Watch の方が色々できるが、 モンスターボール Plus、Pokémon GO Plus の方が利便性があるだろう。

ただ、個人的には Apple Watch のアプリのサポートを中止する理由があまりわからない。

思う部分は2点。

  • モンスターボール Plus、Pokémon GO Plus、Pokémon GO Plus+ の販売拡充のため
  • サポートや開発コストが掛かるため

 

モンスターボール Plus、Pokémon GO Plus、Pokémon GO Plus+ の販売拡充

可能性は高いし、Apple Watch が使用されていない可能性も大いに。

ただ、WWDC 2019 直前に発表する意味はないのではと思っている。

 

サポートや開発コスト

正直、コストに関しては問題はないと思うが書いてみる。

今も Unity でアプリがつくられているだろうが、Unity では Apple Watch のアプリ制作をサポートしていない。
ちなみに、ロードマップからも消えたので今後サポートされるかはわからない。

そうなると、Objective-C か Swift のブリッジを使って Native Plug-in と watchOS アプリコードを書くことになるし、多分 Pokémon GO もこのように実装しているだろう。

また、Apple Watch 対応発表後かなり経ってからリリースされているので、正直 Apple プラットフォームでの開発力があるかよくわからない。

watchOS 自体 Metal を使用して 3DCG を表示することができるので、ネイティブでつくっていれば iOS から watchOS への移植もさほど難しくなかった気はする。

 

Niantic の対応から見る今後の Apple Watch

現状、Apple Watch のアプリは iPhone からデータを送るため単体で動くものは Apple がつくっているものしかない。

噂されているように WWDC 2019 で Apple Watch 単体で使用できる App Store が発表される可能性があり、もしかすると単体で動くアプリが開発できるかもしれない。

そうなった時、Apple Watch が Android など他のプラットフォームでも対応されるかもしれないので、Niantic での対応コストが上がる。
これを予想しているのであれば、WWDC 2019 前に発表したのわかる気はする。

で、Apple Watch 単体でアプリが動くことができるようになれば、小型端末でこのようなハードが動くこととなる。

例えば AR グラスとか。

Google の Material Design の UI があまり好きではない

Android が嫌いとかいうわけではなく、UI に関して一貫性がないため。
iOS が完璧かと言われるとそうは言えないが、いくつか問題がある。

 

Material Design の概念の崩壊

まず、Material Design で紙のメタファーの様に言っていたが、ダークテーマ適用の際にその概念が意味をなくした。
そして、概念を変更した説明がない。

 

Material Design でコンテンツ以外の部分が目立つ場合がある

ヘッダーやタブ、フローティングのボタンなどに色を付けるため、本来アプリで注目させるコンテンツが目立たなくなる。
謎である。

f:id:x67x6fx74x6f:20190602084137p:plain f:id:x67x6fx74x6f:20190602084201p:plain  

iOS でも Material Design を押し通す

iOS での Google のアプリのデザインは Material Design を押し通している。

ちなみに Android 版の Apple Music アプリは Material Design に添う様にデザインしなおされている。

 

まとめ

Material Design が自分はよいものだとは思えないのが現状の考えである。

Game Controller フレームワークについて電子書籍を書いてみた

試験的にまた電子書籍を書こうかなと思い、
ゲーム系の仕事をしてた過去があり、Apple プラットフォーム (iOS, tvOS, macOS) で物理的なゲームコントローラーに関して知見があったので、Game Controller framework について書いてみた。

x67x6fx74x6f.booth.pm

 

Game Controller framework に関して公式ドキュメンと Web 検索でほぼ情報入手できるし、動作サンプルを公開しているのでこの本が必要かと言われると微妙ではあるが、
まぁ、若干の罠があるのでそれを知るためのものという位置付け。

また、Unity などゲームエンジで Apple プラットフォームでゲームコントローラーを対応するための基礎知識とはなると思う。

 

Game Controller framework について

Game Controller framework は操作されている値を取得するだけなので、ゲーム以外でも使用でき、用意されている API も少なく変更も少ないため、おぼえてみるのもよいかもしれない。

MIDI コントローラー、MIDI キーボードなど、パラメーターを Core MIDI で取得するはそこそこ面倒だが、
ゲームコントローラーだと 14 ぐらいの操作を手軽に取得でき、
インスタレーションで表示を変化させるトリガー、サイネージでの操作、ARKit を使用した AR コンテンツの補助的操作など、ゲーム以外に使用できる用途は沢山ある。

ARKit をビルドして動かすだけでも面白さがあるように、物理的なコントローラーでコンテンツが操作できるだけでも面白さはあると個人的に思っている。

 

注意点

ちなみにサンプルは tvOS + Siri Remote か iOS デバイス + MFi 認証取得のゲームコントローラーがないと試すことができないので注意。

 

その他

本で記載したコードは Swift。
PDF をオーサリングしたアプリは Re:VIEW から Apple の Pages に移行した。

今回使用した Pages のテンプレが必要であれば公開する。

 

この本の更新について

WWDC 2019 で Apple Arcade の詳細が発表された際に、Game Controller framework 更新があった場合は、
この本の更新を予定はしていおり無料でアップデートされる。

ただ、更新する量が多い場合はアップデート時に価格を変更するかもしれない。

その後は多分大幅な更新はないとは思われるが、 更新内容が全体の 1/3 を超える場合は新しい電子書籍としてリリースする。

 

本で紹介したコントローラーで購入可能なもの

2019年版の iPod touch が発表された

f:id:x67x6fx74x6f:20190529031243j:plain

A10 Fusion に変更された新しい iPod touch が発表された。
約4年ぶり。

謳い文句は、従来品より最大2倍パフォーマンス、最大3倍グラフィックスが向上し、AR 対応端末となっている。

6色展開かつ値段据え置きで、スペック上は SoC と ストレージに変更があるだけな模様。

www.apple.com

 

SoC

追記: バッテリーの問題かクロック周波数が抑えられている模様。

どうやら Single : 2700, Multi : 4700 ぐらいなスペックっぽい

www.macotakara.jp

 

A10 Fusion となっており、iPhone 7 と同様となっている。
以下、Geekbench のマルチコアで並べてみた。

Single Multi
Google Pixel 3
Snapdragon 845
2249 7772
Google Pixel 2
Snapdragon 835
1836 6060
iPhone 7
A10 Fusion
3410 5744
Google Pixel 3a
Snapdragon 670
1609 5133
iPad Pro 12.9-inch 1st
A9X
3059 5123
iPhone SE
A9
2407 4167
Google Pixel
Snapdragon 821
1625 4009

 

CPU 的には、最初の iPad Pro の A9X より速くなっている。
(Metal の性能は GPU 数が多いため A9X は A11 よりスコアが高い)

また、CPU 性能だけであれば、最初の Google Pixel や Google Pixel 3a より速く、Google Pixel 2 にほぼ近い。

GPU 性能的にも CPU に近しいものになり、iPhone 7 より画面が小さいため処理能力は高いと思われる。

 

価格(以下税別)

  • 32G ¥ 21,800
  • 128G ¥ 32,800
  • 256G ¥ 43,800

 

この端末を出した狙い

需要を考えている 

以前の iPad touch の端末のサポートが切れることと、iPhone や iPad の価格が高騰しているため開発向けの意味合いもあるだろう。
教育や業務用の端末として使用されているケースがまだあり、これらを考えるとまだ需要があるのだろう。

 

AR を進めていきたい

今年のラインナップで AR を推すのであれば A9 以前のチップを一掃したいのではと思わないでもない。
(そうなるのであれば噂されていない Apple TV HD も消えることになる)

 

Apple Arcade などゲーム発展させたい

A10 Fusion は 2 世代前のハイエンドと同じようなスペックを持ち、Android では1世代前に近いスペックを持つため十分使用できるだろう。

もしかすると、Apple Arcade の最低スペックが A10 なのかもしれない。

 

Apple TV+ などの再生端末として

端末自体での再生や AirPlay での再生が予想される。

海外では TV に AirPlay をサポートし始めたものが出るらしいので、Apple TV を使用したり間に挟まず、この端末から TV で再生する流れもありうる。

 

同スペックの iPhone 7 との比較

現状の iPhone 7 が以下の価格で、価格差が ¥29,000。

  • 32G ¥ 50,800
  • 128G ¥ 61,800

画面解像度、カメラ性能、セルラー回線、GPS、Touch ID、Suica(FeliCa)が使え CPU スペックが抑えられているため、
正直なところ、iPhone 7 の方が価格差以上の機能はあると思っている。

 

まとめ

ゲームなどで iOS の端末が使いたい、開発向けなどにはよい端末だと思われる。

個人的には A10 系と A11 以降で GPU の機能が異るので、A11 にしてもらかった。

いい加減 Touch ID を実装してほしいところではある。

9to5Mac で iOS 13 のスクリーンショットがリークされている

9to5Mac で iOS 13 のスクリーンショットがリークされている。

9to5mac.com

 

今回のリークで気になっているのはカレンダーとリマインダーの画像だ。

f:id:x67x6fx74x6f:20190529034101p:plain
9to5mac より

 

スクリーンショットを見ると、iOS 13 ではカレンダーアプリと、リマインダーアプリで現在 Wallet アプリで使われている SF UI Rounded フォントが使用されている。
(iOS 12.2 のWallet アプリ でデザイン変更された際に使用された)

 

何が気になっているかというと SF UI Rounded に該当するフォントウエイトの和文フォントが iOS で存在しない。

現状、iOS にある丸ゴシックのフォントは筑紫A, B丸ゴシックのみ。

f:id:x67x6fx74x6f:20190529034646p:plain

 

近しい筑紫A丸ゴシックはウエイトが2種類しかない。
日本語でフォントやウエイトが増えるのか、SF UI Rounded ベースで何かつくるのか、
たのしみではある。