Rust の Stream の基本的な取り回しを理解する

こんにちは、エンジニアの渡辺(@mochi_neko_7)です。 今回は Rust における Stream の基本的な取り回しを紹介します。 Anthropic の Claude API の Rust Client を書いていた際に Streaming API の対応をしていたところ、自身が Rust の Stream をちゃんと…

XR Interaction Toolkitをマウス入力に対応させる

XR Interaction ToolkitはUnity公式が提供するパッケージの一つです。その中には、XR向けのインタラクションを実装する為に必要なコンポーネントが一通り揃っています。 docs.unity3d.com 私が認識している限り、今までのUnityのインタラクション事情は、UI…

Cloudflare Workers + Honoの環境構築からデプロイまでが簡単すぎた

はじめに こんにちは、エンジニアのクロ(@kro96_xr)です。 先日他社のエンジニアの方と話す機会があったのですが、そこでHono(炎)というフレームワークを知りました。 github.com 元々はCloudflare Workersに特化したWebアプリを作るために作られたものとの…

日付ライブラリTempoを触ってみた(date-fnsと比較)

はじめに こんにちは、フロントエンドエンジニアの堀江(@nandemo_3_)です。 先日、JavaScriptの新たな日付ライブラリがTempoがリリースされました。 2023/2/26にv0.0.13がリリースされたばかりです。 tempo.formkit.com リリース3日後でStar数が1700になっ…

Bitbucket PipelinesのWindowsセルフホストランナーを、マシン再起動時に自動的に起動する様に設定する

Bitbucket Pipelinesでセルフホストランナーを構成する場合、デフォルトではPowershellスクリプトを使い、手動で起動する必要があります。 この場合、何らかの事情でマシンを再起動した際に、マシンに接続してランナープログラムを手動で再起動してやる必要…

PEG Parserで.srtと.vttのパーサーを書いてみた話

こんにちは、エンジニアの渡辺(@mochi_neko_7)です。 今回は映像の字幕テキストを扱うためのフォーマットである SubRip Subtitle (.srt) と WebVTT (.vtt) のパーサーを PEG (Parsing Expression Grammar) を用いて Rust で実装してみた話を紹介します。 …

Rust/Actix-webでToDoアプリのAPIを実装してみる

はじめに こんにちは、エンジニアのクロ(@kro96_xr)です。 前回の執筆でRustのWebフレームワークについて調査してみました。 今回の記事では、その中からActix-webとORMツールのDieselを使用して、シンプルなToDoアプリのバックエンドAPIを開発してみました…

Figmaの生成AIプラグインでWebデザインを作ってSTUDIOで公開してみた

はじめに こんにちは、フロントエンドエンジニアの堀江(@nandemo_3_)です。 最近、Figmaに生成AIプラグインが多くあることを知り、デザイン制作からサイト公開まで生成AIにやらせることができるのでは?と思い、 さらに、ノーコードでWebサイトが制作でき…

UnityでOpenPose風のアバタースケルトンを表示するライブラリを作ってみた

はじめに エンジニアの松原です。前回こちらの記事で扱った、UnityでOpenPose風のアバタースケルトンを表示する仕組みを、Unityのライブラリとして開発、公開しました。この記事に実際の使い方を書きました。 synamon.hatenablog.com 今回の記事で使用してい…

Unityの-nographicsオプションの影響について

Unity Editorは、コマンドラインで実行することが可能です。 docs.unity3d.com コマンドライン引数に与えるオプションによって、プロジェクトの作成、ライセンス認証(オンライン認証及びオフライン認証)、テストやビルド、C#スクリプトの実行まで、実に様…

Rust/DioxusでWebフロントエンド入門してみる

こんにちは、エンジニアの渡辺(@mochi_neko_7)です。 先週の記事 synamon.hatenablog.com では Rust の Web バックエンドのフレームワークを紹介してもらいました。 本記事ではそれに続く形で、Rust で使用できる Web フロントエンドのフレームワークで、R…

(2024年1月時点)RustのWebフレームワークの簡単な比較

はじめに こんにちは、エンジニアのクロ(@kro96_xr)です。 エンジニアと言いながら最近コードを書く機会が減っていたので、年末年始にRustにチャレンジしていました。 まだ全然理解しきれていないという自覚はありつつ、今回はRustの主要なWebフレームワーク…

Bunで構築したNext.jsをVercelに一瞬でデプロイしてみた

はじめに こんにちは、フロントエンドエンジニアの堀江(@nandemo_3_)です。 先日、JavaScriptランタイム最新動向という記事を書いたのですが、 synamon.hatenablog.com Bunが非常に興味深く、TypeScript、Next.jsに標準対応しているということで、Vercelに…

UnityでOpenPose風のアバタースケルトンを表示する仕組みを作ってみた

はじめに エンジニアの松原です。近年生成系AI、特にStableDiffusionの仕組みをベースとした生成系AIが目まぐるしい速度で進化しており、2023年の年間を通しても取り沙汰されない日のほうが少ないのでは、と思えるぐらい連日SNSでのニュースで見かけていまし…

ランタイムで読み込んだHumanoidモデルに読み込んだモーションを適用する

こんにちは、エンジニアの渡辺(@mochi_neko_7)です。 今回は Unity でランタイム(アプリケーション実行中)に読み込んだ Humanoid モデルに、同じくランタイムに読み込んだモーションを適用できるようにするまでの流れを解説します。 ユースケースが多く…

生成AIを使ってUnityのカメラアプリを作ってみた

こんにちは。Activ8の岡村です。 最近Activ8社内で生成AIハッカソンが行われたため、それに向けて作った簡単なUnityアプリをせっかくなので紹介します。*1 アプリの内容は、カメラで撮影した画像をAIに見せてプロンプトを生成し、生成したプロンプトで画像生…

リアルタイムお絵描きツール「flowty-realtime-lcm-canvas」を触ってみた

AI

はじめに こんにちは、フロントエンドエンジニアの堀江(@nandemo_3_)です。 社内の生成AIハッカソンのネタを探しているときに、XでLCMを用いたリアルタイムお絵描きツールがいくつかあることを知りました。 その中でも、flowty-realtime-lcm-canvasが非常…

makereal(tldraw)を試してみる

はじめに こんにちは、エンジニアのクロ(@kro96_xr)です。 先日以下のようなポストが流れてきました。 let's go https://t.co/4dHJiLCegg pic.twitter.com/4y9VMiTN0h— tldraw (@tldraw) 2023年11月15日 言葉にするならワイヤーフレームからHTMLを生成できる…

Rustのcandleを使って顔検出を実装してみる

こんにちは、エンジニアの渡辺(@mochi_neko_7)です。 今回は Rust の candle という ML(Machine Learning) フレームワークを使用して、BlazeFace というモデルを用いた顔検出(Face Detection)を趣味開発で実装した話を紹介します。 Rust で ML をやる…

M5Stackを使ってタイムコード生成器を試作する

はじめに エンジニアの松原です。以前紹介したオーディオ・映像機器間の同期方法に関しての取り組み(その1、その2) を記事にしました。 前回記事ではオーディオ信号にLTC信号を送り、マイク入力から受け取ったLTC信号をUnity上でデコード、表示する方法につ…

JavaScriptランタイム最新動向(Node.js vs Deno vs Bun)

こんにちは、フロントエンドエンジニアの堀江(@nandemo_3_)です。 2023年9月にJavaScript RuntimeのBunが、バージョン1.0をリリースしました。 bun.sh JavaScriptランタイムといえばNode.jsですが、DenoやBunとの違いは何か。 自分は恥ずかしながら、最近…

生成AIによるモーション生成技術の概観

こんにちは、エンジニアの渡辺(@mochi_neko_7)です。 昨今の生成系AIの発展のスピードが凄まじいのは言うまでもありませんが、GPT によるテキスト生成、Stable Diffusion による画像生成を発端に様々なデータの生成AIが開発されています。 本記事では 2023…

Building Blocksで始めるMetaQuest3 MRアプリ開発

はじめに こんにちは、エンジニアのクロ(@kro96_xr)です。普段は主にサーバサイドエンジニアを担当しています。 今回は、Building Blocksという機能を使ってサクッとMetaQuest3上で動くMRアプリを開発してみたいと思います。 日本語に翻訳すると「積み木」で…

Elixirのプロセス間の処理を試してみる

はじめに エンジニアの松原です。学習のためにゲーム関連のリアルタイム通信に関していろいろ調べていたところ、大規模なシステムになるほど、複数のプロセスやサーバーに処理を分散させて運用することが多いということが伺えました。 これまで私が触ってき…

【GAS】高度なサービス(Calendar API)を使用してイベントのURLを取得する

Google Apps ScriptのCalendarAppから取得できるCalendarEventオブジェクトには、特定のイベントのURLを直接取得できる関数が用意されていません。特にGASを使ってカレンダーとSlack等を連携させたい時、URLが取得できないのは不便です。 そこでインターネッ…

microCMS+Next.jsで爆速でブログを作る

こんにちは、フロントエンドエンジニアの堀江(@nandemo_3_)です。 今回は特に書くことがないのですが、興味のあったヘッドレスCMSを触ってみたいなと思い、 無料で手軽に使うことができるmicroCMSを使ってブログを作ってみようと思います。 microCMSは無料…

Unity向けの簡易的なVADライブラリの紹介

こんにちは、エンジニアの渡辺(@mochi_neko_7)です。 今回は VAD (Voice Activity Detection、音声区間検出) を Unity で利用するためのライブラリを自作してみたのでこちらを紹介します。 github.com Unity で発話している音声区間を判定したり、その音声…

VTuber向けソフトウェア"Warudo"を試してみた

はじめに こんにちは、エンジニアのクロ(@kro96_xr)です。 先日"Warudo"というVTuber向けソフトウェアを知り、これは凄いと思ったので記事にしてみます。 2023年9月15日現在WarudoはSteamからダウンロードでき、個人利用であれば完全無料で使用で出来ます。 …

Unity Entitiesが正式リリースされたのでマルチプレイチュートリアルを弄ってみる(その2)

前回の記事ではNetCode for Entitiesを触り、シンクライアントの挙動を実装する所までコードを書きました。 前回のプロジェクトに引き続き改造を加えてみます。 ビルドして実行してみる 前回、シンクライアントの挙動を実装しましたが、実際にマルチプレイが…

RustでVectorDBを触りたい?!

こんにちは、エンジニアの渡辺(@mochi_neko_7)です。 今回は Rust で VectorDB を触ってみる話をします。 VectorDB は機械学習の文脈で使われることが多いため Python のサポートをしているものが多い一方で、Rust で直接触れるものが本当に少ないです。 …