Ver1.9.3に向けていろいろ作っています。
・前回のFanboxで言ったような、腕のトラッキング外れ時の処理改善
・独自のテキストログ出力を仕込むことで、お問い合わせをサポートしやすくする施策
・音声デバイスの処理が一部環境で不安定だったのを修正
・一部ローカライズの誤字を修正
などが、今できていることです。
これに加えて、
・最新のVRMに準拠
・APIアクセスを最適化してより高速に起動するように修正
など細かい改善をしていこうと思っています。
少しだけ今後の話:
その他、問い合わせでよくiPhone(ARKit)のフェイストラッキングの対応について聞かれますが、いろいろ考えた結果対応することにしました!同時にパーフェクトシンク対応もする予定です。
(まだ確定ではありませんが、VMagicMirrorと一緒でiPhoneアプリはiFacialMocapを使う予定です。)
(余談ですが、パーフェクトシンクに対応しているiOSアプリのvearは新卒時代の元同僚の作品だし、VMagicMirrorも同僚の作品なので世間は狭いですね!)
またARKitとは別に、現在顔認識で使っているUlseeライブラリもやりたいことに対して弱さを感じることが増えてきたので、Webカメラの顔認識ライブラリを変えることも検討したりしています。
そのほかの話:
最近WIRED(Twitterフォロワー1000万)でTwitchのストリーマーのpokimaneさん(Twitchフォロワー450万)のバーチャル化が紹介されてて、Luppetも紹介されるなどされてたようです。
数字がでかすぎてクラクラするけど、海外のV界隈にも寄与できてるということの現れだと思うので今後も頑張るぞ!という気概でいます💪
https://www.wired.com/story/vtube-streaming-twitch-pokimane/
>Anime Avatars Are Going Mainstream
タイトルでわざわざMainstreamって付いてるのすごい。向こうもVの文化で盛り上がってるんだなと思うし、超いい話ですね。
そのほかの話2:
LeapMotionの新しいトラッキングデバイスが出るらしいという話を聞きました!
公式サイトのスペック見てると、明らかに可動範囲に差があるので超楽しみ。
知り合いの開発者がレポしてたのを見たり、公式サイトの対応SDKを見たりしてると現行のLeapMotionとSDKの違いはないので、おそらくLuppetでも動くのではという気がしています!
もう近所まで発送されてるようなので、簡単にレポートすると思うんでお楽しみに!
ちなみにデバイスは29000円くらいでしたが、皆さんの支援金で買いました!どうもありがとう!
何かを作るときは、可能であるなら1人で完結させるのが最強だと思ってます。好きな時間に、自分が思ったとおりに作れるし、自分で責任全部背負えるので何か起きても自分以外に迷惑をかけることはないし…。
もちろん、ちゃんと作るなら人をある程度組織して作る必要がありますが、個人的には最初に個人で小さく作って、ある程度評価されたらガンガン大きくしていくというのが今風な感じがします。
組織でものづくりすると、思いついた機能をパッと入れてみるという機動性はなかなか取りにくいので、小規模なサービスやアプリなら個人が企業に勝てる一面だと思うんですよね。
そういった考えなので、じゃあアイディアを1人で形にしていくとすれば、ある程度クライアントとサーバサイドを作れる様になっておくべきだな~と思っていろいろ勉強してたのがここ5年位です。
そんな中でこれやっておいてよかったな〜というのを列挙しておきました。
学んで便利だった言語
・C#:
ちゃんとロジック立てて中〜大規模なアプリをつくる。UnityでVRアプリ作ったりLuppet作ったり。WPFで簡単なGUIの補助アプリ作ったり。本業でも使うメインウェポンです。
代表作:MikuMikuSoine、VR本屋、Luppetなど
・Golang:
C#が向いてない分野またはC#が必要なほど規模が大きく無いCUIアプリや、ある程度信頼性を担保しながらWeb周りの処理をする時に使う。ライブラリが豊富だし、ある程度カッチリした言語なのが良い。自動化を組むときは主にこれでやっています!
新卒の研修でGolangを2ヶ月くらい学んだのは運が良かったです。
代表作:FavClipper、VR本屋のバックエンドなど
・Node.js:
適当に書いても動くので最短で価値検証したいときや、FirebaseのFunctionsなんかに自分用の関数をパッと立てたい時に使っています。
あとObnizみたいなNode.jsでロジックがかける電子工作キットで遊べたりする!楽しい!
代表作:Luppetのバックエンドなど
・GoogleAppsScript:
JSに似てます。GoogleフォームやらSpreadSheetやらGoogleのAPIを使って、JSONを返すAPI作ったりGoogleフォームの回答をSlackに通知したりする自動化など作っています。
代表作:Luppetのお問い合わせのSlack通知自動化(後述)など
学んで便利だった技術:
・まぁまぁきれいなサイトをすぐに立てる技術:
Wordpressなり、Hugoなり、サイトを作ってFirebase HostingなりGithub.ioなりにシュッと出すみたいなことができると便利です。
自分はあまりWeb技術に明るい方ではないので凝ったことはできません。なのでHugoでサイトのデザインテンプレート持ってきて、あとはコンテンツ入れるだけでそれっぽいサイトを作るということをよくやっています。
Webサービスなんかだとロジックが絡むのでそうはいきませんが、Luppetのドキュメントサイトみたいな静的なサイトならこれで十分な気がしてます。
Webサービスじゃなくてアプリを作る人だからこその戦略ですね。
・データを保存したり取得したりする技術:
Fucntions+DataStore(今ならFunctions for Firebase+FireStore)で、データの格納と引き出すロジックが書けるようになって、自分のできることの幅がかなり広がった感じがします。
LuppetもGCPでFunctionsとDatastoreで動いてます。
最近はFirebaseが相当便利になってきてるので、専らFunctions for Firebase+Node.jsでバックエンド作って、Unityアプリでそれを叩くという組み合わせでものづくりしています。
・自動化技術(+できる限り自動化しようという心)
Luppetをリリースしてみて思ったのが、やっぱり運用コストというものがかかってきます。規模が大きくなってくるとだんだんそういった運用に工数が取られて、新しい機能の開発やらを行う時間がどんどん減っていくんですよね。
なので、できる限り自動化して運用コストをガンガン下げるのはとても大事…。
Luppetを例にとれば
・Googleフォーム経由でお問い合わせが来たら、Googleフォームの回答をSlackに通知する。(要望質問・エラー・法人向け問い合わせの3種でチャンネルを分けています。)
・お問い合わせの情報をもとに、メールの下書きのテンプレートを自動で生成する(※)
・Luppetのライセンス発行をスマホからでもボタン1つで配信できるように、管理ツールを作る。
などをしています。1年半やっててこの3つは本当に役立ったし、時間が増えて精神的な負担が減ったのでかなり良かった施策です。
Slackで通知をすることで、スマホへのプッシュ通知が来るのもまた良いですね。ローコストでハイリターンが得られています。
※メール下書きの自動生成例
(ここまで自動化しておくことで回答に専念できるので精神的な負担が減る。)
突然ですが、去年こんなツイートをしていました。
twitter post: 1185769479763976192
おそらく本業がクソ忙しくてLuppetも山場で精神的に極まってる時期だったかと思うのですが、「こんなに色々頑張ってるのに、投資してくれる石油王はいないし、自分は分身できないから自分が全部やるしかない…」というツイートだったかと思います。
その昔ニコニコ技術部というところにいて「無いものは作る!」という精神が身についているわけですが、そういうわけで石油王と自分の分身を作ることにしました…。
ということで、どうしてもやりたくなってしまったのでLuppetの息抜きプロジェクトとして自動化で不労所得を得るチャレンジを始めてみます!
石油王と分身を作るというコンセプトなので、ルールを作っておきます。
これだけは守るルール:
・ねぎぽよしという名前は使わない。(石油王は自分じゃないので)
・自動化プログラム自体は売らない。(人身売買になっちゃうから)
・基本的にこっそりやる(分身は表に出ない)
・手動で何かするという工数はなるべくかけない(自動化チャレンジの趣旨に反する)。
・悪いことはしない。
ーーーー
で、実は既に始めています。アイディアがパッと浮かんだので口より先に手が動いてしまいました。
とりあえずアイディアの核となる自動化ロジック自体は完成してて、あとはその自動化で得た情報をどういう見せ方で提供していくかというところまで到達することができました。
内容はまだ言えませんが、多くの人が通ったジャンルの自動化なので、最初はインターネットに転がってる知見を拾って王道を通って行けば、小さいながらも収益が上がるかなと見込んでいます。
実際コード書いてみて思ったこととしては、コード自体は難しいことはあまりしなくて簡単なモジュールをいくつか作って組み合わせでいけるアイディア勝負の世界だなと思いました。
組み合わせ自体も、自動化する対象も、アイディア次第でいくらでも応用がありそうということがわかってきたので、一旦自動化のモジュールを小分けして整備しつつ、思いついたらパッと組み合わせて即実行に移す方針で数を増やしていく感じにしようと思います。
まぁここまで偉そうなこと書いてますが、自分も未知の領域ではあるので収益0でしたwなんてことも普通にあるかと思いますw
感覚的には、とりあえず10個くらい作ってどれかが成功したら行けそうな雰囲気を感じてるので最初の10個はそういうものだと割り切っていく感じで…
まぁいろいろ考えたり話すより、難しいこと考えずさっさと始めて様子を見てみようと思います!(何か進捗が出たらFanboxに書いていきます!)
-----
というわけで、今月は以上です!
読んでくださりありがとうございました!