Synamon’s Engineer blog

Synamonはリアルとデジタルの融合を加速させるため、メタバース領域で法人向けにサービス提供を行うテックカンパニーです。現在開発を進めている「メタバース総合プラットフォーム」をはじめ、メタバース市場の発展に向けた事業展開を行っています。このブログでは、メタバース技術とその周辺の技術、開発全般に関してエンジニアがお話しします。

URPで丸影を真下に落とす方法の検討

はじめに Shader好きなエンジニアのおうどん(@oudon)です。 キャラクターの影を軽量化するため丸影にしつつ真下に落とす、かつ数も多く表示したい という要件でShadowMap拡張とDecalの2パターンほど試してみました。 ShadowMapをそのまま利用できないか 軽量…

NetworkedProperty(に相当する機能)のすゝめ

エンジニアの岡村です。 Unityでネットワークマルチプレイを行うアプリケーションを開発する場合、ある程度以上の規模があるのならば、その実装にはネットワークライブラリを利用するのが一般的かと思います。 その際に使われるライブラリにもいろいろな製品…

Unityで画像データをいい感じにロードしたい

こんにちは、エンジニアリングマネージャーの渡辺(@mochi_neko_7)です。 今回はUnityでの画像データのロード方法に関する記事になります。 たかが画像データですが、意外とまだ王道の取り回しが確立されていない印象です。 最近また画像のロード周りを触る…

NestJS+Svelteを使って簡単なSSRを試してみた

はじめに エンジニアの松原です。普段の業務ではバックエンド開発業務が多く、たまにはフロントエンドのこともしたいと思いつつ、新しいWebフレームワークにも触れたいと考えたため、 バックエンドとしてRails風にMVCベースの設計を持っているNestJS(厳密に…

NFTなんもわからんのでとりあえず試してみた〜スマートコントラクト実装とERC721対応〜

こんばんは、エンジニアの黒岩(@kro96_xr)です。 バックエンドを中心にフロントエンドやらインフラやら色々担当しています。 突然ですが、最近NFTやらWeb3やら良くも悪くも盛り上がっていますね。 個人的に色々思うところはありつつ、技術としてはキャッチア…

SQSとLambdaでGoで書いたワーカーを動かす

ごあいさつ エンジニアのうぃすきー(@Whisky_shusuky)と申します。弊社ではインフラ・バックエンド・フロントエンドとWeb周りを全般的に対応しております。 今回はワーカーの実装について記載しようと思います。 元々Railsメインでバックエンドの開発を行う…

Unity上で外部デバイスとの同期処理を行うための考察(タイムコード読み取り編)

はじめに エンジニアの松原です。Unityと外部デバイスの間で同期処理を取ろうとするとき、単純に時間のタイミングだけ測って同期を取ろうとしても、デバイス内部で利用しているクロックジェネレータの仕様によって、時間が経つほどズレが大きくなってくるこ…

InputCompositeBindingのTouchscreenでの応用例の紹介

こんにちは、エンジニアリングマネージャーの渡辺(@mochi_neko_7)です。 前回、Unityの(New) Input Systemでデバイス入力をカスタマイズできるInputCompositeBindingを紹介しました。 synamon.hatenablog.com こちらの記事ではInputCompositeBindingをそも…

AWSを使ったクラウドUnityビルド環境の構築~GitHub Actions構築編~

エンジニアの岡村です。この記事は以前掲載した『AWSを使ったクラウドUnityビルド環境の構築~ビルドサーバー構築編~』の続編であり、シリーズの3記事目です。 synamon.hatenablog.com synamon.hatenablog.com また、インフラメンバーの黒岩さんに書いてい…

Unity上で外部デバイスとの同期処理を行うための考察(デバイスセットアップ編)

はじめに エンジニアの松原です。ゲームや業務用アプリケーション開発以外にもライブ配信システムにUnityを利用するケースがあります。以前実験調査の際に、デバイス間での時間同期を取る方法が課題に挙がりました。 デバイス間の同期ズレをできる限り無くし…

スケーラブルなSelf-hosted Runnerを立ち上げるために"terraform-aws-github-runner"を使ってみた

こんばんは、サーバサイドエンジニアの黒岩(@kro96_xr)です。 今回は先週の記事で触れられていたterraform-aws-github-runnerの環境構築を行ったときの作業内容を書いていきたいと思います。 先週の記事はこちら synamon.hatenablog.com 構成図 先週の記事に…

AWSを使ったクラウドUnityビルド環境の構築~ビルドサーバー構築編~

エンジニアの岡村です。この記事は以前掲載した『AWSを使ったクラウドUnityビルド環境の構築~ライセンスサーバー構築編~』の続編であり、シリーズの2記事目です。 synamon.hatenablog.com 前回の記事ではEC2を使ってライセンスサーバーを作成したので、そ…

Unityの(New)InputSystemでBindingを好きにカスタマイズできるCompositeBindingsの紹介

はじめに こんにちは、エンジニアリングマネージャーの渡辺(@mochi_neko_7)です。 少し前まではマネジメントや採用を中心にやっていましたが、最近はUnityの開発をメインにやるようになりました。 今開発しているプロジェクトでは、Unityの新しいInputSyst…

AWSを使ったクラウドUnityビルド環境の構築~ライセンスサーバー構築編~

エンジニアの岡村です。 最近まで、弊社でのUnityを使ったクライアント開発では、社内の物理サーバーに立てたgitとJenkinsを使ってバージョン管理及びCIを行っていました。GitHubは主にサーバー開発に使われており、Unityのコードは検証用のような小さなもの…

Photon Realtimeのネットワーク上でNetcode for GameObjectsで作ったアプリケーションを利用してみる

はじめに エンジニアの松原です。最近はメタバース関連の話題をあらゆる媒体で見るようになりましたが、開発者目線ではメタバースでのインフラ部分で利用されているリアルタイムネットワークのクライアントやサーバーの設計が気になるところです。 プレイヤ…

エンジニアリングマネージャー目線で見るライブラリ技術選定の勘所

実務経験の浅い若手エンジニアさんや技術選定に苦労している開発チームの方々へ、ひとつの指標としてご参考いただければ幸いです。

HoloLens2をさわってみた [第4回_AzureSpatialAnchorsを使った空間同期]

はじめに こんにちは、エンジニアの伊藤(@kazuyaplus)です。 前回はWindowsDevicePortal を使い2台目のホロレンズに、自作アプリをインストールする方法を紹介しました。 第4回ではAzureSpatialAnchorsを使い、2台のホロレンズで同じオブジェクトを同じ場所…

HoloLens2をさわってみた [第3回_Wi-Fiを使ってアプリをインストール]

はじめに こんにちは、エンジニアの伊藤(@kazuyaplus)です。 前回はPUN2を使い、キューブなどをUnityとホロレンズで同期できるようにしました。 第3回ではWindowsDevicePortalを使い、自作のアプリをもう1台のホロレンズにインストールする方法を紹介してい…

HoloLens2をさわってみた [第2回_他の人と使えるHololens2アプリをつくる]

はじめに こんにちは、エンジニアの伊藤(@kazuyaplus)です。 前回はMRTKを使い、キューブを動かしたり回したりできるようにしました。 第2回ではPUN2を使い、UnityエディタとHololens2でキューブの動きを共有する方法を紹介していきたいと思います。 第1回 :…

HoloLens2をさわってみた [第1回_ひとりで使えるHololens2アプリをつくる]

はじめに こんにちは、エンジニアの伊藤(@kazuyaplus)です。 Hololens2すごい!Hololens2を使って一緒にいる人たちと同じARを共有して、物を動かしたりしたい! そう思ってHololens2で基本的なアプリをビルドしてみました。 この記事ではHololens2で基本的な…

【イベントレポート】SIer・業務系エンジニアのXRスタートアップ転職を語る会

こんにちは、エンジニアのクロックスこと黒岩(@kro96_xr)です。 今回は先日行われたSIer・業務系エンジニアのXRスタートアップ転職を語る会のイベントレポートをお届けします。 ▼アーカイブはこちら▼ www.youtube.com イベント概要 本イベントはSynamon社内…

WindowとAndroidでNiantic LightshipのARDK Example Scenesをビルドする

WindowとAndroidでの組み合わせでNiantic light ship ARDKのサンプルシーンをビルドする為の手順を纏めます。 詳しくは公式のガイドを見て頂くのが良いかと思いますが、クイックスタートとして使えるメモ書きがあると便利だなと思い書くことにしました。 ビ…

GUIにおける状態管理の考え方について

はじめに エンジニアの松原です。業務以前に個人開発でUnityを触っていたのですが、まずはサードパーティ製ライブラリを取り込んでから開発がスタートするのが多かったと思います。(分かりやすい例として、Oculus IntegrationやUltraleap Plugin For Unityを…

Apple Watch(+α)のxR開発で使う座標系を調べた

エンジニアの岡村です。 先月、Synamon初のアドベントカレンダー企画を行いました(無事完走!)。その中で自分は仕事で触っていない技術へのチャレンジを行い、ほぼ初めてのSwiftとApple系デバイスを使った開発を行いました。 synamon.hatenablog.com 自分…

Unity2021でVRテンプレートを使ってOculusQuest2の開発環境を構築してみる

こんにちは、Synamon のエンジニアリングマネージャーの渡辺(@mochi_neko_7)です。 自分はエンジニアではあるのですが、肩書きにもあるようにここ1~2年くらいは開発以外の仕事(EM、採用)をすることがほとんどで、実は最近のバージョンのUnityを触れてい…

Synamon Advent Calendar 2021完走しました!

Synamon Advent Calendar 2021、見事完走!2022年もSynamon’s Engineer blogをよろしくお願いいたします!

UnityのTimelineを利用してGUIのトランジション効果を作ってみる

UnityのTimelineを使って画面遷移のアニメーションをコントロールする方法について記事に書いてみました

Addressable Asset System入門

最新環境(Unity2021.2)でのAddressablesシステムの紹介記事です。Addressablesの基本的な利用方法がわかります。

3Dモデリング未経験のエンジニアがBlender入門してみた

3Dモデリング未経験のエンジニアリングマネージャーが、Blender入門してみた記録です。

Netcode for GameObjectsでMobをスポーンさせる

Synamon Advent Calendar 2021の18日目の記事として、Netcode for GameObjectを利用してPlayerを追跡するMobをマルチプレイヤーで実現する方法についてまとめました。