Apple Engine

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

SceneKit と Metal で片方のビューをキャプチャし、他のビューのジオメトリに貼り付ける

SCNView の snapshot() メソッドでシーン自体のスクリーンショットを取得できる。 スレッドセーフでいつでも呼べるとはドキュメントには書いてあるが処理時間がかかるので連続で呼ぶとフレームが落ちる。 そのため、別の方法を使い Metal の命令から SceneKi…

次期 ARKit の噂(WWDC 2019)

9to5Mac で WWDC 2019 での開発者向けの新機能や API の噂が公開されてている。 9to5mac.com 以下、噂なので本当に実装されるかは判らないが翻訳してみる。 今年の ARKit は、AR のための新しい Swift 専用のフレームワークとともに開発者が視覚的に AR 体験…

新しい iMac i9 と iMac Pro Xeon 8-Core

Geekbench でスコアが出ていたので書いてみた。 CPU 世代が異なるため 2019 年版の iMac の方がシングルコア、マルチコア共に高くなっており、 iMac Pro の Xeon にはマルチスレッドの性能や AVX 512 など固有の機能があるが、使い切れるアプリがあまりない…

Web アプリはネイティブアプリを駆逐するのか?

「ネイティブアプリ開発者は絶滅危惧種なのか?」という記事があったので、別の考えとして Web アプリがメインステージに立つことがあるのか考えてみる。 jp.techcrunch.com コンシューマ向けである Windows 7 の 2020 年 1 月 14 日のサポート終了が迫り、…

ARKit でジオメトリの影を描画する

今までに自分が作成してきたサンプルはジオメトリの影をテクスチャで表現してきたが、ライトを置きジオメトリの影を描画したい時があるかもしれない。 ARKit の場合、現実空間と仮想のジオメトリを合成するため、平面認識後アンカーノードとしてジオメトリを…

Powerbeats Pro と 第2世代 AirPods の違い

iOS の復元ファイルである .ipsw のリソースファイルから Powerbeats Pro がリークされていたが、正式に発表された。 自分は Monster 時代の Beats by Dr. Dre のイヤフォンを 2 回、Apple になってから 1回買ったことがあり、 平打ち麺のようなケーブルが外…

Xcode 10、SceneKit の Cross-platform Game テンプレートを自力でつくる

Xcode 9 までは Cross-platform Game テンプレートは SpriteKit しかなかったのだが、Xcode 10 から SceneKit と Metal が増えた。 今回はこちらがどのような構造になっているのかというのと、このテンプレートのつくり方を探ってみる。 特に何かなければ、…

Swift 5 で導入された SIMD Vector Types

単体の simd や Accelerate フレームワークの simd ライブラリなどの一部が Swift 5 で使用できる様になった。 ちなみにクォータニオンはなく、関数も一部しかないので、 あくまでもデータを保存する型の様なものだと思ってもらえれば良い。 SIMD とは 以前…

Apple Arcade とサブスクリプションゲームのおとずれ

ゲームが遊び放題となる定額サービス「Apple Arcade」が昨日の Apple Special Event で発表された。 2019 年秋に 150 の国と地域をでサービスを開始するとのこと。 現状、価格は未明。 www.youtube.com www.apple.com Apple Arcade 特徴 全てのゲームがサブ…

ARKit で Spider Verse の様な色ズレを表現する。

SCNCamera にフリンジの設定があるので、 colorFringeStrength と colorFringeIntensity を調整するだけ。 let mainCamera = sceneView.pointOfView?.camera mainCamera?.colorFringeStrength = 5 mainCamera?.colorFringeIntensity = 0.5 Strength はフリン…

Stadia とアプリケーションの未来

2019年後半に Google が正式スタートさせるクラウドゲームサービスで、 HDR 4K 解像度、60fps で Google のデータセンターを介してプレイヤーにゲームを配信する。 (今のところ日本でのサービスインの予定はない) Google は体験を向上させるための Wi-Fi …

新しい AirPods とワイヤレス充電ケース

新しい AirPods とワイヤレス充電ケースが出ており、リニューアルは約2年ぶり。 AirPods 満充電で最大5時間、15分の充電で最大3時間稼働し 充電ケースを使用した場合、24時間の使用が可能となるのは以前のまま。 1日2〜3時間の使用の場合、1週間はケースを充…

2019 年版 iMac について調べてみる

約2年ぶりに iMac が出たので調べてみる。 公式ページによると 21.5 インチ Retina 4K が最大 60% CPU、最大 80% GPU スペックが上がり、 27 インチ Retina 5K が最大 2.4倍 CPU、最大 50% GPU スペックが上がっているとのこと。 今回、コスパの悪い第9世代 …

iMac Pro (2017) に Vega 64X とメモリ 256 GByte の CTO が追加された

2つの CTO が追加されたので調べてみる。 以下、価格は税別。 Radeon Pro Vega 64X Vega 64X と Vega 64 を仕様の情報から比較すると、 11 から 12 テラフロップスの単精度、 22 から 24 テラフロップスの半精度の向上となり、 約 1.1 倍。 Radeon Pro Vega …

2019 年版 iPad Air / iPad mimi の特徴と購入すべき端末

本日、突如新しい iPad Air と iPad mimi が発表されたので調べていく。 iPad Air と iPad mimi は、ほぼほぼ同スペックで、大きさ、重さ、Smart Connector の差ぐらいしか無く、 価格差は ¥9,000 と Apple 製品として考えると少ない。 カラーは第6世代同様…

GeekBench に Mac 向けの ARM のベンチマークが掲載されている

/LEAKS に Mac 版 ARM のベンチマークが掲載されているが、高い確率で嘘情報なので信用しない方がよいかも。 GeekBench の検索で該当チップがヒットしないことと、ARM ベースであっても現状で Single Core で 7000 近かったり超えたりするとフルで動かした場…

ARKit / SceneKit でフォーカスが外れたジオメトリの位置を知らせる UI をつくる

上の画像の様な感じ。 カメラから対象物となるジオメトリがフォーカスから外れるとジオメトリがある方向に、端末を回転する様に促す矢印の UI が出る。 今回はサクッとつくったため、あまり精度はないのでご了承いただきたい。 流れ overlayScene に左右矢印…

SceneKit で画像の色情報を元にジオメトリを配置する

画像の色情報とともにジオメトリを配置 上の画像の様な感じでピクセル分だけジオメトリを複製してマテリアルに色を付ける。 各ジオメトリのマテリアルの色が変わる可能性があり、GPU による Geometry Instancing が働かず、 ドローコールが画像のピクセル分…

ARKit や SceneKit で寿司を回す

前回の横に流れる文字の続き。 SpriteKit の SKScene でラベルをアニメーションさせたものを円筒状のジオメトリのマテリアルにテクスチャとして貼り付けて を流すとARKit で寿司を回る。 寿司を回す ARBoardSK からの変更 ジオメトリ ジオメトリを平面から…

ARKit や SceneKit で電光掲示板的な横に流れる文字を表示する

横に流れる文字(SceneKit) AR 空間で文字数の多いテキストを表示する場合、 紙のように板ポリゴン一面や空間にするケースがあると思われる。 AR は現実空間と密接になっているため、サイズが小さいと近くに寄る必要があり、逆に大きいと全体を見る為に遠ざ…

SceneKit のテクスチャに SpriteKit の SKScene を貼り付けて複雑な動きをするマテリアルをつくる

以前の記事で SpriteKit の SKVideoNode を使用して SceneKit のテクスチャに動画をループ再生する記事を書いた。 SpriteKit のシーンを貼り付けているため、基本的には SpriteKit で使用している機能を使いアニメーションや インタラクションをテクスチャと…

RICOH THETA Z1 が発表された

SceneKit、3DCG などの背景画像や Image Based Lighting (IBL) で RICOH THETA V を使用していたが、 新機種である RICOH THETA Z1 が出るため調べてみた。 THETA Z1 ワンショットで360°の全天球イメージを撮影できるカメラ 「RICOH THETA Z1」を新発売|RIC…

iOS 12 において注目すべき UI はショートカットアプリである

WWDC 2018 のセッションでは Fluid Interface の名の下に、 思考の延長のように感じ、そして振る舞うような UI をユーザーの体験を大きく改善すると尊い教えをいただいた。 UI / UX の大半はインタラクションとか見た目にとらわれがちだが、 そんなものは UI…

Xcode 10 の Scene Editor で Metal のカスタムシェーダーを設定する

Xcode の多分 10.1 から Metal のシェーダーファイルを Material Inspetor > Propaties > Shading で設定できるようになった。 内容的には SCNProgram が Scene Editor でできるようになった感じ。 Metal のカスタムシェーダーファイルを作成する 新規ファイ…

Xcode 10.2 Beta 1 (iOS 12.2 など) での ARKit、SceneKit、SpriteKit の更新

今回、更新はない。 Swift の場合は、Swift 5 へのアップデートに伴い構造体のイニシャライズで変更 (Modified) があるため、ARKit、SceneKit、SpriteKit でも広範囲で更新がかかっている。 更新はかかっているが機能的な変更はない。 まとめ 多分、今回更新…

がんばって USD ファイルをテキストで書いてみる

SCNScene から USDA が書きだせたので調べながら手書きで書いてみる。 今回は Apple 製品で動くものなので、実際の USD の仕様と異なるので注意。 本来は公式ページから GitHub へ行きツール群をビルドしそこから振る舞いを調べるべきなのだが、自分の環境だ…

SceneKit アプリで使用しているシーンを Pixar USD として書き出す

Model I/O framework は Metal で使用する一連をアセット操作するものがああり、ファイルを読み込んでアセットにしたり、アセットを別のファイル形式に書き出すことができる。 アセットの設定は Model I/O の MDLAsset を使用するのだが、MDLAsset では Scen…

Xcode 10 系で scnassets フォルダにファイルを追加すると CodeSign failed エラーになる件

原因不明。 現象 Automatically manage signing で Team を設定し実機にビルド。 最初は実機で動作したが、scnassets フォルダにファイルを追加すると 「Command CodeSign failed with a nonzero exit code」でビルドが止まる。 対処法 scnassets フォルダを…

ARKit (SceneKit) で Unreal Engine や Unity のようなグローパーティクルをつくる

SceneKit でグローなパーティクルのサンプルがなかったのでつくってみることにした。 つくってから気がついたが Apple 謹製のサンプルファイル Fox 2 での背景の火の粉のパーティクルがそれに当たる。 パーティクルにグローができる原理 デフォルト / HDR + …

Blackmagic eGPU / eGPU Pro、Vega 16 / 20 どれを選ぶか

Apple、Macbook Pro の Web ページに eGPU Pro のグラフが追加されていたのでまとめてみた。 www.apple.com eGPU Pro と eGPU の価格差は 1.66 倍。 Apple のページを信じると妥当な感じである。 GPU 税別価格 eGPU Pro (Vega 56) 149,000 eGPU (RX 580) 89,…