noir_neo’s blog

140字より長い文章を投稿するところ

2024年 やりたいこと

気づいたら正月は終わってた (諸説あり) が、書いておく。

ここ2年くらいプライベートはわりと惰性で生きてる感があったなあ…と、ふと思ったので。

hatracker をもっと使ってもらえるようにする

3Dのアバター持ってる人たちに、もっと手軽に手を動かしてほしい。

去年は偶然で使ってくれる人が増えたけど、今年こそは App Store に出せるようにめんどくさい諸々をやる。

ねおりん (インターネットのすがた) を統一する

具体的には、アイコンとアバターを揃えたい。そのまま hatracker のVIにも使えると美味しい。

ありたい姿のイメージがふわっとしてるのでまずはそこから。

人生の進捗を出そうとしてみる

このまま惰性で生きていった場合、10年後くらいに狂ってない自信がない。

一回真面目にやってみて進捗ないならないでそれも成果だな〜と。

おわりに

明日から本気出す。

ねおりん 2023 ハイライト

年末なので振り返っていきましょう。

労働

してる。

(EM直接の成果で公開可能なものないがちなので、出演してる漫画を貼ってお茶を濁す)

推し事

今年は推し運が高かった。

ライブはざっと数えたら9現場くらい行ったっぽいです。 同僚と打ち上げたり、オタクと相席したりとアフターも充実した推し活でした。

趣味開発

hatracker

今年はハンドトラッキングに力を入れつつ、「スマホ一台で手も動いて動画撮影できるアバターアプリ」路線にピボットしました。

2022年の最後のリリースが v0.5.2 で今年の最後のリリースが v0.9.2 なのでマイナーバージョンにして4アップデートしました (パッチも含めるともっとリリースしてる)。

Commit Activity

7月にぷちバズがあって (ありがとうございました) AUのベースラインが上がりました。以降も継続的に使っていただけてるのはありがたい限りです。

hatracker の数字は初公開かも

来年こそは正式リリースしたい気持ちはあります。

hatbor

noir-neo.hatenablog.com

ゲーム

Overwatch 2

目標を達成したので引退しました。

その他 (Steam のやつ)

AC6は楽しかったけど、トロコンや対人をやり込むほどにはハマれなかった。

MGSはみこちと並走しようとして買ったけどどっちにも集中できないので途中で諦めました。

今年一番買ってよかったボトルは『アードベッグ 8年 For Discussion』です。

環境補正ありで一番美味しかった一杯は高尾山で飲んだビールでした。

コーヒー

1月に弟と行った KOFFEE MAMEYA Kakeru のコースで世界が広がりました。

毎日のハンドドリップも、数年やってきた古きよき(?)3投スタイルから変えて最近は5投スタイルを試しています。

DのJ

こういう感じでぼちぼちやってます。

来年こそは社外のパーティーをやりたいな!

人生

進捗はありません。

来年のねおりんにご期待ください。

おわりに

2024年もやっていきましょう。

趣味でまたアバターアプリを作り始めた

この記事は クラスター Advent Calendar 2023 9日目の記事です。

8日目はよしおかさんの「デザインタスクの切り方を変えてみた話」でした。計測・分解・完了条件と抽象化するとデザインもエンジニアリングも共通ですね!

気が付けば入社5周年が過ぎ6年目に突入していたねおりんです。Engineering Manager をやっています。

この記事は業務とは一切関係ない趣味開発の話です。

概要

これです。

github.com

hatracker とは (おさらい)

hatracker は iOS 向けアバターカメラアプリです。iPhone だけで手も動いて、写真と動画が撮れて、VMCプロトコルも送れます。

2020年の終わり頃にベータテストを開始してからまもなく3年ですが、まだベータをやっています。 TestFlight の招待リンクを配布しているので、興味のある方は Discord サーバーに入ってみてください。

discord.gg

自分がほしい機能と、誰かに使ってほしい機能を、気が向いたときに細々と作っています。

hatbor とは 🆕

Windows / mac 向けアバターアプリです。

  • VMC プロトコル受信専用 (hatracker など他アプリと連携して使う想定)
  • VRM 1.0 対応
  • Spout / Syphon 出力 (OBSに背景透過で送れる)

hatracker Windows / mac 版にあった機能を再実装し、とりあえずOSSとして公開した形です。 Ultraleap 対応とかはそのうち気が向いたらやります。UIもそのうち整えます。

ビルドはとりあえず https://github.com/noir-neo/hatbor/releases に置いておきました。

なぜ hatbor を作り始めたか

hatracker の Windows / mac 版を粉砕したくなった

そもそも hatracker の Windows / mac 版は、 iOS 版でトラッキングした姿勢を受け取りレンダリングすることで、低レイテンシー・高画質な映像をOBSなどへ送出するために存在していました。

しかし開発が進み iOS 版の機能を追加していく中で、単一のコードベースで複数プラットフォームに対応するめんどくささが旨味を上回ってきました。 つまり、 Windows / mac 版をメンテしたくなくなってきました。

また、高機能でクオリティの高い Windows 向けアバターアプリが増えてきた中で、別に私が作らなくてもいいな〜と思えてきました。

そこでiOS版にかねてより要望のあったオープンな姿勢送信プロトコルへの対応を行った上で、 Windows 版は粉砕することを考え始めます。

mac 向けアバターアプリの選択肢が少ない

Windows 版はエコシステムにおまかせしようと考え始めたところで、 mac 向けの選択肢が少ないことに気が付きます。 特にVMCプロトコルを受信する mac 向けアバターアプリは、ざっと探した限り1つしか見つけられませんでした。

アバターアプリに求められる機能や振る舞いは人によって様々なので、多様性があること自体が大事だと考えています。 hatracker を作り始めたのも、当時自分が欲しいアバターアプリがなかったからです。

hatracker ユーザーは mac 率が高いこともわかっていたので、これは無視できません。

しかしいまのコードベースでメンテもしたくない。ということで、別アプリとして hatracker の機能を移植することを決めます。

実装の話

使ってみたかったライブラリを一通り使いつつ、ほぼすべてを書き直しました。単に移植するのは面白くないので。

  • URP
  • VRM 1.0
  • VContainer
  • UI Toolkit
  • Input System

また CI は Github Actions にしました。(hatracker は Unity Build Automation)

誰かがアバターアプリを作り始めるときの一助になれば…という気持ちもあったのでOSSにしました。あとは社内の hatracker ユーザーにPR投げてもらおw という魂胆もあります。

というわけでせっかくOSSにしたので、現時点でのコードの見どころも紹介していきます。

1. 動的な設定UIの構築

やりたかったこと: 設定項目の追加をめちゃめちゃ簡単にしたい

ので、 attribute をつけDI container に bind したらUIが勝手に構築されるようにしました。

そのうち runtime ではなく editor で構築するようにしたいです。

2. UniVRM 1.0 で目を独自に制御

やりたかったこと: VMCプロトコルのうち LookAt ではなく Bone ないしは Blendshape を使いたい

のだけれど、 Vrm10 の LookAt が強すぎて上書きされてしまう。 そこで、内部コードに手…は入れずに、 reflection でなんとかしました。

3. mac build の workflow

やりたかったこと: github actions で Unity の mac build をして「pkg にして pkg にして dmg にして notarize」をしたい

意外と完全なコードはインターネット上に見つけられなくてちょっと苦労しました。

Unity ビルドまでは linux インスタンスでいいので、破産しそうになったら節約するやつをやろうと思います。

おわりに

気が向いたときにぼちぼち更新していきます。PRもお待ちしております。

明日はKAKOさんの クラスター社で1年と少し働いてみて。 - Kakoのいろいろやったこと記 です。

ゲームリプレイ 2022

今年は、例年に比べてだいぶゲームしたので振り返っておきます。

ARK

始めたきっかけは、ホロライブの配信です。これまでは配信で見て満足していましたが、ちゃんと自分でプレイしてみようというモチベーションが生まれたので社内で雑談の話題に上げたところ、同僚がサーバーを立ててくれました。マップは Lost Island と Fjord で遊びました。ワイバーンチャレンジと交配をずっとやっていた気がします。私はいわゆる作業ゲーは苦手だと思っていましたが、意外とハマれるということに気づいてしまいました。プレイ時間は539.7時間だったようです。

Rust

始めたきっかけは、ホロライブの配信です。同僚がサーバを立ててくれて遊んでいました。ヘリの操縦が上手くなりたくて練習用サーバーにも籠もりました。無事 CargoShip に着陸できるくらいには上達しました。私は物理シミュレーションみたいなのを無限にやってしまうのは知っていましたが、訓練を繰り返して上達していく面白さを久しぶりに感じました。プレイ時間は207.5時間だったようです。

Minecraft

配信では無限に見ていましたが、実は自分で触ったことはありませんでした。同僚がサーバーを立ててくれたのを機に少し触ってみました。ダイヤ装備一式とエンチャントを少し、くらいまでやったところで後述のタイトルに時間を奪われてしまったので、来年落ち着いたらまた再開したいです。エリトラを手に入れるくらいまでは一通りプレイしておきたい気持ちはあります。

Overwatch 2

無印の最初の方にCSでやっていた以来の復帰です。主に会社の同僚と夜な夜なやっていました。ランクはそんなにやってないですが、強く、なりてえ…! という気持ちがあってコーチング動画を見て勉強したり、(ゲームするときは) トラックボールをやめたりしました。プレイしていて、私はやはりチームゲーが好きなんだと改めて感じます。パーティーであれ野良であれ、うまいこと連携できたときに最も喜びを感じます。

トラックボール派になって数年、リモートになってさらにマウスを使う機会がなくなって久しいのですが、 ARK, Rust に引き続き当たり前に Overwatchトラックボールでプレイしていました。ふとしたことからバレてあまりに驚かれたので、さすがに適当な Logicool のゲーミングマウスを買いました。はじめはエイム以前にUI操作すらおぼつかなかったのですが、8時間くらい使ってみたら完全に良くなりました。来年はエイムを強くする訓練をちゃんとしてみるのもいいなあと思っているところです。

ポケットモンスター スカーレット

始めたきっかけは、ホロライブの配信です。色違いホゲータ孵化厳選を推しと並走したりしました。ここ10年くらいのポケモンは、新作は買いはするもののバッジ2~3個くらいで飽きてしまっていたのですが、今作はちょっとずつ進められています。まもなく終盤という感じで、ストーリークリアまでは一通りやりたいです。

おわりに

今年は意識してリミッターを外して input に寄せてみたところ、たくさんゲームを楽しめました。これだけ血肉になるほど (オンライン) ゲームを遊んだのは、 ACVD 以来かもしれません。来年はAC6も発表されていて非常に楽しみですね。

ねおりん 2021 ハイライト

この記事は ねおりん Advent Calendar 2020 396日目の記事です。

Shanon さん、記事まだですか?

労働

してる。

note.com

趣味開発

hatracker はちょいちょいやってる。

f:id:noir_neo:20211231165125p:plain

自分で使う分にはまあまあなところまで出来てからは、気になったところをたまに直すみたいな感じ。

何人か継続して使ってくれている人がいるのはうれしいですね。来年はとりあえずリリースできてるといいな。

f:id:noir_neo:20211231170723p:plain
これは Slack に晒された眠そうなねおりんちゃん

(この記事を書く思い出しのために https://twitter.com/noir_neo/media を遡ってみたら、今年の前半はほぼねおりんちゃんの自撮り、後半はほぼビールでした)

ゲームジャム

ClusterGAMEJAM 今年も参加できてよかった。楽しかった。

(4月くらいにもゲームジャムみたいな作り方をしたコンテンツがなにかあった気がするけど、おそらく気のせいでしょう…)

オタク

オンラインイベントもリアルイベントもなんやかんやで充実していた。

somunia さんを ageHa のアリーナ最前エリアで浴びれたのはとにかくよかった。

nine の完結を見届けられてよかった。

円盤は買って積むことが多くなった。 これがオタクの高齢化か…とつらい気持ちになる。でも推しが幸せならOKです👌

DのJ

ちょいちょい配信をしてた。

最近ちょっとだけ人前でデカイ音出してプレイする機会があって最高だった。 来年は箱借りてデカイ音を出していきたい。

人生

進捗はありません。

もはや学生のころに何をツイートしてたかわからなくて怖すぎるので、昔のツイートを全部消しました。

これからもていねいなインターネットせいかつを励行しましょう。

おわりに

来年もやっていきましょう。

ねおりんロードマップ 2021

この記事は ねおりん Advent Calendar 2020 25日目の記事です。

昨日はMμLT1:まるちさんの 「とりあえず消費する側」から「ないなら作る側」になったお話。でした。いい話でしたね。

今年もみんななんかいい感じにやっとるな、というのがわかっていいアドベントカレンダーでした。ありがとうございました。

Shanon さん、記事まだですか?

来年どうしようね

恒例なので来年のことを書いたりしようと思っていたのですが、仕事以外にやりたいことがあんまりないので困ったなーとなっています。とりあえずひねり出していってみます。

引っ越し

とりあえず今の部屋を更新するモチベーションはほとんどないので、 2022/1 までには引っ越そうと思います。まあたぶんギリギリになるんだろうな。応援しててください。

hatracker

ARKit で face tracking して Leap Motion で hand tracking していい感じにアバターでビデオミーティングに参加するやつです。同じようなのは世の中にいくらかあるけど、どれも私の要件を完全には満たさないため。

リモートビデオミーティングがなくなることはおそらくないので、引き続き開発していくはずです。ちゃんとリリースもできるといいですね。応援しててください。

ARアバターDJ配信

アバターを動かすことより前からキャラクターのAR的な表現が好きで、自分が何かパフォーマンスするとしたらDJかなあと思うのと、トラッキングやリターゲティングにほどよい課題があり面白そうなので、なんかそういうシステムを組んでtwitch配信とかしていってみよかなと思っています(権利云々に関しては少し考え方が変わりました)。

自分で動くのもいいけど本当は勝手に動いてるところを見たいんですが、結局自分で使うものじゃないと開発続かんし、適当に作ってたら誰かが勝手に使ってくれるってこともないんだよなーというところでまあなんかやっていけたらいいかなって感じです。応援しててください。

ゲームっぽいやつ

やっぱコンテンツ作るのも楽しいんだよなあ。

どんくらい真面目にやるかはわからんけど、まあなんかは作ってると思います。

最近思ったのは、やっぱり私ローグライクが好きかもしれないというやつなので、作るとしたらなんかそういうのかもしれない。

あるいは某まんじゅう(に絡めたARG識者のツイート)とかを見てて TINAG (This Is Not A Game) 的な何かにもう一回本気で取り組んでみたい気持ちも湧いてきたので、そういうやつをまた考えるかもしれない。

人生

人生のことをそろそろ真面目に考えた方がいいのか、このまま仕事して uber eats 食べて寝て起きて仕事して週末は酒飲んだり美少女ゲームで人生をやったりするだけの生活をまだ続けていてもいいのかについては意思決定をしておきたいですね。選択と集中は大事なため。

おわりに

書き出してみると思ったよりは仕事以外にもやりたいことがあってよかったです。

来年もいい感じにやっていきましょう。

cluster のワールド『サボテンハウス』を作りました

f:id:noir_neo:20201221212824j:plain

ClusterGAMEJAM2020 in WINTER に3人のチームで参加し、48時間でワールドを作りました。

チーム

いつものざわに加えて、ナナメさんをゲストに迎えて3人のチーム『鳥と眼鏡とまうはまうまう』として制作しました。

ナナメさんのコンセプトアートをざわが3Dに起こし、私がインタラクションを組むという分担です。

作ったワールド

サボテンに光を浴びせたり水や肥料をあげて育てていくシミュレーションゲームです。

cluster.mu

成長しきると花が咲きます。育て方のコツは「サボテン 水やり」で検索すると載っています。

企画

コアとなる体験の素はかなり良さそうに育ってきたところで、もうひと跳ねできないかとか、ちゃんとゲームとして成立させられないかを考えていたのですが、仕様の最小化のために本当に素のままの方向で進めました。 実際出来上がったものを見ても、実現したかった体験をミニマムに表現した素敵ワールドができたので、ひとつ良い成功体験になりました。ここには、"ゲーム"である前にVRワールドなんだから別にそのままでも良いんだなあ、という学びがあります。

(めちゃくちゃ正直に言うとこのツイート時点(企画を決めて寝る前)では自分への言い聞かせが40%くらい含まれていましたが、出来上がったものを見たあとからはガチでこれだったと思っています)

アート

絵を描ける人が一人いるとチームが200%バリューを発揮できることがわかりつつあったので、知り合いをいろいろ思い浮かべて、自分たちだけでは絶対に作れないものが作れそうと思ったのでナナメさんにお願いしました。あとナナメさんの絵が好きなので。ゲームジャムを言い訳に一緒にゲームを作りたかった人に声かけるシリーズ、最高です。忙しいところありがとうございました。

実際自分たちの引き出しには無いものが出来たと思うし、制作中に湧いてくる追加のアイデアが開けて良い引き出しだったかどうか一瞬考えるっていうのが面白かったです。せっかくの良いコンセプトを台無しにしたくなかったので。突然EDMがかかってサボテンが踊りだすとか絶対にダメなので。

ざわはマジで成長してて偉いと思った。少なくとも static なものには私が一切手を入れていないので最高の協業体制でした。 こんなに Unity 作業任せられるならワークフローもうちょっとちゃんと構築しておけばよかったなとは思いました。

コンセプトアートがあると目指すものがぶれないし、それをちゃんと形にする力も付いていたのはマジでいい話でした。 細かい話としては、配信画面にコンセプトアートを表示して常に目に入るようにしたことでまっすぐそこを目指せたのが良かったと思います。

インタラクション

特筆すべきは、音にいつもより多くの時間を割けたことで全体的な体験を向上できたのがよかったです。 「正しい行動には全部音をつける」という基本方針がほぼほぼ実現できたと思います。

あとは Creator Kit を純粋に使って、良いところも改善したいところも改めて認識しました。

諦めた仕様がゲームバランス的には結構重要そうだったのでアップデートしていきます。

配信

今回も全編 twitch で配信しながらやっていたのですが、いろんな人が見に来てコメントしてくれて楽しかったです。

しばらくアーカイブが見られると思います。 www.twitch.tv

おわりに

なんか純粋に楽しんでしまったゲームジャムでした。良いワールドができました。

これだから人とモノ作るのはやめられないんだよなあ〜 (って思うし、同じような体験をした人を増やせていたらうれしいし、増やしていきたいですね)