2023-01-01から1年間の記事一覧

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 で直接触れるものが本当に少ないです。 …

React 18の新機能によるパフォーマンス改善について実際に動かして確かめる

こんにちは、フロントエンドエンジニアの堀江(@nandemo_3_)です。 ちょっと前の記事になりますが、Vercelより「How React 18 Improves Application Performance」という記事の投稿がありました。 vercel.com React 18で導入された最新機能が、アプリケーシ…

librgを使って仮想空間上にいる他の人を検索してみる

はじめに エンジニアの松原です。最近リアルタイムネットワークに関連するフレームワークやプロトコルについて調べていますが、リアルタイム通信に関連してオンラインゲームの仕組みを調べることもあります。今回の記事はオンラインゲームに関連した調査の中…

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

Unity 2022 LTSのリリースにあわせて、長らく開発中だったECSがEntitiesパッケージとしてついに正式リリースされました。 正式版のEntitiesに対応したNetCode for Entitiesもあわせてリリースされており、今回はそちらが本題です。 公開されているチュートリ…

Public IP InsightsでIPv4の使用状況を確認してみる

こんにちは、エンジニアのクロ(@kro96_xr)です。 今回はAWSから先日発表されたIPv4への課金に関して、同時に公開されたPublic IP Insightsを使ってコスト試算する手順を試してみました。 N番煎じ感が否めませんがよろしくお願いします。 はじめに 先日AWSか…

Unityでもgrpc-dotnetを使ったgRPCがしたい

こんにちは、エンジニアの渡辺(@mochi_neko_7)です。 今回は grpc-dotnet のライブラリを使って Unity を gRPC のクライアントとして利用する話を紹介します。 Unity で gRPC を使うにはいくつか選択肢がありますが、今回はサポートの切れている Grpc.Core…

AWS Lambda Web AdapterでServerless Next.jsを実現する

こんにちは、フロントエンドエンジニアの堀江(@nandemo_3_)です。 2023年6月22、23日にAWS Dev Day 2023が開催されましたが、 「モダンフロントエンド デザインパターン〜優れたUXを実現するには〜」というフロントエンドの最新動向に関するセッションがあ…

LTレポ「SentenceBERTを使って「草」や動画チャットのコメントの特徴を追ってみた」

広報の熊谷(@spirea_xxx)です! 2023年5月をもってSynamonとActiv8は経営統合をしたのですが、統合後の社内イベント第一弾として5月2日に「生成系AI活用について」をテーマに社内ハッカソンを開催しました! 会場はSynamonオフィス、オンラインでも参加がで…

NetMQ(ZeroMQ)を触ってみる

はじめに エンジニアの松原です。前回の記事( RabbitMQを使って開発言語の異なるアプリケーション間のメッセージ処理を試す ) に引き続き、ZeroMQについて取り上げたいと思います。 synamon.hatenablog.com ZeroMQの設計パターンについて 前回の記事で紹介し…

Github ActionsとSlackとLambdaを連携して社内向け署名付きURLを生成する

こんにちは、エンジニアのクロ(@kro96_xr)です。 今回はタイトルの構成で署名付きURLを生成する仕組みを作ってみました。 はじめに ことの発端は「GithubActionsでビルドした成果物を社内メンバーがダウンロードできるようにしたい」という要望です。 素直に…

子オブジェクトが目的の姿勢に一致するように親オブジェクトを動かす

エンジニアの岡村です。 xR系のプロダクトやらプロトタイプやらを作っていると、タイトルの様な事をしたいなと思う事がたまにあります。 その時々にコードを適当に書いては「あれ?動かないな?」となる事が多かったので備忘録を残しておくことにしました。

Unity公式のLoggingパッケージが使い勝手が良さそう

こんにちは、エンジニアの渡辺(@mochi_neko_7)です。 先日Unity 2022 LTSがリリースされたので触っていたのですが、ふとPackageをチェックしていたところ、 Unity公式のLoggingパッケージが存在することに初めて気が付きました。 しかもドキュメントやAPI…

Next.js(TypeScript) + react-three-fiberでVRMを表示する

こんにちは、フロントエンドエンジニアの堀江(@nandemo_3_)です。 前回、Babylon.jsを使って簡単に、Web上に3Dモデルを描画しました。 synamon.hatenablog.com 元々は、Web上でVRMを描画したかったので、今回はそちらにチャレンジしていきたいと思います。…