昨年の目標を見返してみたら、ほぼ達成できていませんでした。vtuberが楽しすぎて、年始早々に軌道がずれていったようです。2019年は昨年のような熱に浮かされた感じから徐々に落ち着いていくと思うので、目標達成率も上がるでしょう。そんなわけで2019年の目標。何かしら貢献するアプリ開発頑張るVR機器買って何か開発する(QuestかCosmosか...)動画関連のソフトかサービスを作る誰かと共同で何か作る風邪をひかない(花粉症は仕方ない)週次で何かやる目標にする分野の範囲が狭すぎる。今年も新しいものが出てくると思うので、その時に目標を考えよう。気づいたら、VRMのページにVRMQuickLookが追加されていました。ありがとうございます!で、さらに気づいたら、VRMQuickLookをこのサイトで公開するのを忘れていました。GitHubに公開しただけで満足してしまった...VRMQuickLook:macOS、VRM用QuickLookプラグイン実際のところ、VRMPreviewに、このVRMQuickLookが組み込まれているので、VRMPreviewをインストールしている場合は、こちらを別途インストールする必要は無いです。ここ数週間ほどでVRMがにわかに盛り上がってきているので、iOSのアプリ開発を一旦放り出してVRMビューアを開発していました...ダウンロードはGitHubから。実のところ、以前作ったglTF向けのライブラリをほぼそのまま使っているだけで、VRM専用のデータはほとんど使っていません。やっているのは、シェーダの差し替えと、VRMのメタ情報の読み込みくらい。マルチパスシェーダのため未対応。SceneKitの場合、マルチパスシェーダはビューかカメラかライトにしか設定できないはず(APIが変わっていなければ)なので、マテリアル毎の設定は難しいのです。MToon用のカメラを別途用意する感じでしょうか。デプスバッファや影の処理がうまくできるのかは怪しい。Keynoteに一時間遅刻してしまった...ギル様を優先したとも言う。別言語で2窓は流石に無理だった。2時間のライブであれば、1時間の遅刻は遅刻にはならない。YouTubeには便利な機能があって、ライブ中でも1時間遅れで再生出来るので、倍速で再生すれば、1時間後には最新の映像に追いつけるという寸法である。3D好きとしては、やはりARKit2に注目したい。複数の端末で一つのAR空間を共有出来るのは非常に嬉しい。背景を実写ではなく3Dモデルにすれば、VRも出来るので、顔認識用の人数分のiPhoneXとカメラモーション用のiPhone端末が用意できれば、同じVR空間で複数のVTuberがわちゃわちゃ動き回る様をライブ配信出来るようになりそう。ネット越しの同期もサポートしてくれるなら、物理的に集合する必要はない。出演者だけではなく、観客も同じ空間に入り込んで自由に動き回れる。どこまで出来そうかは後でAPIを確認しよう。→確認した結果、ネット越しだとあんまり使えなさそう。表情の変化をリアルタイムに反映するのもだいぶ頑張らないといけないようだ。ライブラリにお任せ出来ると思ったのに、結局自分で実装しないといけないのか。usdzというファイル形式は、usdの拡張でzip対応しているっぽい。ネット経由での利用を意識してのものだと思うので、glTFと競合していくことになるのかな。個人的にはVRMがglTFの公認拡張仕様になってglTFが流行って欲しい。他に気になるものがあまり無かった。あとはSessionのスケジュールを見て気になるものを選んで見ていけば良いかな、と考え中。JSも地味に気になる。あとはかなり望み薄だけど、SafariがWebGL2、GLES3に対応する気があるかどうか。ESがdeprecatedって書いてある!WebGLをどうするつもりなんだ。いえば、MicrosoftがGitHubを買収するとかなんとか。前々から作っていたARKitを使ったアプリが、ようやく公開出来ました。アプリの名前は、Showar(シャワー)です。X】VTuberになれるアプリを作ってみたダウンロードはこちらから↓https://itunes.apple.com/jp/app/showar-3d-vr-ar-avatar/id1369578518バーチャルYouTuberとか言っておきながら、ニコ動だけに投稿するのもおかしな話だと思ったので、YouTubeにも動画アップしておきました。ところで、今更ですが、ぽんぽこ24時間生放送お疲れ様でした。出演者の方々はもちろん、視聴者の皆さんも。最近、ただでさえ睡眠時間が削られているところに24時間生放送をぶっこんでくる鬼畜さに惚れました。2月はにわかに忙しくなってアプリ開発が全然進まず。3月はペースを戻していきたい所存。それはさておき、MMDSceneKitをCocoaPodsに対応させました。CocoaPodsに対応させたかというと、今作っているiOSアプリにMMDSceneKitを組み込んだところ、ダイナミックライブラリを入れないで!とAppleから怒られたから。それならソースからコンパイルすれば良いのだろう、ということでMMDSceneKitのプロジェクトを丸ごとワークスペースに取り込んでみたものの、細々とエラーが出て面倒くさい。!CocoaPodsで入れた他のライブラリは問題ないのに・・・と考えた結論は、MMDSceneKitだけCocoaPodsを使っていないから(思考停止)。頑張れば手動でもうまく組み込めるんだろうけど、頑張らないと使えないフレームワークとはいったい・・・うごごご!そんな感じです。そのうちCarthageにも対応するかもしれない。辞書をよく使う人は次のバージョンが出るまでアップデートを待った方が良いかもしれない。使っているから早く直してくれ〜。AppleのQAチームが息してないぞ。追記:手動でデータをダウンロードして復旧できた。原因は辞書データのダウンロード先がhttpであること(httpsではないこと)な気がする。つなげたURLに辞書データが置いてある模様。}となっているので、辞書データはhttp://appldnld.apple.com/osxassets/058-55450-2016008023-8A4D782E-661F-11E6-B483-D75733D2D062/com_apple_MobileAsset_DictionaryServices_dictionaryOSX/1a184f41ee27bbb203ba596a25c8ea104c13d98f.zipにある、という感じです。放り込んで、辞書アプリの環境設定から使う辞書に指定してあげればOK。抽出したURL一覧を置いておきます。本年もよろしくお願いいたします。投稿遅くなっちゃったけどぎりぎりセーフ?今年の10の目標はこんな感じで行きたいと思います。運動系イベントに参加する何かしら絵を描く何かしら曲を作る何かしら得意料理を作る今年始まった新しい何かに挑戦する前半を書いたところで、ジャンル偏りすぎじゃね?っていうかライブラリに至っては目標というより予定じゃね?と思ったので後半はもうちょっと脳細胞が元気になりそうなものにしました。内容曖昧すぎじゃね?今はiPhoneアプリを絶賛デバッグ中です。バグが多いのと、性能的に問題ありそうなんでリリースまでもうちょっとかかりそう。本当は昨年中に審査申請したかったんだけどなー。一度リリースまで経験すれば、次からはもっと早く作れる気がする。3Dのプログラムを書く人にとっては常識なのかもしれないけど、クォータニオンの除算ってどうやればいいんだっけと半日悩んだ結果を書いておく。結論から言うと、除算は不要。回転角度の符号を反転したクォータニオンを乗算すればいいだけでした。考えてみれば当然なんだけど、思いつかなかったんだよ!そもそもクォータニオンは何かと言うと、回転を表す4次元ベクトル。クォータニオンを全部乗算すれば分かる。\)こんな感じになるわけです(q1、q2、q3はローカルの回転、qはワールド座標系(正確には右肩の親ノード)から見た回転であることに要注意)。右肩・右肘の回転が決まっていて、最終的に右手をどちらに向かせたいか決まっているときに、右手首をどう回転すれば良いのか計算で求めるには、どうすれば良いのかな?と思ったわけです。(q1、q2、qが既知の時にq3を求める)回転方向を逆にしたクォータニオンを使えば良いのだけれど、これを共役(きょうやく)クォータニオンと呼ぶらしい。w成分の符号を反転させるか、xyzを反転させるか、どっちでも良いと思うのだけど、xyzを反転するのが正式なのかなぁ。記号の書き方も人によってまちまちだけど、ここでは、クォータニオンqの共役クォータニオンをq*と書くことにする。クォータニオンの積の計算は結構複雑なので、下手に方程式を解き始める前に気づいて良かった...おまけ:SceneKitのクォータニオンの積はこんな感じ。Xあるよって言うものだから買ってしまいました。Xを持ってる人たちが楽しそうにAnimojiやってるのを指をくわえて見ていたんですが、このままではくわえた指が溶けてしまう、と思って買っちゃうことにしました。MMDのモデルを使ってFaceTrackingしてみたんですが、思った以上にすごいですわ。おっさんがカメラに向かってウィンクしている様を想像してみてください。遊ぶつもりで作り始めたんですが、思いの外楽しいので、iOS向けアプリとして公開するのを目指すのもありかな、と考えているところです。ソースを公開したところで使える人はほんの一握りになっちゃうでしょうし。個人でアプリ公開したことないんで、勝手がわからないんですけどね...公開するとなると、MMD関連ファイルのサポートを含めるかどうかも悩みどころ。大半のモデルがMMD以外での使用を想定されていないようなのと、権利的にグレーなものが多すぎるので、いらぬトラブルを呼び込むはめになりそう。と他の選択肢も増えたので、MMDは外部ソフトに任せて自己責任で、というのが堅実なやり方かなぁ。逆にfbxはサポートしたいけど、簡単な方法はあるだろうか。